boto3 client NoRegionError:有时必须指定区域错误

2024-05-23 20:11:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个boto3客户:

boto3.client('kms')

但它发生在新机器上,它们是动态打开和关闭的。

    if endpoint is None:
        if region_name is None:
            # Raise a more specific error message that will give
            # better guidance to the user what needs to happen.
            raise NoRegionError()

为什么会这样?为什么只有一部分时间?


Tags: tonameclient机器none客户ifis
3条回答

不管怎样,您必须告诉boto3您希望在哪个区域创建kms客户机。这可以使用region_name参数显式地完成,如下所示:

kms = boto3.client('kms', region_name='us-west-2')

或者您可以在~/.aws/config文件中有一个与您的配置文件关联的默认区域,如下所示:

[default]
region=us-west-2

或者可以使用环境变量,如下所示:

export AWS_DEFAULT_REGION=us-west-2

但你需要告诉boto3使用哪个区域。

我相信,默认情况下,boto会选择aws cli中设置的区域。您可以运行命令aws configure并按enter(它显示您在带有region的aws cli中设置的cred)两次来确认您的region。

os.environ['AWS_DEFAULT_REGION'] = 'your_region_name'

在我看来,敏感性很重要。

相关问题 更多 >