我应该使用什么 REST API load_source和参数将 CSV 数据从 IBM COS S3 加载到 IBM



我一直无法使用 Db2 on Cloud REST API 从 IBM Cloud Object Storage (COS( 中的文件加载数据。这会阻止混合集成 POC。

另一个用户使用 SERVER 配置报告了类似的 REST API 问题,请参阅 IBM 开发人员线程,请参见 https://developer.ibm.com/answers/questions/526660/how-to-use-db2-on-cloud-rest-api-to-load-data-from.html

我似乎无法正确获取参数,并且我认为文档对于具有 HMAC 密钥的当前云对象存储存在错误......例如,供要使用的终结点,以及auth_id是否应为access_key_id

我已经尝试了各种数据加载命令,如下所示,但没有一个有效。有人可以提供有效的命令示例(对值有任何考虑/解释(吗?

curl -H "x-amz-date: 20200112T120000Z" -H "Content-Type: application/json" 
-H "Authorization: Bearer <auth_token>" 
-X POST "https://dashdb-xxxx.services.eu-gb.bluemix.net:8443/dbapi/v3/load_jobs"
-d '{"load_source": "SOFTLAYER", "schema": "MDW84075",
"table": "SALES", "file_options":
{"code_page": "1208", "column_delimiter": ",",
"string_delimiter": "", "date_format": "YYYY-MM-DD", "time_format": 
"HH:MM:SS", "timestamp_format": "YYYY-MM-DD HH:MM:SS", 
"cde_analyze_frequency": 0 }, "cloud_source":
{"endpoint": "https://s3-api.us-geo.objectstorage.softlayer.net/auth/v2.0", 
"path": "<bucket>/sales_data_test.csv", "auth_id": "<access_key_id>", 
"auth_secret": "<secret_access_key>"} }'

API 调用的不同尝试因各种消息而失败,这些消息通常没有足够的信息进行调试(并且在 doc/web 中搜索找不到消息(;例如:

{"跟踪":">

","错误":[{"代码":"not_found", "消息":"HWCBAS0030E: 在服务管理员中找不到请求的资源。 "目标":{"类型":","名称":"},"more_info":"}]}

附言我能够使用 DB2 on Cloud UI 从 COS S3 中的文件加载数据,具有相同的访问键值。

附言 也许"load_source":"SOFTLAYER"是一个问题,但它是唯一可能映射到 IBM 云对象存储的选项。 API 文档没有提供任何其他可能适用于 IBM COS S3 的选项。

如果您将 Db2 on Cloud 与 Cloud Object Storage 配合使用 REST API,那么对于 LOAD,类型应为 S3。亚马逊和IBM COS都使用S3协议。Softlayer之前有自己的SWIFT协议,但它不再适用于IBM COS。

另请参阅此处,了解有关使用 LOAD 加载数据的一些文档。这些示例使用 Amazon 和 IBM COS,两者都带有 S3 协议。

相关内容

  • 没有找到相关文章

最新更新