儲存體連接字串

Azure 資料總管可以與外部儲存體服務互動。 例如,您可以 建立 Azure 儲存體外部資料表 ,以查詢儲存在外部儲存體上的資料。

支援下列類型的外部儲存體:

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

每種儲存體類型都有對應的連接字串格式,可用來描述儲存體資源及其存取方式。 Azure 資料總管會使用 URI 格式來描述這些儲存體資源,以及存取這些資源所需的屬性,例如安全性認證。

注意

即使 HTTP Web 服務似乎在某些案例中運作,也不會支援實作整個 API 集合Azure Blob 儲存體。

儲存體連接字串範本

每個儲存體類型都有不同的連接字串格式。 請參閱下表,以了解每個儲存體類型的連接字串範本。

儲存類型 配置 URI 範本
Azure Blob 儲存體 https:// https://StorageAccountName.blob.core.windows.net/Container[/BlobName][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://StorageAccountName.dfs.core.windows.net/Filesystem[/PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen2 abfss:// abfss://Filesystem@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]

注意

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

儲存體驗證方法

若要與來自 Azure Data Explorer的非公用外部儲存體互動,您必須將驗證方式指定為外部儲存體連接字串的一部分。 連接字串會定義要存取的資源及其驗證資訊。

Azure Data Explorer支援下列驗證方法:

依儲存體類型支援的驗證

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

驗證方法 可在 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 資源時。

模擬

Azure Data Explorer模擬要求者主體身分識別來存取資源。 若要使用模擬,請將 ;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 Data Explorer代表受控識別提出要求,並使用其身分識別來存取資源。 針對系統指派的受控識別,請將 附加 ;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 Data Explorer流程才支援受控識別,而且需要設定受控識別原則。 如需詳細資訊,請參閱受控識別概觀

共用存取 (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"