Configuring an ADF Linked Service Connection for Azure Table Storage
For information on how to enable a connection for use with linked services, see Configuring a Linked Service Connection.
Field labels in this walkthrough follow the BimlFlex Connection Editor, with the connection column that carries each value and the Azure Data Factory property it maps to named alongside.
After selecting Azure Table Storage from the Linked Service Type dropdown, the form required for creating an Azure Table Storage Linked Service will appear.
The Azure Table Storage option is offered on connections that use the Azure Table Storage System Type.
Source Only Connector
An Azure Table Storage connection is used as a source. It is not available as a target.
Each Azure Table Storage object is read through a dataset that carries the table name alone, from its TargetObjectName parameter, and maps it to the ADF tableName property.
The copy source passes the TargetSchemaName and TargetObjectName parameters and carries no query, so the whole table that the dataset's table parameter names is read.
An Override SQL on an Azure Table Storage object, or the text of the object's Override SQL extension point when the Override SQL is empty, is not authored.
The build reports a warning that names the object, with the object name in place of <object>:
Connection type AZTBL: the override query on '<object>' is not authored because the Azure Table copy source takes no query. The copy reads the whole object the dataset's table parameter names.
The object's Where Sql, Group By Sql and Order By Sql, and the text of its Append Source SQL extension point, do not apply to an Azure Table Storage object, because the copy source carries no query.
When the object has additional columns, they are written to the copy source.
Choosing an Authentication Method
| Method | Credentials | Additional Settings |
|---|---|---|
| Account Key | A Connection String that names the storage account and its key, as text or as an Azure Key Vault secret | The account key can come from its own Azure Key Vault secret |
| SAS URI | The shared access signature URI of the table, as text or as an Azure Key Vault secret | The SAS token can come from its own Azure Key Vault secret |
Recommendation: Store the Connection String or the SAS URI in Azure Key Vault rather than entering it as plaintext.
Complete Example: Account Key with Azure Key Vault
The values below are made up for illustration.
| Field | Example Value |
|---|---|
| Connect via Integration Runtime | AutoResolveIntegrationRuntime |
| AKV Linked Service (Connection String, Azure Key Vault tab) | bfx-kv |
| Secret Name (Connection String, Azure Key Vault tab) | BFX-TableStorageConnectionString |
Required Fields
Common Required Fields
The required fields for an Azure Table Storage Linked Service connection depend on the Authentication Method used. There is one field that is required regardless of Authentication Method:
Authentication Method Dependent Required Fields
Required fields for Account Key:
Required fields for SAS URI:
- SAS URI (or Azure Key Vault)
Optional fields are:
Connect via Integration Runtime
Connect via Integration Runtime names the integration runtime for an Azure Table Storage Linked Service connection.
The default value is AutoResolveIntegrationRuntime.
To use another runtime, select it from the dropdown or choose + New to add one.
The custom values that appear in this dropdown can be maintained in Settings under Azure, in the AzureIntegrationRuntime setting.
The value is stored in the connection's LS_ConnectVia_IntegrationRuntime column and maps to the ADF connectVia property.
When the value is AutoResolveIntegrationRuntime, no connectVia property is written and the default Azure integration runtime is used.
Azure Data Factory connects to Azure Table Storage through the Azure integration runtime, or through a self-hosted integration runtime when the data store is located in a private network.
Connection String
The Connection String carries the storage account name and account key for the Account Key method.
It is stored in the connection's LS_ConnectionString column and maps to the ADF connectionString property.
The Azure Key Vault tab beside the Connection String tab takes an Azure Key Vault secret that holds the whole connection string, named by the AKV Linked Service, the Secret Name and an optional Secret Version.
The values are stored in the connection's LS_ConnectionStringKVS_ fields.
BimlFlex writes the secret reference to the linked service when both the AKV Linked Service and the Secret Name are filled, and the secret reference is written in place of a connection string entered as text.
The Connection String tab of the form has no fields of its own, and the form has no field for the connection string as text.
The form also shows an Additional Connection String Properties field, which the form does not save for an Azure Table Storage connection.
When the connection is saved with the Azure Key Vault tab selected, the form clears the LS_ConnectionString column. When it is saved with the Connection String tab selected, the form clears the LS_ConnectionStringKVS_ fields.
The account key can come from an Azure Key Vault secret stored in the connection's LS_AccountKeyKVS_ fields, which BimlFlex writes as the ADF accountKey secret whenever the store and the Secret Name are filled.
The form has no field for the account key secret.
It is suggested that Azure Key Vault be used in place of manually entering Connection String details.
SAS URI
The SAS URI is the shared access signature URI of the table.
It is stored in the connection's LS_SasUri column and maps to the ADF sasUri property, written as a secure string.
An Azure Key Vault secret that holds the whole SAS URI, stored in the connection's LS_SasUriKVS_ fields, is written as the ADF sasUri secret in place of the text.
When the SAS URI carries no token, the token can come from an Azure Key Vault secret stored in the connection's LS_SasTokenKVS_ fields, which BimlFlex writes as the ADF sasToken secret.
BimlFlex writes each secret reference when its store and its Secret Name are filled.
The linked service form has no Authentication Method choice for Azure Table Storage.
It shows the SAS URI tab, with the SAS URL field and its SAS Token and Azure Key Vault tabs, and the Azure Key Vault tab beside it, only on a connection whose stored Authentication Method is SAS URI.
The SAS URL field writes the LS_SasUri column, and each Azure Key Vault tab writes its own KVS fields. The form does not save the text of the SAS Token field for an Azure Table Storage connection.
It is suggested that Azure Key Vault be used in place of manually entering the SAS URI.
Encrypted Credential
When the connection's LS_EncryptedCredential column holds an Encrypted Credential value, it is also written to the linked service as the ADF encryptedCredential property.
The form has no field for it.
Azure Data Factory Linked Service Additional Information
For additional information on ADF Azure Table Storage Linked Service and its connection requirements see the Azure Data Factory Azure Table Storage Connector documentation.