繁体   English   中英

在 AWS CLI 中调用 SendApiAsset 时无法修复“NotFoundException”错误

[英]Can't fix `NotFoundException` error when calling SendApiAsset in AWS CLI

最近,我一直在尝试使用 AWS CLI 从 AWS 市场访问数据产品。 我有该产品的有效订阅; 但是,每当我尝试通过 API 调用访问产品的任何端点时,都会收到NotFoundException错误。

类似于任务 2 中的AWS 研讨会培训,即使用 AWS CLI 调用 API,我尝试使用以下代码调用 SimilarWeb 端点:

aws dataexchange send-api-asset \
--data-set-id **************************** \
--revision-id **************************** \
--asset-id ******************************* \
--method GET \
--path '' \
--query-string-parameters 'param1=value1,param2=value2' \
--output json | jq -r '.Body' | jq '.params.querystring'

但导致以下错误:

An error occurred (NotFoundException) when calling the SendApiAsset operation: No method found matching route / for http method GET

如何修复此错误或从 AWS CLI 或使用 boto3 正确地对 SimilarWeb 的端点进行 API 调用? 请发表您的建议。 谢谢。

AWS Data Exchange 上的每个 API 都有不同的签名,这将告知支持哪些路径以及如何格式化任何其他参数。 NotFoundException通常在提供商的 API 中不存在该路径时发生。 在这种情况下,提供者 SimilarWeb 有一系列端点,它们通常在其网站上进行了描述,但没有一个符合您提供的示例 CLI 调用中指定的根路径。 根据您要调用的端点, pathquery-string-parameters的值将需要更改。

例如,对于网站描述端点path类似于/v1/website/bbc.com/general-data/descriptionquery-string-parameters类似于domain=bbc.com 使用 CLI 的调用将如下所示:

aws dataexchange send-api-asset \
--data-set-id <dataset_id> \
--revision-id <revision_id> \
--asset-id <asset_id> \
--region us-east-1 \
--method GET \
--path '/v1/website/bbc.com/general-data/description' \
--query-string-parameters 'domain=bbc.com'

API 数据产品应包含一个 OpenAPI 规范,该规范有助于说明支持的路径以及与每个路径关联的参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM