Python 检查AWS凭证是否存在,无需提出任何请求
我有一个程序,有时需要使用boto3向AWS API发出请求。有时有人在不提供任何凭据的情况下运行此脚本,当脚本到达需要与AWS交互的点时,它会崩溃,出现Python 检查AWS凭证是否存在,无需提出任何请求,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,我有一个程序,有时需要使用boto3向AWS API发出请求。有时有人在不提供任何凭据的情况下运行此脚本,当脚本到达需要与AWS交互的点时,它会崩溃,出现botocore.exceptions.NoCredentialsError 我希望在脚本启动时验证是否提供了任何凭据,如果没有提供,则退出并给出解释性消息,从而预先解决这个问题。然而,正如boto3所理解的,有很多可能的方法可以提供凭证,我希望让我的用户使用其中的任何一种(而不是要求他们提供凭证作为环境变量) 如何在脚本开始时快速检查凭据是否
botocore.exceptions.NoCredentialsError
我希望在脚本启动时验证是否提供了任何凭据,如果没有提供,则退出并给出解释性消息,从而预先解决这个问题。然而,正如boto3所理解的,有很多可能的方法可以提供凭证,我希望让我的用户使用其中的任何一种(而不是要求他们提供凭证作为环境变量)
如何在脚本开始时快速检查凭据是否可用(无需向AWS API发出不必要的请求)?尽管文档没有明确说明,但如果凭据可用,该方法将返回
botocore.credentials.credentials
对象,否则返回None
我需要的支票是这样的:
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)