Azure Blob Storage API Configuration
For more information about authentication, accessing the Fivetran REST API, and request and response formats, see Getting Started with the Fivetran REST API.
Request
POST https://api.fivetran.com/v1/connections
{ "group_id": "group_id", "service": "azure_blob_storage", "trust_certificates": true, "trust_fingerprints": true, "run_setup_tests": true, "paused": false, "pause_after_trial": false, "sync_frequency": 1440, "data_delay_sensitivity": "LOW", "data_delay_threshold": 0, "daily_sync_time": "14:00", "schedule_type": "auto", "connect_card_config": { "redirect_uri": "https://your.site/path", "hide_setup_guide": true, "all_fields": true }, "proxy_agent_id": "proxy_agent_id", "private_link_id": "private_link_id", "networking_method": "Directly", "hybrid_deployment_agent_id": "hybrid_deployment_agent_id", "destination_configuration": { "virtual_warehouse": "virtual_warehouse" }, "destination_schema_names": "FIVETRAN_NAMING", "external_secrets_manager_id": "esm_id", "data_checks": true, "config": { "append_file_option": "upsert_file_with_primary_keys | upsert_file | append_file", "auth_method": "CONNECTION_STRING | SERVICE_PRINCIPAL_SECRET | SERVICE_PRINCIPAL_CERTIFICATE", "compression": "zip | gz | tar_gz | tar | infer | gzip | uncompressed | bz2 | tar_bz2", "connection_method": "SSH_TUNNEL | DIRECT | PRIVATE_LINK", "connection_string": "BlobEndpoint=https://abc123.blob.core.windows.net/;TableEndpoint=https://abc123.table.core.windows.net/;SharedAccessSignature=xxxxxxxxx", "container_address": "192.168.0.1", "container_name": "container_name", "delimiter": "string", "empty_header": true, "escape_char": "string", "extraction_pattern": "(?<table>\\w+)/.*", "file_mapping_method": "EXTRACT_TABLES | DEFINE_PER_TABLE", "file_type": "tsv | xml | csv | spreadsheet | json | jsonl | avro | parquet", "files": [ { "archive_pattern": "string", "file_pattern": "string", "selected_range": "'Sheet1'!A1", "table_name": "string" } ], "host_ip": "192.168.0.2", "host_user": "host_username", "json_delivery_mode": "Packed | Unpacked", "line_separator": ";", "null_sequence": "string", "on_error": "fail | skip", "pgp_pass_phrase": "<pass-phrase-used>", "pgp_secret_key": "<secret-key-used>", "prefix": "folder_path", "quote_char": "string", "quote_character_enabled": true, "selected_range": "'Sheet1'!A1", "signer_public_key": "<signer-public-key-used>", "skip_after": 0, "skip_before": 0, "ssh_algorithm": "RSA | ECDSA", "storage_account_name": "storage_account_name", "sync_inconsistent_rows": true, "use_pgp_encryption_options": true, "schema": "schema_name", "table_group_name": "string" }, "auth": { "client_certificate": "client_certificate", "client_certificate_private_key": "certificate_private_key", "client_certificate_private_key_passphrase": "certificate_private_key_passphrase", "client_id": "my_client_id", "client_secret": "my_client_secret", "tenant_id": "41db1ebd-41a6-4dda-8029-5dd8f227d843" }, "external_secrets_keys_config": { "client_id": "CLIENT_ID_KEY", "client_secret": "CLIENT_SECRET_KEY", "connection_string": "CONNECTION_STRING_KEY" } }
Config parameters
| Name | Description |
|---|---|
append_file_option | If you know that the source completely over-writes the same file with new data, you can append the changes instead of upserting based on filename and line number. |
auth_method | Authentication Method |
compression | The secrets that should be passed to the function at runtime. |
connection_method | Connection Method. Possible values: DIRECT: Fivetran will connect directly to your storage container, SSH_TUNNEL: Fivetran will connect to your storage container using a host machine (commonly used for VPN connections), PRIVATE_LINK: Fivetran will connect to your storage container using PrivateLink. |
connection_string | Connect using a SAS URL or connection string. The SAS determines whether Fivetran can access the storage account or only the specified container |
container_address | IP address of the Azure Storage Container which is accessible from host machine. |
container_name | The name of the blob container. |
delimiter | You can specify your the delimiter that your CSVs use here. Fivetran generally tries to infer the delimiter, but in some cases this is impossible. |
empty_header | Optional. If your CSV generating software doesn't provide header line for the documents, Fivetran can generate the generic column names and sync data rows with them. |
escape_char | If your CSV generator follows non-standard rules for escaping quotation marks, you can set the escape character here. |
extraction_pattern | Required when file_mapping_method = EXTRACT_TABLES. A regular expression with a named capture group (?<table>...) to extract table names from file paths. |
file_mapping_method | The method used to map files to destination tables. Use DEFINE_PER_TABLE to manually configure each table with its own file pattern, or EXTRACT_TABLES to automatically discover tables based on a single extraction pattern. |
file_type | If your files are saved with improper extensions, you can force them to by synced as the selected file type. |
files | Required when file_mapping_method = DEFINE_PER_TABLE. Mapped file name patterns to a destination table. |
files[0].archive_pattern | All Files inside of compressed archives with filenames matching this regular expression will be synced. |
files[0].file_pattern | All files in your search path matching this regular expression will be synced per table. |
files[0].selected_range | Cell reference that will be used to sync all contiguous data starting from the top-left cell in all the spreadsheets matching the name. Cell reference is in the '<sheetName>'!<startColumnName><startRowNumber> format. |
files[0].table_name | All files matching the above pattern will be synced to this table. |
host_ip | IP address of host tunnel machine which is used to connect to the Storage container. |
host_user | Username in the host machine. |
json_delivery_mode | Control how your JSON data is delivered into your destination |
line_separator | You can specify the custom line separator for your CSV files. The line separator is used in files to separate one row from the next. |
null_sequence | If your CSVs use a special value indicating null, you can specify it here. |
on_error | If you know that your files contain some errors, you can choose to have poorly formatted lines skipped. We recommend leaving the value as fail unless you are certain that you have undesirable, malformed data. |
pgp_pass_phrase | The PGP passphrase used to create the key. Must be populated if use_pgp_encryption_options is set to true. |
pgp_secret_key | The contents of your PGP secret key file. Must be populated if use_pgp_encryption_options is set to true. |
prefix | All files and folders under this folder path will be searched for files to sync. |
quote_char | You can specify the enclosing character used in your CSVs here. Fivetran will consider " as the quote character if this field is empty and quote_character_enabled is set to true. |
quote_character_enabled | If you don’t want to use an enclosing character while processing the files, set the value to false. By default, the value is set to true and is considered " as a quote character. |
selected_range | Cell reference that will be used to sync all contiguous data starting from the top-left cell in all the spreadsheets matching the name. Cell reference is in the '<sheetName>'!<startColumnName><startRowName> format. |
signer_public_key | The contents of the signer's public key file. This is optional — if you don't provide the key, we decrypt the files without verifying their signatures. |
skip_after | We will skip over the number of lines specified at the end so as to not introduce aberrant data into your destination. |
skip_before | We will skip over the number of lines specified before syncing data. |
ssh_algorithm | SSH Key Type |
storage_account_name | The name of the Azure Storage account. |
sync_inconsistent_rows | When enabled, Fivetran syncs rows with fewer or more columns than the header row. For rows with fewer columns, Fivetran adds NULL values for the missing columns. For rows with extra columns, Fivetran names them column_<position>. When disabled, Fivetran handles inconsistent rows according to your error-handling settings. |
use_pgp_encryption_options | Set to true if files present in the Azure Blob Storage container are encrypted using PGP. Default value: false. |
schema (required) | Destination schema name. Schema name is permanent and cannot be changed after connection creation |
table_group_name (required) | Combined with the schema to form the Fivetran connection name <schema>.<table_group_name>. Lets you create multiple Merge Mode connections per schema. |
Authorization
There are two ways to authorize this connector type:
- By specifying the values for the
container_nameandconnection_stringparameters in the request.POST https://api.fivetran.com/v1/connections{ "service": "azure_blob_storage", "group_id": "group_id", "config": { "container_name": "container_name", "connection_string": "BlobEndpoint=https://abc123.blob.core.windows.net/;TableEndpoint=https://abc123.table.core.windows.net/;SharedAccessSignature=xxxxxxxxx" } } By using the Connect Card or the Fivetran dashboard.