Configure a connection string for Azure Storage | Microsoft Docs
Configure a connection string for an Azure storage account. A connection string contains the information needed to authorize access to a storage account from your application at runtime.
Configure Azure Storage connection strings
A connection string includes the authentication information required for your application to access data in an Azure Storage account at runtime. You can configure connection strings to:
- Connect to the Azure storage emulator.
- Access a storage account in Azure.
- Access specified resources in Azure via a shared access signature (SAS).
Storing your connection string
Your application needs to access the connection string at runtime to authorize requests made to Azure Storage. You have several options for storing your connection string:
- An application running on the desktop or on a device can store the connection string in an app.config or web.config file. Add the connection string to the AppSettings section in these files.
- An application running in an Azure cloud service can store the connection string in the Azure service configuration schema (.cscfg) file. Add the connection string to the ConfigurationSettings section of the service configuration file.
- You can use your connection string directly in your code. However, we recommend that you store your connection string in a configuration file in most scenarios.
Storing your connection string in a configuration file makes it easy to update the connection string to switch between the storage emulator and an Azure storage account in the cloud. You only need to edit the connection string to point to your target environment.
You can use the Microsoft Azure Configuration Manager to access your connection string at runtime regardless of where your application is running.
Create a connection string for the storage emulator
For more information about the storage emulator, see Use the Azure storage emulator for development and testing.
Create a connection string for an Azure storage account
To create a connection string for your Azure storage account, use the following format. Indicate whether you want to connect to the storage account through HTTPS (recommended) or HTTP, replace
myAccountName with the name of your storage account, and replace
myAccountKey with your account access key:
For example, your connection string might look similar to:
Although Azure Storage supports both HTTP and HTTPS in a connection string, HTTPS is highly recommended.
[!TIP] You can find your storage account's connection strings in the Azure portal. Navigate to SETTINGS > Access keys in your storage account's menu blade to see connection strings for both primary and secondary access keys.
Create a connection string using a shared access signature
Create a connection string for an explicit storage endpoint
You can specify explicit service endpoints in your connection string instead of using the default endpoints. To create a connection string that specifies an explicit endpoint, specify the complete service endpoint for each service, including the protocol specification (HTTPS (recommended) or HTTP), in the following format:
DefaultEndpointsProtocol=[http|https]; BlobEndpoint=myBlobEndpoint; FileEndpoint=myFileEndpoint; QueueEndpoint=myQueueEndpoint; TableEndpoint=myTableEndpoint; AccountName=myAccountName; AccountKey=myAccountKey
One scenario where you might wish to specify an explicit endpoint is when you've mapped your Blob storage endpoint to a custom domain. In that case, you can specify your custom endpoint for Blob storage in your connection string. You can optionally specify the default endpoints for the other services if your application uses them.
Here is an example of a connection string that specifies an explicit endpoint for the Blob service:
# Blob endpoint only DefaultEndpointsProtocol=https; BlobEndpoint=http://www.mydomain.com; AccountName=storagesample; AccountKey=<account-key>
This example specifies explicit endpoints for all services, including a custom domain for the Blob service:
# All service endpoints DefaultEndpointsProtocol=https; BlobEndpoint=http://www.mydomain.com; FileEndpoint=https://myaccount.file.core.windows.net; QueueEndpoint=https://myaccount.queue.core.windows.net; TableEndpoint=https://myaccount.table.core.windows.net; AccountName=storagesample; AccountKey=<account-key>
The endpoint values in a connection string are used to construct the request URIs to the storage services, and dictate the form of any URIs that are returned to your code.
If you've mapped a storage endpoint to a custom domain and omit that endpoint from a connection string, then you will not be able to use that connection string to access data in that service from your code.
[!IMPORTANT] Service endpoint values in your connection strings must be well-formed URIs, including
http://. Because Azure Storage does not yet support HTTPS for custom domains, you must specify
http://for any endpoint URI that points to a custom domain.
Create a connection string with an endpoint suffix
To create a connection string for a storage service in regions or instances with different endpoint suffixes, such as for Azure China or Azure Government, use the following connection string format. Indicate whether you want to connect to the storage account through HTTPS (recommended) or HTTP, replace
myAccountName with the name of your storage account, replace
myAccountKey with your account access key, and replace
mySuffix with the URI suffix:
DefaultEndpointsProtocol=[http|https]; AccountName=myAccountName; AccountKey=myAccountKey; EndpointSuffix=mySuffix;
Here's an example connection string for storage services in Azure China:
DefaultEndpointsProtocol=https; AccountName=storagesample; AccountKey=<account-key>; EndpointSuffix=core.chinacloudapi.cn;
Parsing a connection string