我收到错误 “调用 GetServiceQuota 操作时发生错误 (NoSuchResourceException):” 在尝试运行以下 boto3 python 代码以获取“Buckets”的配额值时
client_quota = boto3.client('service-quotas')
resp_s3 = client_quota.get_service_quota(ServiceCode='s3', QuotaCode='L-89BABEE8')
在上面的代码中,QuotaCode“L-89BABEE8”代表“Buckets”。我认为 Amazon S3 的 ServiceCode 值应该是“s3”,所以我把它放在那里,但我猜这是错误的并抛出错误。我尝试查找有关 S3 ServiceCode 的文档,但找不到。我什至尝试过“S3”(此处为大写“S”)、“Amazon S3”,但效果不佳。
我尝试了什么?
client_quota = boto3.client('service-quotas') resp_s3 = client_quota.get_service_quota(ServiceCode='s3', QuotaCode='L-89BABEE8')
我期望什么? S3 的输出格式如下。以下示例适用于 EC2,它是
resp_ec2 = client_quota.get_service_quota(ServiceCode='ec2', QuotaCode='L-6DA43717')
的输出
我刚刚玩了一下,我看到了和你一样的东西,来自任何服务配额列表的空响应或获取服务命令
s3
。然而 s3
绝对是正确的服务代码,因为您看到从服务配额 list_services()
调用返回。然后我看到还有用于 AWS 默认服务配额的 list 和 get 命令,当我尝试时,它返回了数据。我不完全确定,但根据文档,我认为任何无法调整的配额,以及您的帐户尚未请求调整的任何配额,都可能会返回 get_service_quota()
的空响应,并且你需要运行 get_aws_default_service_quota()
来代替。
所以我相信你需要做的可能是先运行这个:
client_quota.get_service_quota(ServiceCode='s3', QuotaCode='L-89BABEE8')
如果抛出异常,则运行以下命令:
client_quota.get_aws_default_service_quota(ServiceCode='s3', QuotaCode='L-89BABEE8')
截至今天 2024 年 7 月 10 日,这不起作用。
不支持使用 GetServiceQuota API 获取 S3 服务配额。