Connection strings
Overview
Connection strings define where to send telemetry data.
The key value pairs provide an easy way for users to define a prefix suffix combination for each Application Insights (AI) service/ product.
Note
On March 31, 2025, support for instrumentation key ingestion will end. Instrumentation key ingestion will continue to work, but we'll no longer provide updates or support for the feature. Transition to connection strings to take advantage of new capabilities.
Important
Do not use a connection string and instrumentation key simultaneously. Whichever was set last will take precedence.
Scenario overview
Scenarios most affected by this change:
Firewall exceptions or proxy redirects
In cases where monitoring for intranet web server is required, our earlier solution asked customers to add individual service endpoints to your configuration. For more information, see here. Connection strings offer a better alternative by reducing this effort to a single setting. A simple prefix, suffix amendment allows automatic population and redirection of all endpoints to the right services.
Sovereign or Hybrid cloud environments
Users can send data to a defined Azure Government Region. Connection strings allow you to define endpoint settings for your intranet servers or hybrid cloud settings.
Getting started
Finding my connection string?
Your connection string is displayed on the Overview section of your Application Insights resource.
Schema
Max length
The connection has a maximum supported length of 4096 characters.
Key-value pairs
Connection string consists of a list of settings represented as key-value pairs separated by semicolon:
key1=value1;key2=value2;key3=value3
Syntax
InstrumentationKey(ex: 00000000-0000-0000-0000-000000000000) The connection string is a required field.Authorization(ex: ikey) (This setting is optional because today we only support ikey authorization.)EndpointSuffix(ex: applicationinsights.azure.cn) Setting the endpoint suffix will instruct the SDK which Azure cloud to connect to. The SDK will assemble the rest of the endpoint for individual services.- Explicit Endpoints.
Any service can be explicitly overridden in the connection string.
IngestionEndpoint(ex:https://dc.applicationinsights.azure.com)LiveEndpoint(ex:https://live.applicationinsights.azure.com)ProfilerEndpoint(ex:https://profiler.monitor.azure.com)SnapshotEndpoint(ex:https://snapshot.monitor.azure.com)
Endpoint schema
<prefix>.<suffix>
- Prefix: Defines a service.
- Suffix: Defines the common domain name.
Valid suffixes
Here's a list of valid suffixes
- applicationinsights.azure.cn
- applicationinsights.us
See also: Regions that require endpoint modification
Valid prefixes
- Telemetry Ingestion:
dc - Live Metrics:
live - Profiler:
profiler - Snapshot:
snapshot
Connection string examples
Connection string with endpoint suffix
InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=ai.contoso.com;
In this example, the connection string specifies the endpoint suffix and the SDK will construct service endpoints.
- Authorization scheme defaults to "ikey"
- Instrumentation Key: 00000000-0000-0000-0000-000000000000
- The regional service URIs are based on provided endpoint suffix:
- Ingestion:
https://dc.ai.contoso.com - Live metrics:
https://live.ai.contoso.com - Profiler:
https://profiler.ai.contoso.com - Debugger:
https://snapshot.ai.contoso.com
- Ingestion:
Connection string with explicit endpoint overrides
InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://custom.com:111/;LiveEndpoint=https://custom.com:222/;ProfilerEndpoint=https://custom.com:333/;SnapshotEndpoint=https://custom.com:444/;
In this example, the connection string specifies explicit overrides for every service. The SDK will use the exact endpoints provided without modification.
- Authorization scheme defaults to "ikey"
- Instrumentation Key: 00000000-0000-0000-0000-000000000000
- The regional service URIs are based on the explicit override values:
- Ingestion:
https://custom.com:111/ - Live metrics:
https://custom.com:222/ - Profiler:
https://custom.com:333/ - Debugger:
https://custom.com:444/
- Ingestion:
Connection string with explicit region
InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://southcentralus.in.applicationinsights.azure.com/
In this example, the connection string specifies the South Central US region.
- Authorization scheme defaults to "ikey"
- Instrumentation Key: 00000000-0000-0000-0000-000000000000
- The regional service URIs are based on the explicit override values:
- Ingestion:
https://southcentralus.in.applicationinsights.azure.com/
- Ingestion:
Run the following command in the Azure Command-Line Interface (CLI) to list available regions.
az account list-locations -o table
How to set a connection string
Connection Strings are supported in the following SDK versions:
- .NET v2.12.0
- Java v2.5.1 and Java 3.0
- JavaScript v2.3.0
- NodeJS v1.5.0
- Python v1.0.0
A connection string can be set by either in code, environment variable, or configuration file.
Environment variable
- Connection String:
APPLICATIONINSIGHTS_CONNECTION_STRING
Code samples
Set the property TelemetryConfiguration.ConnectionString or ApplicationInsightsServiceOptions.ConnectionString
.NET Explicitly Set:
var configuration = new TelemetryConfiguration
{
ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;"
};
.NET Config File:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
<ConnectionString>InstrumentationKey=00000000-0000-0000-0000-000000000000</ConnectionString>
</ApplicationInsights>
.NET Core Explicitly Set:
public void ConfigureServices(IServiceCollection services)
{
var options = new ApplicationInsightsServiceOptions { ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;" };
services.AddApplicationInsightsTelemetry(options: options);
}
.NET Core config.json:
{
"ApplicationInsights": {
"ConnectionString" : "InstrumentationKey=00000000-0000-0000-0000-000000000000;"
}
}
Next steps
Get started at runtime with:
Get started at development time with:
Maklum balas
Kirim dan lihat maklum balas untuk