Integrate Azure Table Storage with Service Connector

This page shows supported authentication methods and clients, and shows sample code you can use to connect Azure Table Storage to other cloud services using Service Connector. You might still be able to connect to Azure Table Storage in other programming languages without using Service Connector. This page also shows default environment variable names and values you get when you create the service connection.

Supported compute services

Service Connector can be used to connect the following compute services to Azure Table Storage:

  • Azure App Service
  • Azure Functions
  • Azure Container Apps
  • Azure Spring Apps

The table below shows which combinations of authentication methods and clients are supported for connecting your compute service to Azure Table Storage using Service Connector. A “Yes” indicates that the combination is supported, while a “No” indicates that it is not supported.

Client type System-assigned managed identity User-assigned managed identity Secret / connection string Service principal
.NET Yes Yes Yes Yes
Java Yes Yes Yes Yes
Node.js Yes Yes Yes Yes
Python Yes Yes Yes Yes

This table indicates that all combinations of client types and authentication methods in the table are supported. All client types can use any of the authentication methods to connect to Azure Table Storage using Service Connector.

Default environment variable names or application properties and sample code

Use the connection details below to connect compute services to Azure Table Storage. For more information about naming conventions, check the Service Connector internals article.

System-assigned managed identity

Default environment variable name Description Example value
AZURE_STORAGETABLE_RESOURCEENDPOINT Table Storage endpoint https://<storage-account-name>.table.core.windows.net/

Sample code

Refer to the steps and code below to connect to Azure Table Storage using a system-assigned managed identity.

  1. Install dependencies.

    dotnet add package Azure.Identity
    dotnet add package Azure.Data.Tables
    
  2. You can use azure-identity to authenticate using a managed identity or a service principal. Get the Azure Table Storage endpoint URL from the environment variable added by Service Connector. When using the code below, uncomment the part of the code snippet for the authentication type you want to use.

    using Azure.Identity;
    using Azure.Data.Tables;
    
    // get Table endpoint
    var tableEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_RESOURCEENDPOINT");
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var tableServiceClient = new TableServiceClient(
            new Uri(tableEndpoint),
            credential);
    

User-assigned managed identity

Default environment variable name Description Example value
AZURE_STORAGETABLE_RESOURCEENDPOINT Table Storage endpoint https://<storage-account-name>.table.core.windows.net/
AZURE_STORAGETABLE_CLIENTID Your client ID <client-ID>

Sample code

Refer to the steps and code below to connect to Azure Table Storage using a user-assigned managed identity.

  1. Install dependencies.

    dotnet add package Azure.Identity
    dotnet add package Azure.Data.Tables
    
  2. You can use azure-identity to authenticate using a managed identity or a service principal. Get the Azure Table Storage endpoint URL from the environment variable added by Service Connector. When using the code below, uncomment the part of the code snippet for the authentication type you want to use.

    using Azure.Identity;
    using Azure.Data.Tables;
    
    // get Table endpoint
    var tableEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_RESOURCEENDPOINT");
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var tableServiceClient = new TableServiceClient(
            new Uri(tableEndpoint),
            credential);
    

Connection string

Default environment variable name Description Example value
AZURE_STORAGETABLE_CONNECTIONSTRING Table Storage connection string DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Sample code

Refer to the steps and code below to connect to Azure Table Storage using a connection string.

  1. Install dependencies.

    dotnet add package Azure.Data.Tables
    
  2. Get the Azure Table Storage connection string from the environment variable added by Service Connector.

    using Azure.Data.Tables;
    
    var connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CONNECTIONSTRING");
    TableServiceClient tableServiceClient = new TableServiceClient(connectionString);
    

Service principal

Default environment variable name Description Example value
AZURE_STORAGETABLE_RESOURCEENDPOINT Table Storage endpoint https://<storage-account-name>.table.core.windows.net/
AZURE_STORAGETABLE_CLIENTID Your client ID <client-ID>
AZURE_STORAGETABLE_CLIENTSECRET Your client secret <client-secret>
AZURE_STORAGETABLE_TENANTID Your tenant ID <tenant-ID>

Sample code

Refer to the steps and code below to connect to Azure Table Storage using a service principal.

  1. Install dependencies.

    dotnet add package Azure.Identity
    dotnet add package Azure.Data.Tables
    
  2. You can use azure-identity to authenticate using a managed identity or a service principal. Get the Azure Table Storage endpoint URL from the environment variable added by Service Connector. When using the code below, uncomment the part of the code snippet for the authentication type you want to use.

    using Azure.Identity;
    using Azure.Data.Tables;
    
    // get Table endpoint
    var tableEndpoint = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_RESOURCEENDPOINT");
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGETABLE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var tableServiceClient = new TableServiceClient(
            new Uri(tableEndpoint),
            credential);
    

Next steps

Follow the tutorials listed below to learn more about Service Connector.