如何解决AWS climaticy获取企业S3 API ID
我正在尝试为我的企业(非AWS)S3存储桶创建一个Swagger。企业S3旨在模拟AWS S3的功能,并且至少与AWS API调用和AWS cli命令基本兼容。我想使用aws cli apigateway命令执行以下bash脚本来记录S3 API。但是,当我尝试执行时:
aws --endpoint-url https://<user>:<secret>@s3-object.ford.com:9021 apigateway get-rest-apis
我收到以下错误:
An error occurred (404) when calling the GetRestApis operation: <Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist.</Message><Resource>restapis</Resource><RequestId>....</RequestId></Error>
我还尝试从--endpoint-url中删除“ user:secret”,但收到了相同的结果。是否指定了--endpoint-url会抛出apigateway命令,或者看来我们的S3实例与该类型的命令不兼容?除了下面看到的以外,还有其他方法来获取api-id和阶段吗?
bash脚本的相关部分:
aws --endpoint-url https://<user>:<secret>@@<enterprise url> apigateway get-rest-apis | jq -c -r '.items[]' | while read i;
do
id=`echo $i | jq -r '.id'`
name=`echo $i | jq -r '.name'`
for stage in `aws --endpoint-url https://<user>:<secret>@<enterprise url> apigateway get-stages --rest-api-id $id | jq -r '.item[].stageName'`;
do
aws --endpoint-url https://<user>:<secret>@@<enterprise url> apigateway get-export --rest-api-id $id --stage-name "$stage" --export-type swagger docs/${stage}-${name}.json
echo "{\"url\": \"docs/"${stage}"-"${name}".json\",\"name\": \""${stage}"-"${name}"\"}," >> docs-list.json
done
done
更新: Antonin Richie指出我在查询apigateway,而不是S3。如果我们的模拟AWS服务套件中根本不存在 apigateway功能,是否仍有办法获取必要的数据以实现GET / [bucket] /,GET / [bucket]的Swagger文档/ [资源],PUT / [存储桶] / [资源]和DELETE / [存储桶] / [资源]?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。