AWS 服务配额:如何使用 boto3 获取 Amazon S3 的服务配额

问题描述 投票:0回答:2

我收到错误 “调用 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')

的输出
amazon-web-services service quota
2个回答
2
投票

我刚刚玩了一下,我看到了和你一样的东西,来自任何服务配额列表的空响应或获取服务命令

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')

0
投票

截至今天 2024 年 7 月 10 日,这不起作用。

不支持使用 GetServiceQuota API 获取 S3 服务配额。

https://repost.aws/questions/QUihn3DDUATCWh5NsMMqRQMw/i-am-not-able-to-fetch-service-quota-for-s3-at-account-level#ANYS7lKWawRnKt2Ff7z5jGmw

© www.soinside.com 2019 - 2024. All rights reserved.