在不提出任何请求的情况下检查是否存在AWS凭据

2024-04-23 12:02:14 发布

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

我有一个程序,有时需要使用boto3向awsapi发出请求。有时有人在不提供任何凭证的情况下运行此脚本,当脚本到达需要与AWS交互的点时,它会以botocore.exceptions.NoCredentialsError崩溃。在

我想通过在脚本启动时验证是否提供了任何凭证来抢占这一点,如果没有,则用一条解释性消息退出。但是,作为noted in the docs,有很多方法可以提供boto3能够理解的凭据,我希望让我的用户使用其中任何一种(而不是要求他们提供凭据作为环境变量)。在

如何在脚本开始时快速检查凭据是否可用(无需向awsapi发出不必要的请求)?在


Tags: in程序脚本aws消息情况boto3awsapi
1条回答
网友
1楼 · 发布于 2024-04-23 12:02:14

尽管文档没有明确说明,但是如果凭据可用,^{}方法将返回一个botocore.credentials.Credentials对象,否则返回{}。在

所以我需要的支票是这样的:

import sys
import boto3
if boto3.session.Session().get_credentials() is None:
    print('Please provide Boto3 credentials, e.g. via the AWS_ACCESS_KEY_ID '
          'and AWS_SECRET_ACCESS_KEY environment variables.')
    sys.exit(-1)

相关问题 更多 >