連接字串

本文說明如何使用 連接字串。

概觀

注意

下列文件依賴Application Insights傳統 API。 Application Insights 的長期計劃是使用 OpenTelemetry 收集數據。 如需詳細資訊,請參閱 為 .NET、Node.js、Python 和 Java 應用程式啟用 Azure 監視器 OpenTelemetry。

連線 ion 字串會定義要傳送遙測數據的位置。

索引鍵/值組可讓用戶輕鬆定義每個 Application Insights 服務或產品的前置詞後綴群組。

注意

針對檢測金鑰擷取的支援將在 2025 年 3 月 31 日結束。 檢測金鑰擷取將會繼續運作,但我們不再提供該功能的更新或支援。 轉換至連接字串以利用新功能

案例概觀

受這項變更影響最大的案例:

  • 防火牆例外狀況或 Proxy 重新導向:

    如果需要監視內部網路 Web 伺服器,我們先前的解決方案會要求您將個別服務端點新增至您的設定。 如需詳細資訊,請參閱 我是否可以監視內部網路網頁伺服器?。 連線 ion 字串藉由將這項工作減少為單一設定來提供更好的替代方案。 簡單的前置詞後綴修訂,允許自動母體擴展和重新導向正確的服務的所有端點。

  • 主權或混合式雲端環境:

    用戶可以將數據傳送至定義的 Azure Government 區域。 藉由使用 連接字串,您可以定義內部網路伺服器或混合式雲端設定的端點設定。

開始使用

檢閱下列各節以開始使用。

尋找您的 連接字串

您的 連接字串 會出現在 Application Insights 資源的 [概觀] 區段中。

Screenshot that shows the Application Insights overview and connection string.

結構描述

下列各節將說明架構元素。

最大長度

連線的最大支援長度為 4,096 個字元。

索引鍵/值組

連接字串 是由以分號分隔的索引鍵/值組表示的設定清單所組成:key1=value1;key2=value2;key3=value3

語法

  • InstrumentationKey (例如,00000000-0000-0000-0000-0000000000000000)。 InstrumentationKey是必要欄位。
  • Authorization (例如 ikey)。 此設定是選擇性的,因為我們目前僅支援 ikey 授權。
  • EndpointSuffix (例如,applicationinsights.azure.cn)。 設定端點後綴會告知 SDK 要連線到哪一個 Azure 雲端。 SDK 會為個別服務組合其餘的端點。
  • 明確端點。 任何服務都可以在 連接字串 中明確覆寫:
    • IngestionEndpoint (例如 https://dc.applicationinsights.azure.com)
    • LiveEndpoint (例如 https://live.applicationinsights.azure.com)
    • ProfilerEndpoint (例如 https://profiler.monitor.azure.com)
    • SnapshotEndpoint (例如 https://snapshot.monitor.azure.com)

端點架構

<prefix>.<suffix>

  • 前置詞:定義服務。
  • 後綴:定義通用功能變數名稱。
有效的後綴
  • applicationinsights.azure.cn
  • applicationinsights.us

如需詳細資訊,請參閱 需要修改端點的區域。

有效的前置詞

連接字串 秘密嗎?

連接字串 包含ikey,這是擷取服務用來將遙測與特定 Application Insights 資源產生關聯的唯一標識碼。 這些 ikey 唯一識別碼不是安全性令牌或安全性密鑰。 如果您想要保護 AI 資源免於誤用,擷取端點會根據 Microsoft Entra ID 提供已驗證的遙測擷取選項。

注意

Application Insights JavaScript SDK 需要在初始化和設定期間傳入 連接字串。 其可在用戶端瀏覽器中以純文本檢視。 針對瀏覽器遙測使用 Microsoft Entra ID 型驗證 並不容易。 如果您需要保護服務遙測,建議您考慮為瀏覽器遙測建立個別的 Application Insights 資源。

連線 ion 字串範例

以下是一些 連接字串 範例。

具有端點後綴的 連線 字串

InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=ai.contoso.com;

在此範例中,連接字串 會指定端點後綴,而 SDK 會建構服務端點:

  • 授權配置預設為 “ikey”
  • 檢測密鑰:00000000000-0000-000000-0000000000
  • 區域服務 URI 是以提供的端點後綴為基礎:
    • 攝入: https://dc.ai.contoso.com
    • 即時計量: https://live.ai.contoso.com
    • 分析器: https://profiler.ai.contoso.com
    • 除錯: https://snapshot.ai.contoso.com

具有明確端點覆寫的 連線 字串

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/;

在此範例中,連接字串 會指定每個服務的明確覆寫。 SDK 會使用未修改所提供的確切端點:

  • 授權配置預設為 “ikey”
  • 檢測密鑰:00000000000-0000-000000-0000000000
  • 區域服務 URI 是以明確的覆寫值為基礎:
    • 攝入: https://custom.com:111/
    • 即時計量: https://custom.com:222/
    • 分析器: https://custom.com:333/
    • 除錯: https://custom.com:444/

具有明確區域的 連線 ion 字串

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://southcentralus.in.applicationinsights.azure.com/

在此範例中,連接字串 指定美國中南部區域:

  • 授權配置預設為 “ikey”
  • 檢測密鑰:00000000000-0000-000000-0000000000
  • 區域服務 URI 是以明確的覆寫值為基礎:
    • 攝入: https://southcentralus.in.applicationinsights.azure.com/

在 Azure CLI執行下列命令,以列出可用的區域:

az account list-locations -o table

設定 連接字串

下列 SDK 版本支援 連線 字串:

  • .NET v2.12.0
  • Java v2.5.1 和 Java 3.0
  • JavaScript v2.3.0
  • NodeJS v1.5.0
  • Python v1.0.0

您可以在程式代碼中或使用環境變數或組態檔來設定 連接字串。

環境變數

連線 ion 字串:APPLICATIONINSIGHTS_CONNECTION_STRING

程式碼範例

  1. 在檔案中appsettings.json設定 連接字串:

    {
      "ApplicationInsights": {
        "ConnectionString" : "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://{region}.in.applicationinsights.azure.com/;LiveEndpoint=https://{region}.livediagnostics.monitor.azure.com/"
        }
    }
    
  2. 註冊ApplicationInsightsTelemetry服務時,擷取 中的 Program.cs 連接字串:

    var options = new ApplicationInsightsServiceOptions { ConnectionString = app.Configuration["ApplicationInsights:ConnectionString"] };
    builder.Services.AddApplicationInsightsTelemetry(options: options);
    

常見問題集

本節提供常見問題的答案。

新的 Azure 區域是否需要使用 連接字串?

新的 Azure 區域需要使用 連接字串,而不是檢測金鑰。 連線 ion 字串會識別您想要與遙測數據產生關聯的資源。 它也可讓您修改資源用來作為遙測目的地的端點。 複製 連接字串,並將其新增至應用程式的程式代碼或環境變數。

我應該使用 連接字串 或檢測密鑰嗎?

建議您使用 連接字串,而不是檢測金鑰。

下一步

在執行時間開始使用:

在開發階段開始使用: