此刻我的应用程序使用boto3访问AWS资源。但是,我想改用API网关来领导使用的AWS服务,以便所有内容都通过API网关汇合而不是直接到达服务。
我有API网关工作,但是如何告诉Boto3使用此新端点,因为API网关端点是按照每个操作设置的。也就
使用boto3与端点-url参数给我这个错误:
botocore.parsers.responseparsererror:无法解析响应(未构型(无效(无效令牌)):第1行,第0列),接收到无效的XML: {" message":"应将凭据范围划定以正确服务:'execute-api'。}
创建客户端时,您可以传递关键字参数 endpoint_url
,该参数使您可以覆盖默认的URL botocore
否则将为目标服务构建。
import boto3
client = boto3.client('sqs', endpoint_url="https://your.api.gateway.url.here")
您在这里需要一些管理
进行了更多的研究后,真正的答案实际上是不可能的,因为boto3库不支持API网关,因为它可用的服务之一。
请参阅此处:https://github.com/boto/botocore/issues/1140
当前有一个开放的功能请求,可以允许Boto3拨打API网关资源:https://github.com/boto/boto3/issues/1246
如果有人知道我不知道的事情,请让我知道。