共用方式為


在適用於 PostgreSQL 的 Azure 資料庫中設定 Azure 儲存體延伸模組

您必須遵循下列步驟,才能使用 Azure 記憶體擴充功能:

  1. 識別 Azure 記憶體帳戶
  2. 選擇授權類型
  3. 載入延伸模組的連結庫
  4. 允許清單擴充功能
  5. 建立延伸模組
  6. 使用延伸模組匯入和匯出數據

識別 Azure 記憶體帳戶

識別您想要擴充功能使用者與其互動、將數據匯入或匯出至其中的 Azure 記憶體帳戶。

選擇授權類型

決定您要針對每個 Azure 記憶體帳戶之 Blob 服務提出的要求所使用的授權類型。 azure_storage 擴充功能支援使用共用密鑰進行授權,以及具有 Microsoft Entra 識別碼的授權。

在這兩種類型的授權中,Microsoft Entra ID 提供優於共用密鑰的安全性和易於使用,而且是建議的一種Microsoft。

若要符合每個案例所需的必要條件,請遵循對應章節中的指示:

若要搭配 Microsoft Entra 識別碼使用授權

  1. 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用 系統指派的受控識別
  2. 在啟用系統指派的受控識別之後,重新啟動適用於 PostgreSQL 的 Azure 資料庫伺服器實例
  3. 在 Azure 記憶體帳戶上,將角色型訪問控制 (RBAC) 許可權指派給適用於 PostgreSQL 的 Azure 資料庫實例彈性伺服器的系統指派受控識別,以存取 Blob 數據。

啟用系統指派的受控識別

啟用系統指派受控識別的螢幕快照。

若要搭配共用金鑰使用授權

  1. 確認記憶體帳戶允許存取其金鑰
  2. 擷取記憶體帳戶的兩個存取密鑰之一

確認記憶體帳戶允許存取其金鑰

您的 Azure 記憶體帳戶必須啟用 [允許記憶體帳戶密鑰存取 ] (也就是說,它不能將其 AllowSharedKeyAccess 屬性設定為 false)。

確認已啟用 [允許記憶體帳戶金鑰存取] 的螢幕快照。

擷取記憶體帳戶的兩個存取密鑰之一

若要將它傳遞至 azure_storage.account_add 函式,請擷取 Azure 記憶體帳戶 的兩個存取密鑰之一

複製記憶體帳戶存取金鑰的螢幕快照。

載入延伸模組的連結庫

設定伺服器,使其在啟動時載入 azure_storage 二進位模組。

選取伺服器參數中shared_preload_libraries azure_storage的螢幕快照。 shared_preload_libraries因為 是靜態的,伺服器必須重新啟動,變更才會生效:變更shared_preload_libraries時彈出的對話框螢幕快照,才能儲存並重新啟動。

允許清單擴充功能

您必須允許列出延伸模組,讓使用者可以執行 CREATE EXTENSION、DROP EXTENSION、ALTER EXTENSION、COMMENT ON EXTENSION。

在伺服器參數中選取 azure.extensions 中azure_storage的螢幕快照。

建立延伸模組

使用你偏好的客戶端,例如 PostgreSQL for Visual Studio Code (Preview)、psqlPgAdmin,連接到你想使用 Azure Storage 擴充功能的資料庫。

若要建立所有 SQL 物件(數據表、類型、函式、檢視等),您可以使用 azure_storage 擴充功能來與 Azure 記憶體帳戶的實例互動,請執行下列語句:

CREATE EXTENSION azure_storage;

使用延伸模組匯入和匯出數據

現在您已準備好新增您想要與其互動的記憶體帳戶(使用 函 azure_storage.account_add 式)。 然後,您可以使用 函式或 語句,azure_storage.blob_get將儲存在 Azure 記憶體帳戶中檔案中的數據匯入,或者您可以使用 函式或 COPY FROMazure_storage.blob_put 語句,COPY TO將數據從 PostgreSQL 匯出至 Azure 記憶體帳戶中的檔案。

請參閱快速入門範例清單:

如果您需要檢閱延伸模組提供的所有函式,以及每個函式的所有詳細數據,請檢閱完整參考:

此外,如果您需要進行一些疑難解答,請檢閱延伸模組可以產生 的錯誤清單 ,以及可以引發錯誤的內容。

這很重要

針對您必須提供 Azure 記憶體帳戶存取金鑰的驗證類型,請注意,您的 Azure 記憶體存取金鑰類似於記憶體帳戶的根密碼。 請務必小心保護它們。 使用 Azure Key Vault,以安全的方式管理及輪替金鑰。 azure_storage 擴充功能將這些鍵儲存在一個表格中,該表格 azure_storage.accounts可由角色成員 pg_read_all_data 讀取。