Table of Contents

Search

  1. Preface
  2. Informatica Intelligent Cloud Services REST API
  3. Platform REST API version 2 resources
  4. Platform REST API version 3 resources
  5. Data Integration REST API
  6. Mass Ingestion Files REST API
  7. Mass Ingestion Streaming REST API
  8. Model Serve REST API
  9. RunAJob utility
  10. ParamSetCli utility
  11. REST API codes
  12. REST API resource quick references

REST API Reference

REST API Reference

Create a file ingestion task

Create a file ingestion task

Use a POST request to create a file ingestion task.

POST request

To create a
file ingestion
task through the API, use the following URI:
mftsaas/api/v1/mitasks
Include the following fields in the request:
Field
Type
Required
Description
name
String
Yes
Name of the task.
location
String
-
Location of the project.
projectId
String
-
ID number associated with the project.
projectName
String
-
Name of the project.
description
String
-
Description of the task.
sourceConnection
String
-
Directory from where files are transferred.
sourceType
String
Yes
Determines the type where files are transferred. Enter one of the following options:
  • CONNECTION
    . Use connection as a source.
  • FILELISTENER
    . Use file listener as a source.
includesubfolder
String
-
Determines whether to include the files in sub-folders in the transfer. Set the value to
true
to transfer files from all sub-folders under the defined source directory. Values are
true
or
false
.
checkDuplicate
String
-
Determines whether to check for duplicate files. Values are
true
or
false
. Set the value to
true
to check duplicate files and deny file transfer. If the value is set to
false
all files are transferred.
filePickupOption
String
Yes
Determines the file pickup method. Enter one of the following options:
  • FILELIST
    . The file ingestion task picks up files based on a file list.
  • PATTERN
    . The file ingestion task picks up files by pattern.
allowConcurrency
String
-
Determines whether to run multiple jobs concurrently. Set the value to
true
to run multiple jobs concurrently, else set the value to
false
.
Running concurrent jobs might cause unexpected results if the targets include duplicate files.
filePatternType
String
Yes
This applies when filePickupOption is PATTERN.
File pattern type used to select files to transfer. Enter one of the following options:
  • wildcard
  • regex
filePattern
String
Yes
Enter file pattern types, depending on the file pattern that you have selected.
  • wildcard. You can use the following wildcard character filters:
    • An asterisk (*) matches any number of characters.
    • A question mark (?) matches a single character.
  • regex. Use regular expression to match the file pattern. Consider the following examples:
    • Use the following syntax to listen to all files except for files with a name that contains out, foo, and baz:
      ^(?!.*(?:out|baz|foo)).*$ all except
    • Use the following syntax to listen to all files with doc, docx, and pdf extensions:
      ([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$
filepickupByName
String
Yes
This applies when filePickupOption is FILELIST. Enter one of the following options:
  • filepath
    . Provide the path that contains the list of files to pick up and enter the file path.
  • listoffiles
    . Provide the list of files to pick up and enter a comma-separated list of file names. Ensure there is no space before or after specifying the file name.
fileStability
Boolean
-
Determines if the task verifies whether the file is stable before picking it up. Enter one of the following values.
  • true.
    The file ingestion task verifies whether the file is stable before picking it up.
  • false.
    The file ingestion task does not verify whether the file is stable before picking it up.
Default is
false
.
stabilityCheckInterval
Int
-
Time in seconds that a file ingestion task waits to check the file stability.
You can specify a value in the stabilityCheckInterval field only if the fileStability option is set to
true
.
The stability check interval ranges between 10 seconds to 300 seconds.
postPickupAction
String
-
Determines what to do with source files after the transfer of files. The following options are available:
  • KEEP. Keep the files in the source directory.
  • DELETE. Delete the files from the source directory.
  • RENAME. Rename the files in the source directory. You must specify a file name suffix that
    File ingestion
    adds to the file name when renaming the files.
  • ARCHIVE. Archive the files to a different location. You must specify an archive directory.
targetConnection
String
Yes
Directory details to which files are transferred.
taskActions
String
-
Actions to process files in the
file ingestion
task. If you add multiple actions, file ingestion processes files in a sequence.
actions
File processing action.
Enter the following file processing actions:
  • To compress files, enter
    Compression
    .
  • To decompress files, enter
    Decompression
    .
  • To encrypt files, enter
    Encryption
    .
  • To dencrypt files, enter
    Decryption
    .
  • To move files from multiple folders to a single folder and to rename file in the target directory, enter
    File Operations
    .
  • To scan files for viruses by using the ICAP protocol, enter
    Virus Scan
    .
action type
Enter the action type depending on the action that you add.
To compress files use one of the following methods.
  • Zip
  • Tar
  • Gzip
  • Bzip2
To decompress files use one of the following methods.
  • Unzip
  • Untar
  • Gunzip
  • Bunzip2
To encrypt files add PGP. Enter the key ID in the properties.
The file ingestion task uses the PGP method to encrypt files. Generate a key ring using the CLI. Enter the key ring in the
Key ID
. For more information about the keyring CLIs, refer to key ring command reference in
Tasks
.
To decrypt files, add PGP. Enter the key passphrase in the properties.
The file ingestion task uses the PGP method to encrypt files. Generate the key passphrase using the CLI. Enter the key passphrase in the
Key Passphrase
. For more information about the keyring CLIs, refer to key ring command reference in
Tasks
.

POST request example

Use this sample as a reference to create a file ingestion task with file pattern as the file pickup option
POST <serverURL>/public/core/v1/mitasks Content-Type: application/json Accept:application/json Content-Type:application/json IDS-SESSION-ID:{{IDS-SESSION-ID}} { "name": "Green Green v2", "location": { "projectId": "9JDNOBX9M31e2AD1dIUv6M", "projectName": "Default" }, "description": "", "sourceType": "CONNECTION", "sourceConnection": { "id": "", "name": "", "type": "local" }, "sourceParameters": { "filePattern": "*.txt", "filePatternType": "WILDCARD", "includeSubfolder": "false", "sourceDirectory": "C:\\Monitor", "checkDuplicate": "false", "fileStability": "true", "stabilityCheckInterval": "60", "postPickupAction": "KEEP" }, "targetConnection": { "id": "0100000B000000000002", "name": "ADLS", "type": "Azure Data Lake" }, "targetParameters": { "adlsTargetLocation": "/satyen/green" }, "agentGroupId": "01000025000000000002", "filePickupOption": "PATTERN", "logLevel": "NORMAL", "allowConcurrency": "true", taskActions":[ { "action": "Compression", "actionType": "Zip", "properties": {} } ] }
Use this sample as a reference to create a file ingestion task with file path as the file pickup option.
POST <serverURL>/public/core/v1/mitasks Content-Type: application/json Accept:application/json Content-Type:application/json IDS-SESSION-ID:{{IDS-SESSION-ID}} { "name": "FilePath_RestAPI1", "location": { "projectId": "0ggRhrI8ZziguyBxHBzuG0", "projectName": "Default" }, "description": "", "sourceType": "CONNECTION", "sourceConnection": { "id": "", "name": "", "type": "local" }, "targetConnection": { "id": "", "name": "", "type": "local" }, "sourceParameters": { "filePickupFilePath": "test.txt", "sourceDirectory": "/root/test", "checkDuplicate": "false", "fileStability": "true", "stabilityCheckInterval": "60", "postPickupAction": "KEEP", "filepickupByName": "FILEPATH", "batchSize": "5" }, "targetParameters": { "fileExistsAction": "OVERWRITE", "targetDirectory": "/root/testCheckStability" }, "agentGroupId": "01001D25000000000002", "logLevel": "NORMAL", "filePickupOption": "FILELIST", "allowConcurrency": "true" }
Use this sample as a reference to create a file ingestion task with file list as the file pickup option.
POST <serverURL>/public/core/v1/mitasks Content-Type: application/json Accept:application/json Content-Type:application/json IDS-SESSION-ID:{{IDS-SESSION-ID}} { "name": "DedupFilelist_RestAPI", "location": { "projectId": "0ggRhrI8ZziguyBxHBzuG0", "projectName": "Default" }, "description": "", "sourceType": "CONNECTION", "sourceConnection": { "id": "01001D0B0000000005PP", "name": "ADLSGen2", "type": "Azure Data Lake Gen2" }, "targetConnection": { "id": "01001D0B0000000005PU", "name": "AzureDW_Gen2", "type": "Azure DW" }, "sourceParameters": { "sourceDirectory": "/B2B/MI", "checkDuplicate": "true", "postPickupAction": "KEEP", "filepickupByName": "LISTOFFILES", "blockSize": "8388608", "filePickupFileList": "File1.txt,File2.txt", "batchSize": "5", "timeoutInterval": "60", "fileStability": "true", "stabilityCheckInterval": "60" }, "targetParameters": { "commandType": "auto", "targetTableName": "test1234", "isPushdown": "true", "ingestionMethod": "polybase", "targetSchemaName": "testing", "isTruncateTarget": "true" }, "agentGroupId": "01001D25000000000002", "logLevel": "NORMAL", "filePickupOption": "FILELIST", "allowConcurrency": "true" }

POST response example

If the request is successful, you might receive a response similar to the following example:
{ "id": "cEMWKpibm44bNf5aMjbJ4U", "name": "Green Green v2", "location": { "projectId": "9JDNOBX9M31e2AD1dIUv6M", "projectName": "Default" }, "description": "", "sourceType": "CONNECTION", "sourceConnection": { "id": "", "name": "", "type": "local" }, "sourceParameters": { "filePattern": "*.txt", "filePatternType": "WILDCARD", "includeSubfolder": "false", "sourceDirectory": "C:\\Monitor", "checkDuplicate": "false", "fileStability": "true", "stabilityCheckInterval": "60", "postPickupAction": "KEEP" }, "targetConnection": { "id": "0100000B000000000002", "name": "ADLS", "type": "Azure Data Lake" }, "targetParameters": { "adlsTargetLocation": "/satyen/green" }, "agentGroupId": "01000025000000000002", "createdTime": "2018-08-27T07:03:32Z", "updatedTime": "2018-08-29T12:14:58Z"" taskActions":[ { "action": "Compression", "actionType": "Zip", "properties": {} } ] } }
The created and updated time in the response is displayed in the UTC time.

0 COMMENTS

We’d like to hear from you!