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"
}
Export to SFTP
Configuration:
{
"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}"
}
]
}
]
}
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}",
(...)
}
]
}
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 from S3
There are few diferences from the SFTP, but it is very similar.
S3 Credentials
There is only one credential option for the s3
. It consist 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
Secret Schema
{
"type": "__change_me__",
"access_key_id": "__change_me__",
"secret_access_key": "__change_me__"
}
Import configuration for S3
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"
}
]
}
}
]
}