你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于: Azure Database for PostgreSQL - 灵活服务器
必须按照以下步骤才能使用 Azure 存储扩展:
标识 Azure 存储帐户
确定希望扩展用户与之交互的 Azure 存储帐户,以便将数据导入或导出到其中。
选择授权类型
确定要用于针对每个 Azure 存储帐户的 Blob 服务发出的请求的授权类型。
azure_storage
扩展支持使用共享密钥进行授权,并使用 Microsoft Entra ID 进行授权。
在这两种类型的授权中,Microsoft Entra ID 提供优于共享密钥的安全性和易用性,并且是建议的一种Microsoft。
若要满足每个情况下所需的先决条件,请按照相应部分中的说明作:
将授权与 Microsoft Entra ID 配合使用
- 在 Azure Database for PostgreSQL 灵活服务器上启用 系统分配的托管标识 。
- 在启用系统分配的托管标识后,重启 Azure Database for PostgreSQL 灵活服务器的实例。
- 将基于角色的访问控制(RBAC)权限分配给 Azure Database for PostgreSQL 灵活服务器的实例的系统分配托管标识,以便访问 Blob 数据。
启用系统分配的托管标识
将授权与共享密钥配合使用
确认存储帐户允许访问其密钥
Azure 存储帐户必须启用 “允许存储帐户密钥访问” (也就是说,它不能将其 AllowSharedKeyAccess 属性设置为 false)。
提取存储帐户的两个访问密钥之一
若要将其传递给 azure_storage.account_add 函数,请提取 Azure 存储帐户 的两个访问密钥之一 。
加载扩展库
配置服务器,以便在启动时加载 azure_storage
二进制模块。
允许列表扩展
必须允许列出扩展,以便用户可以运行 CREATE EXTENSION、DROP EXTENSION、ALTER EXTENSION、COMMENT ON EXTENSION。
创建扩展
在 Azure Database for PostgreSQL 灵活服务器中使用偏好的客户端(例如 PostgreSQL for Visual Studio Code 扩展、psql、pgAdmin 等),连接到要使用 Azure 存储扩展的数据库。
若要创建可以使用扩展与 Azure 存储帐户实例交互的所有 SQL 对象(表、类型、函数、视图等), azure_storage
请执行以下语句:
CREATE EXTENSION azure_storage;
使用扩展导入和导出数据
现在,你已准备好添加要与之交互的存储帐户(使用 azure_storage.account_add
函数)。 然后,可以使用函数或COPY FROM
语句将存储在 Azure 存储帐户azure_storage.blob_get
中的文件中的数据导入,也可以使用函数或COPY TO
语句将数据从 PostgreSQL 导出到 Azure 存储帐户azure_storage.blob_put
中的文件中。
查看快速入门示例列表:
- 创建 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 密钥保管库安全地管理和轮换密钥。
azure_storage
扩展将这些密钥存储在可由角色成员读取的azure_storage.accounts
表中pg_read_all_data
。
相关内容
- 快速入门示例。
- 排查错误。
- 参考。
- Azure 存储扩展。
- 扩展和模块。