Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查AWS凭证是否存在,无需提出任何请求_Python_Amazon Web Services_Boto3 - Fatal编程技术网

Python 检查AWS凭证是否存在,无需提出任何请求

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

我有一个程序,有时需要使用boto3向AWS API发出请求。有时有人在不提供任何凭据的情况下运行此脚本,当脚本到达需要与AWS交互的点时,它会崩溃,出现
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)