oracle - 使用 PL/SQL SDK Dbms_cloud 从 MinIO 获取存储桶列表
问题描述
您好我一直在努力寻找正确的 URI 格式来与在容器中运行的 MinIO 服务器进行通信我只是在寻找正确的 URI 格式,因为我得到了
ORA-20006:不支持的对象存储 URI - https://play.min.io:9000 ORA-06512:在“C##CLOUD$SERVICE.DBMS_CLOUD”,第 1278 行 ORA-06512:在“C##CLOUD$SERVICE.DBMS_CLOUD” ”,第 5316 行 ORA-06512:在“ADMIN.AWS_LIST_BUCKETS”,第 8 行
注意:我使用 https://play.min.io:9000进行测试
CREATE OR REPLACE FUNCTION aws_list_buckets(
credential_name IN VARCHAR2,
region IN CLOB
) RETURN CLOB
AS
resp dbms_cloud_types.RESP;
BEGIN
resp := dbms_cloud.send_request(
credential_name,
uri => 'https://play.min.io:9000',
method => dbms_cloud.METHOD_GET
);
RETURN dbms_cloud.get_response_text(resp);
结束 aws_list_buckets;
解决方案
错误消息具有误导性。这不是 URI 格式的问题,而是 AUTHORIZED 云提供商的问题。
请以 SYS 身份向 CDB 发出以下命令:
insert into C##CLOUD$SERVICE.dbms_cloud_store values ('AMAZON_S3','%play.min.io',null,1); commit ;
另请注意,您可能需要使用 443 端口(不在您的示例代码中,但对于 dbms_cloud 的 list_objects 方法,它似乎是硬编码的)。
问候,
维吉尔-马克西米利安 CREVON
推荐阅读
- oop - 使用数据库查找从另一种类型的对象创建一种类型的对象
- javascript - JSON 无法将对象解组为字符串类型的 GO 值
- python - 元组迭代向量化
- angular - 使用原生 Angular CLI 工具包、LernaJS 和 ng-packagr 有什么区别?
- sql - 什么是“关闭状态”和“增量行组”
- python - 获取括号表达式的所有部分
- javascript - 使用 Angular 在 AWS 实例中进行构建和部署后无法路由到页面
- sql - 带有连接且不重复的 SQL 联合
- xaml - 如何调整 xaml 文件以适合任何设备
- vue.js - 内容大小 - Vuetify