Identifiers

The identifiers action retrieves a list of items that are present in the repository. Different types of repository store items in different types of hierarchy. For example, file systems have folders and files, but an e-mail system might have mailboxes and messages.

The connector looks for child items of each identifier that you pass into the action. A FlowFile is routed to the "Identifiers Output" relationship for each child item that is found, and information is also returned in the action response.

This action can be used by front end applications for providing an interface to browse a repository. You can use the identifiers that are returned by this action in other connector actions that require you to provide identifiers.

Type: asynchronous

Parameter Description Required
ConnectorGroup

The name of the connector group to send the request to. This must match the name you specified when you configured the ConnectorGroupRouter processor in your dataflow.

Yes
Documents

XML that specifies where to start looking in the data repository.

<documents custom_attribute1="...">
    <document custom_attribute2="...">
        <CONNECTOR_GROUP>FileSystem</CONNECTOR_GROUP>
        <AUTN_IDENTIFIER>BASE64</AUTN_IDENTIFIER>
    </document>
    ...
</documents>

The CONNECTOR_GROUP element specifies the name of the connector group to send the request to. This overrides the value of the ConnectorGroup action parameter for a specific document. If you specify the connector group for every document, you no longer need to set the action parameter. If present in the XML, the CONNECTOR_GROUP element must be the first element within the document element.

The AUTN_IDENTIFIER element specifies an IDOL document identifier.

In NiFi Ingest, actions are represented by FlowFiles. You can specify custom attributes on the documents element (for all documents) or on a document element (for a single document). These are added to FlowFiles that represent actions, as FlowFile attributes. The FlowFile attributes are named idol.doc.name, for example idol.doc.custom_attribute1.

Set this or Identifiers
Identifiers A comma-separated list of document identifiers to specify where to start looking in the data repository. You can also specify the special value ROOT, to start looking in the root of the repository. Set this or Documents
Custom parameters

Any other parameters that you set are added to the FlowFile, created by the HandleAciRequest processor, that represents the action. When a connector processes the action, it adds the parameters to any FlowFiles that it generates.

The parameters are added as FlowFile attributes named idol.aci.param.name, where name is the name of the parameter that you set.

FlowFile attributes can be referenced by processor properties that support expression language, and can be read by Lua scripts. You can therefore set custom parameters to customize processing within NiFi.

The maximum size for a custom parameter value is 4KB.

No

Example

http://host:10000/action=Identifiers
                         &ConnectorGroup=FileSystem
                         &Identifiers=root

Response

This is an asynchronous action, so you receive a token in response to the request. You can use the QueueInfo action to see the result of the action.

The following is an example response from the QueueInfo action.

<autnresponse>
    <action>QUEUEINFO</action>
    <response>SUCCESS</response>
        <responsedata>
        <actions>
            <action>
                <status>Finished</status>
                <queued_time>2019-Sep-23 12:25:48</queued_time>
                <time_in_queue>0</time_in_queue>
                <process_start_time>2019-Sep-23 12:25:48</process_start_time>
                <time_processing>0</time_processing>
                <process_end_time>2019-Sep-23 12:25:48</process_end_time>
                <identifiers parent_identifier="identifier0">
                    <identifier attributes="document" name="file.txt" type="File">identifier1</identifier>
                    <identifier attributes="document" name="archive.zip" type="File">identifier2</identifier>
                    <identifier attributes="document" name="document.docx" type="File">identifier3</identifier>
                    <identifier attributes="document" name="text.txt" type="File">identifier4</identifier>
                    <identifier attributes="container" name="folder" type="Directory">identifier5</identifier>
                </identifiers>
                <token>...</token>
            </action>
        </actions>
    </responsedata>
</autnresponse>

In the response, there is an <identifiers parent_identifier="..."> element for each of the identifiers that you passed into the action. These contain <identifier ...> elements for items that are direct descendants of the parent item.

An <identifier ...> element can provide the following attributes:

  • attributes - contains a comma-separated list of attributes for the item.

    • If an item has the container attribute it is an item that can contain other items. To retrieve the identifiers of the child items, run the action again using the identifier of the container as the value of the Documents action parameter.
    • If an item has the document attribute it is a file or has metadata that can be ingested.
  • name - a display name for the item (if one is available).
  • type - the type of item that the identifier represents.