Skip to main content

Configuration examples

Here you can find examples of the most common real-world use cases for exports and imports to/from SFTP and S3 extension.

Import documents from SFTP​

Configuration:

{
"credentials": {
"host": "sftp.example.com",
"port": "22",
"type": "sftp",
"username": "rossum-demo"
},
"import_rules": [
{
"path": "/documents",
"queue_id": 123456, // change accordingly
"result_actions": {
"failure": [
{
"path": "/documents/failed_imports",
"type": "move"
}
],
"success": [
{
"path": "/documents/archive",
"type": "move"
}
]
},
"file_match_regex": ".+"
}
]
}

Using SSH key​

Secrets (without a passphrase):

{
"type": "sftp",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

Secrets (with passphrase):

{
"type": "sftp",
"ssh_key_passphrase": "<passphrase for private key>",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

The easiest way to convert the SSH key to one-line format is to use the following command:

awk '{printf "%s\\n", $0}' id_rsa_demo.txt

Using username and password​

Secrets:

{
"type": "sftp",
"password": "MySuperSecretPassword"
}

Import master data from SFTP​

Configuration:

{
"credentials": {
"host": "sftp.example.com",
"port": "22",
"type": "sftp",
"username": "rossum-demo"
},
"import_rules": [
{
"dataset_name": "PURCHASE_ORDERS_v1",
"import_methods": {
"replace_method": {
"path": "/datasets",
"dynamic": false,
"file_format": "xlsx",
"file_match_regex": "PURCHASE_ORDERS\\.xlsx"
}
},
"result_actions": {
"failure": [
{
"path": "/datasets/failed_imports",
"type": "move"
}
],
"success": [
{
"path": "/datasets/archive",
"type": "move"
}
]
}
}
]
}

Using SSH key​

Secrets (without a passphrase):

{
"type": "sftp",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

Secrets (with passphrase):

{
"type": "sftp",
"ssh_key_passphrase": "<passphrase for private key>",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

The easiest way to convert the SSH key to one-line format is to use the following command:

awk '{printf "%s\\n", $0}' id_rsa_demo.txt

Using username and password​

Secrets:

{
"type": "sftp",
"password": "MySuperSecretPassword"
}

Import master data from S3​

There are few differences from the SFTP imports (see above), but it is very similar.

warning

Please note, that the attribute path starts without slash (as opposed to the SFTP configuration).

{
"credentials": {
"type": "s3",
"bucket_name": "s3-master-data-bucket"
},
"import_rules": [
{
"dataset_name": "suppliers",
"import_methods": {
"replace_method": {
"path": "datasets/inbox",
"file_format": "csv",
"file_match_regex": "suppliers\\.csv",
"encoding": "windows-1250"
}
},
"result_actions": {
"failure": [
{
"path": "datasets/failed_imports",
"type": "move"
}
],
"success": [
{
"path": "datasets/archive",
"type": "move"
}
]
}
}
]
}

Using S3 Credentials​

There is only one credential option for the s3. It consists of Access Key ID and Secret Access Key. For more information about these credentials and how to obtain it, see the official AWS documentation here: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html

{
"type": "__change_me__",
"access_key_id": "__change_me__",
"secret_access_key": "__change_me__"
}

Export to SFTP​

Configuration example:

{
"credentials": {
"host": "sftp.example.com",
"port": "22",
"type": "sftp",
"username": "rossum-demo"
},
"export_rules": [
{
"path_to_directory": "/export",
"export_object_configurations": [
{
"type": "annotation_content",
"format": "csv",
"filename_template": "invoice_data-{annotation.id}.csv"
},
{
"type": "document",
"filename_template": "invoice_file-{annotation.id}" // No file extension for `document` export type!
},
{
"type": "custom_format",
"filename_template": "invoice_data-{annotation.id}.csv",
"export_reference_key": "export_annotation_to_csv"
}
]
}
]
}

Notice the various export_object_configurations types, each having its own configuration. The supported types:

  • annotation_content: exports data in a Rossum native format
  • document: exports the original document
  • custom_format exports custom data using the custom format templating extension

Using SSH key​

Secrets (without a passphrase):

{
"type": "sftp",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

Secrets (with passphrase):

{
"type": "sftp",
"ssh_key_passphrase": "<passphrase for private key>",
"ssh_key": "-----BEGIN OPENSSH PRIVATE KEY-----\nabcd…wxyz\n-----END OPENSSH PRIVATE KEY-----"
}

The easiest way to convert the SSH key to one-line format is to use the following command:

awk '{printf "%s\\n", $0}' id_rsa_demo.txt

Using username and password​

Secrets:

{
"type": "sftp",
"password": "MySuperSecretPassword"
}

Using dynamic SFTP folder​

Configuration for a schema data point sftp_folder containing the appropriate address on the SFTP.

{
// …
"export_rules": [
{
"path_to_directory": "/{sftp_folder}"
// …
}
]
}