共用方式為


儲存體連接字串

適用於: ✅Microsoft網狀架構Azure 數據總管

Kusto 服務可以與外部記憶體服務互動。 例如,您可以建立 Azure 儲存體 外部數據表,以查詢儲存在外部記憶體上的數據。

支援下列型態的外部記憶體:

  • Azure Blob 儲存體
  • Azure Data Lake Storage Gen2
  • Azure Data Lake Storage Gen1
  • Amazon S3

每種記憶體類型都有對應的 連接字串 格式,用來描述記憶體資源以及如何存取它們。 URI 格式可用來描述這些記憶體資源和存取它們所需的屬性,例如安全性認證。

注意

HTTP Web 服務支援僅限於從任意 HTTP Web 服務擷取資源。 不支援其他作業,例如寫入資源。

記憶體 連接字串 範本

每個記憶體類型都有不同的 連接字串 格式。 如需每個記憶體類型的 連接字串 範本,請參閱下表。

儲存區類型 配置 URI 範本
Azure Blob 儲存體 https:// https://StorageAccountName Container[/BlobName.blob.core.windows.net/][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://StorageAccountName Filesystem[/PathToDirectoryOrFile][CallerCredentials].dfs.core.windows.net/
Azure Data Lake Storage Gen2 abfss:// abfss://@文件系統 StorageAccountName.dfs.core.windows.net/[PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen1 adl:// adl://StorageAccountName.azuredatalakestore.net/ PathToDirectoryOrFile[CallerCredentials]
Amazon S3 https:// https://BucketName.s3.RegionName.amazonaws.com/ObjectKey[CallerCredentials]
HTTP Web 服務 https:// https:///主機名路徑AndQuery

注意

若要防止秘密顯示在追蹤中,請使用 模糊字串常值

記憶體驗證方法

若要與非公用外部記憶體互動,您必須指定驗證方法做為外部記憶體 連接字串的一部分。 連接字串 會定義要存取的資源及其驗證資訊。

支援下列驗證方法:

依記憶體類型支持的驗證

下表摘要說明不同外部記憶體類型的可用驗證方法。

驗證方法 可在 Blob 記憶體中使用? 可在 Azure Data Lake Storage Gen 2 中使用? 可在 Azure Data Lake Storage Gen 1 中使用? 可在 Amazon S3 中使用? 何時應該使用此方法?
模仿 ✔️ ✔️ ✔️ 當您需要對外部記憶體進行複雜的訪問控制時,請用於參與的流程。 例如,在連續匯出流程中。 您也可以限制使用者層級的記憶體存取。
受控識別 ✔️ ✔️ ✔️ 在自動流程中使用,其中無法衍生任何Microsoft Entra 主體來執行查詢和命令。 受控識別是唯一的驗證解決方案。
共用存取權 (SAS) 金鑰 ✔️ ✔️ SAS 令牌有到期時間。 存取記憶體的時間有限時使用。
Microsoft Entra 存取令牌 ✔️ ✔️ ✔️ Microsoft Entra 令牌有到期時間。 存取記憶體的時間有限時使用。
儲存體帳戶存取金鑰 ✔️ ✔️ 當您需要持續存取資源時。
Amazon Web Services 程式設計存取金鑰 ✔️ 當您需要持續存取 Amazon S3 資源時。
Amazon Web Services S3 預先簽署的 URL ✔️ 當您需要使用暫存預先簽署 URL 存取 Amazon S3 資源時。

模擬

Kusto 會模擬要求者的主要身分識別來存取資源。 若要使用模擬,請將 附加;impersonate至 連接字串。

範例
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;impersonate"

主體必須具有執行作業的必要許可權。 例如,Azure Blob 儲存體 中,若要從 Blob 讀取主體需要記憶體 Blob 數據讀取器角色,以及導出至主體需要記憶體 Blob 數據參與者角色的 Blob。 若要深入瞭解,請參閱 Azure Blob 儲存體/Data Lake Storage Gen2 訪問控制Data Lake Storage Gen1 訪問控制

受控識別

Azure 數據總管會代表受控識別提出要求,並使用其身分識別來存取資源。 針對系統指派的受控識別,請將 附加;managed_identity=system至 連接字串。 針對使用者指派的受控識別,請將 附加;managed_identity={object_id}至 連接字串。

受控識別類型 範例
系統指派 "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
使用者指派 "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

受控識別必須具有執行作業的必要許可權。 例如,Azure Blob 儲存體,若要從 Blob 讀取受控識別需要記憶體 Blob 數據讀取器角色,以及導出至受控識別需要記憶體 Blob 數據參與者角色的 Blob。 若要深入瞭解,請參閱 Azure Blob 儲存體/Data Lake Storage Gen2 訪問控制Data Lake Storage Gen1 訪問控制

注意

受控識別僅在特定的 Azure 數據總管流程中受到支援,而且需要設定受控識別原則。 如需詳細資訊,請參閱 受控識別概觀

共用存取 (SAS) 權杖

在 Azure 入口網站 中,產生具有所需許可權的SAS令牌

例如,若要從外部記憶體讀取,請指定讀取和列出許可權,以及匯出至外部記憶體,請指定寫入許可權。 若要深入瞭解,請參閱 使用共用存取簽章委派存取權。

使用SAS URL作為 連接字串。

範例
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv?sv=...&sp=rwd"

Microsoft Entra 存取權杖

若要新增base-64編碼Microsoft Entra存取令牌,請將 附加;token={AadToken}至 連接字串。 權杖必須為資源 https://storage.azure.com/

如需如何產生Microsoft Entra 存取令牌的詳細資訊,請參閱 取得授權的存取令牌。

範例
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;token=1234567890abcdef1234567890abcdef1234567890abc..."

儲存體帳戶存取金鑰

若要新增記憶體帳戶存取金鑰,請將金鑰附加至 連接字串。 在 Azure Blob 儲存體 中,附加;{key}至 連接字串。 針對 Azure Data Lake Storage Gen 2,請將 附加;sharedkey={key}至 連接字串。

儲存體帳戶 範例
Azure Blob 儲存體 "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;ljkAkl...=="
Azure Data Lake Storage Gen2 "abfss://fs@fabrikam.dfs.core.windows.net/path/to/file.csv;sharedkey=sv=...&sp=rwd"

Amazon Web Services 程式設計存取金鑰

若要新增 Amazon Web Services 存取金鑰,請將 附加;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY}至 連接字串。

範例
"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY"

Amazon Web Services S3 預先簽署的 URL

使用 S3 預先簽署的 URL 作為 連接字串。

範例
"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN"

如需如何使用記憶體 連接字串 的範例,請參閱: