Auto ID Methods

Introduction

The LogicApp provides a convenient mechanism for scripts to access an, auto-generated identifier, e.g. for the purpose of generating unique session or call identifiers.

Before use, the Auto ID must be configured within the Logic Application’s <application> block, e.g.

    <application name="Test-Logic" module="LogicApp">
        <include>
            <lib>../apps/logic/lib</lib>
        </include>
        <parameters>
            ...
        </parameters>
        <config>
            <auto_ids>
              <auto_id key="call_id" length="10" charset="alphanum"/>
            </auto_ids>
            ...
        </config>
    </application>

Refer to the LogicApp configuration.

These methods are accessed via the “n2.n2svcd” module:

    local n2svcd = require "n2.n2svcd"

.auto_id [Synchronous]

The auto_id method requests a new value from the automatic ID generator.

These method argument list is:

Parameter Type Description
key String The key configured for the ID.

Example:

    local call_id = n2svcd.auto_id ('call_id')

The auto_id method returns the string value of the automatically generated ID.

In the case where multiple instances of the LogicApp are being executed (e.g. with the <application repeat= attribute) it is unlikely but theoretically possible that the same automatic ID may be generated for both instances for autoinc IDs.

To ensure absolute uniqueness when running multiple LogicApp instances, you may wish to consider incorporating a prefix to the ID such as the APPLICATION_PID or APPLICATION_IDX global Lua variables which are guaranteed to be unique between applications.