您必須遵循下列步驟,才能使用 Azure 記憶體擴充功能:
識別 Azure 記憶體帳戶
識別您想要擴充功能使用者與其互動、將數據匯入或匯出至其中的 Azure 記憶體帳戶。
選擇授權類型
決定您要針對每個 Azure 記憶體帳戶之 Blob 服務提出的要求所使用的授權類型。
azure_storage 擴充功能支援使用共用密鑰進行授權,以及具有 Microsoft Entra 識別碼的授權。
在這兩種類型的授權中,Microsoft Entra ID 提供優於共用密鑰的安全性和易於使用,而且是建議的一種Microsoft。
若要符合每個案例所需的必要條件,請遵循對應章節中的指示:
若要搭配 Microsoft Entra 識別碼使用授權
- 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用 系統指派的受控識別 。
- 在啟用系統指派的受控識別之後,重新啟動適用於 PostgreSQL 的 Azure 資料庫伺服器實例。
- 在 Azure 記憶體帳戶上,將角色型訪問控制 (RBAC) 許可權指派給適用於 PostgreSQL 的 Azure 資料庫實例彈性伺服器的系統指派受控識別,以存取 Blob 數據。
啟用系統指派的受控識別
若要搭配共用金鑰使用授權
確認記憶體帳戶允許存取其金鑰
您的 Azure 記憶體帳戶必須啟用 [允許記憶體帳戶密鑰存取 ] (也就是說,它不能將其 AllowSharedKeyAccess 屬性設定為 false)。
擷取記憶體帳戶的兩個存取密鑰之一
若要將它傳遞至 azure_storage.account_add 函式,請擷取 Azure 記憶體帳戶 的兩個存取密鑰之一 。
載入延伸模組的連結庫
設定伺服器,使其在啟動時載入 azure_storage 二進位模組。
允許清單擴充功能
您必須允許列出延伸模組,讓使用者可以執行 CREATE EXTENSION、DROP EXTENSION、ALTER EXTENSION、COMMENT ON EXTENSION。
建立延伸模組
使用你偏好的客戶端,例如 PostgreSQL for Visual Studio Code (Preview)、psql 或 PgAdmin,連接到你想使用 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 Blob 記憶體參考上授與使用者或角色的存取權
- 列出容器中的所有 Blob
- 列出具有特定名稱前置詞的 Blob
- 使用 COPY FROM 語句匯入數據
- 使用 COPY TO 語句匯出數據
- 從 Blob 讀取內容
- 讀取、篩選和修改從 Blob 讀取的內容
- 使用自訂選項從檔案讀取內容(標頭、資料列分隔符、逸出字元)
- 使用譯碼器選項
- 計算 Blob 內容的匯總
- 將內容寫入 Blob
- 列出 Azure 記憶體帳戶的所有參考
- 撤銷 Azure Blob 記憶體參考上使用者或角色的存取權
- 拿掉記憶體帳戶的參考
如果您需要檢閱延伸模組提供的所有函式,以及每個函式的所有詳細數據,請檢閱完整參考:
- azure_storage.account_add
- azure_storage.account_options_managed_identity
- azure_storage.account_options_credentials
- azure_storage.account_options
- azure_storage.account_remove
- azure_storage.account_user_add
- azure_storage.account_user_remove
- azure_storage.account_list
- azure_storage.blob_list
- azure_storage.blob_get
- azure_storage.blob_put
- azure_storage.options_csv_get
- azure_storage.options_copy
- azure_storage.options_tsv
- azure_storage.options_binary
此外,如果您需要進行一些疑難解答,請檢閱延伸模組可以產生 的錯誤清單 ,以及可以引發錯誤的內容。
這很重要
針對您必須提供 Azure 記憶體帳戶存取金鑰的驗證類型,請注意,您的 Azure 記憶體存取金鑰類似於記憶體帳戶的根密碼。 請務必小心保護它們。 使用 Azure Key Vault,以安全的方式管理及輪替金鑰。
azure_storage 擴充功能將這些鍵儲存在一個表格中,該表格 azure_storage.accounts可由角色成員 pg_read_all_data 讀取。
