共用方式為


使用受控識別來執行連續匯出作業

適用於:✅Azure 數據總管

連續匯出作業 使用定期執行的查詢,將數據匯出至 外部數據表

在下列案例中,應使用 受控識別來設定連續匯出作業

使用受控識別設定的持續匯出作業會代表受控識別執行。

在本文中,您將瞭解如何設定系統指派或使用者指派的受控識別,並使用該身分識別建立連續匯出作業。

先決條件

設定受控識別

受控識別有兩種類型:

  • 系統指派:系統指派的身分識別會連線到您的叢集,並在移除叢集時移除。 每個叢集只允許一個系統指派的身分識別。

  • 使用者指派:使用者指派的受控識別是獨立的 Azure 資源。 您可以將多個使用者指派的身分識別指派給您的叢集。

選取下列其中一個索引標籤,以設定您慣用的受控識別類型。

  1. 請依照步驟 新增使用者指派的身分識別

  2. 在 Azure 入口網站的受控識別資源左側選單中,選取 [[屬性]。 複製並儲存 租使用者標識子,並 主體標識碼,以用於下列步驟。

    Azure 入口網站區域的螢幕快照,其中包含受控識別標識符。

  3. 執行下列 .alter-merge 原則 managed_identity 命令,並將 <objectId> 取代為上一個步驟中的受控識別物件標識符。 此命令會在叢集上設定 受控識別原則,讓受控識別與連續匯出搭配使用。

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    注意

    若要在特定資料庫上設定原則,請使用 database <DatabaseName>,而不是 cluster

  4. 執行下列命令,將受控識別 資料庫查看器 許可權授與用於連續匯出的所有資料庫,例如包含外部數據表的資料庫。

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    <DatabaseName> 取代為相關資料庫,<objectId> 步驟 2 中的受控識別 主體標識碼,並將 <tenantId> 取代為步驟 2 Microsoft Entra ID 租使用者標識符

設定外部數據表

外部數據表是指位於 Azure 記憶體中的數據,例如 Azure Blob 記憶體、Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2 或 SQL Server。

選取下列其中一個索引標籤,以設定 Azure 記憶體或 SQL Server 外部數據表。

  1. 根據 記憶體連接字串範本建立連接字串,。 此字串表示要存取的資源及其驗證資訊。 針對連續匯出流程,建議 模擬驗證

  2. 執行 .create 或 .alter external table 命令來建立數據表。 使用上一個步驟中的連接字串作為 storageConnectionString 自變數

    例如,下列命令會建立 MyExternalTable,以參考 Azure Blob 記憶體中 mystorageaccountmycontainer CSV 格式的數據。 資料表有兩個資料行,一個用於整數 x,另一個用於字串 s。 連接字串結尾為 ;impersonate,指出使用模擬驗證來存取資料存放區。

    .create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
    ( 
        h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' 
    )
    
  3. 授與受控識別對相關外部數據存放區的寫入許可權。 受控識別需要寫入許可權,因為連續匯出作業會代表受控識別將數據匯出至數據存放區。

    外部數據存放區 必要許可權 授與許可權
    Azure Blob 記憶體 記憶體 Blob 數據參與者 指派 Azure 角色
    Data Lake Storage Gen2 記憶體 Blob 數據參與者 指派 Azure 角色
    Data Lake Storage Gen1 貢獻 指派 Azure 角色

建立連續匯出作業

選取下列其中一個索引標籤,以建立代表使用者指派或系統指派的受控識別執行的連續導出作業。

執行 .create-or-alter continuous-export 命令,並將 managedIdentity 屬性設定為受控識別物件標識符。

例如,下列命令會建立名為 MyExport 的持續匯出作業,以代表使用者指派的受控識別,將 MyTable 中的數據匯出至 MyExternalTable<objectId> 應該是受控識別物件標識碼。

.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable