從 Application Insights 檢測金鑰移轉至連接字串

本文將引導您從檢測金鑰移轉至連接字串

必要條件

遷移

Screenshot that shows Application Insights overview and connection string.

  1. 移至 Application Insights 資源的 [概觀] 窗格。

  2. 尋找右側顯示的「連接字串」

  3. 暫留在連接字串上,選取「複製到剪貼簿」圖示。

  4. 依照如何設定連接字串,設定 Application Insights SDK。

重要

請勿合併使用連接字串和檢測金鑰。 後一組取會代另一組,而且可能會導致遙測未出現在入口網站上。 請參閱遺漏資料

大規模移轉

使用環境變數,將連接字串傳遞至 Application Insights SDK 或代理程式。

若要透過環境變數設定連接字串,請將連接字串的值放入名為 APPLICATIONINSIGHTS_CONNECTION_STRING 的環境變數中。

此程序可以在您的 Azure 部署中自動化。 例如,下列 Azure Resource Manager 範本示範如何自動包含正確的連接字串搭配 Azure App Service 部署。 請務必包含您的應用程式所需的任何其他應用程式設定:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "appServiceName": {
            "type": "string",
            "metadata": {
                "description": "Name of the App Services resource"
            }
        },
        "appServiceLocation": {
            "type": "string",
            "metadata": {
                "description": "Location to deploy the App Services resource"
            }
        },
        "appInsightsName": {
            "type": "string",
            "metadata": {
                "description": "Name of the existing Application Insights resource to use with this App Service. Expected to be in the same Resource Group."
            }
        }
    },
    "resources": [
        {
            "apiVersion": "2016-03-01",
            "name": "[parameters('appServiceName')]",
            "type": "microsoft.web/sites",
            "location": "[parameters('appServiceLocation')]",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference(concat('microsoft.insights/components/', parameters('appInsightsName')), '2015-05-01').ConnectionString]"
                        }
                    ]
                },
                "name": "[parameters('appServiceName')]"
            }
        }
    ]
}

提供的新功能

連接字串提供單一組態設定,免去了設定多個 Proxy 的需要。

  • 可靠性:連接字串移除對全域擷取端點的相依性,讓遙測擷取更可靠。
  • 安全性:連接字串使用 Application Insights 的 Microsoft Entra 驗證,可進行經過驗證的遙測擷取。
  • 自訂端點 (主權或混合式雲端環境):端點設定允許將資料傳送至特定的 Azure Government 區域。 (請參閱範例。)
  • 隱私權 (區域端點):連接字串可藉由將資料傳送至區域端點來減緩隱私權問題,確保資料不會離開地理區域。

支援的 SDK 版本

  • .NET 和 .NET Core v2.12.0
  • JAVA v2.5.1 和 JAVA 3.0+
  • JavaScript v2.3.0+
  • NodeJS v1.5.0+
  • Python v1.0.0+

疑難排解

本節提供疑難排解的解決方案。

警示:「轉換以使用連接字串進行資料擷取」

請遵循本文中的移轉步驟來解決此警示。

遺漏的資料

  • 確認您使用的是支援的 SDK 版本。 如果您在另一個 Azure 產品供應項目中使用 Application Insights 整合,請查看其文件以了解如何正確設定連接字串。
  • 確認您沒有同時設定檢測金鑰和連接字串。 檢測金鑰設定應該從您的設定中移除。
  • 請確認連接字串與 Azure 入口網站中所提供的內容完全一致。

環境變數無法運作

如果您在應用程式程式碼中硬式編碼檢測金鑰,則該程式設計可能會優先於環境變數。

常見問題集

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

我可以在哪裡找到我的連接字串?

連接字串也會包含在 Application Insights 資源的 Resource Manager 資源屬性中,位於欄位名稱 ConnectionString 之下。

這對自動檢測有什麼影響?

自動檢測案例不會受到影響。

我可以搭配使用 Microsoft Entra 驗證與自動檢測嗎?

您無法針對自動檢測案例啟用 Microsoft Entra 驗證。 我們計畫在未來解決這項限制。

全域和區域擷取之間的差異為何?

全域擷取會將所有遙測資料傳送至單一端點,不論此資料將在哪裡或儲存在何處。 區域擷取可讓您針對資料擷取定義每個區域的特定端點。 這項功能可以確保資料在處理和儲存期間會保留在特定區域內。

連接字串如何影響計費?

計費不會受到影響。

Microsoft 問 & 答

請將問題張貼至解答論壇