Amazon web services botocore.exceptions.ClientError:发生错误(AuthFailure)
不知道这里发生了什么。。。在使用boto3客户端执行简单的描述实例时,我遇到了这个错误 错误: botocore.exceptions.ClientError:调用DescribeInstances操作时发生错误(AuthFailure):AWS无法验证提供的访问凭据 代码段:Amazon web services botocore.exceptions.ClientError:发生错误(AuthFailure),amazon-web-services,amazon-ec2,boto3,botocore,Amazon Web Services,Amazon Ec2,Boto3,Botocore,不知道这里发生了什么。。。在使用boto3客户端执行简单的描述实例时,我遇到了这个错误 错误: botocore.exceptions.ClientError:调用DescribeInstances操作时发生错误(AuthFailure):AWS无法验证提供的访问凭据 代码段: def get_ec2_client(aws_access_key_id, aws_secret_access_key, region_name): return boto3.client(
def get_ec2_client(aws_access_key_id, aws_secret_access_key, region_name):
return boto3.client(
'ec2',
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
region_name=region_name
)
instances=client.describe_instances()
我在debug中运行了这个,所以我确信creds是正确的。我在cli中也使用了相同的creds,而且它工作正常,所以有点搞不清楚到底发生了什么。
这是工作到昨天,所以我检查了boto3和botocore模块的更新。它们几乎每天都在更新,但我在最新的更新中没有看到任何突破性的变化
我在这里已经有一段时间了,仍然找不到问题所在。有人知道吗
由于我今天面临这个问题,我使用:
boto3 1.15.11在snipet中的botocore 1.18.11,您在哪里调用
get\u ec2\u client
?它没有显示。是的,您的代码似乎是返回到客户机
,并且它永远不会到达描述\u实例()
调用。此外,建议您使用AWS CLIAWS configure
命令将凭据存储在文件中,而不是传递凭据。通过这种方式,boto3将自动找到凭据,您在创建客户端时无需传递凭据。感谢您的回复,代码交互的更完整图片。。客户端实际上在一个方法中:def get_ec2_snapshot(client):snap=client.descripe_instances(),这个def本身在这里调用:def get_snapshot(creds):snap=get_ec2_snapshot(get_ec2_client)(creds.get('AWS_ACCESS_KEY_ID'),creds.get('AWS_SECRET_ACCESS_KEY_KEY')),地区(名称))