boto3客户端NoRegionError:您必须仅在有时指定区域错误

新手上路,请多包涵

我有一个 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()

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

原文由 WebQube 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

您必须以一种或另一种方式告诉 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 使用哪个区域。

原文由 garnaat 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

就我而言,敏感性很重要。

原文由 Anthony G 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题