当前位置: 首页 > 知识库问答 >
问题:

Boto3错误:botocore.exceptions.无凭据错误:无法定位凭据

茹航
2023-03-14

当我简单地运行以下代码时,我总是得到这个错误。

s3 = boto3.resource('s3')
bucket_name = "python-sdk-sample-%s" % uuid.uuid4()
print("Creating new bucket with name:", bucket_name)
s3.create_bucket(Bucket=bucket_name)

我已将我的证书文件保存在

C:\Users\myname\.aws\credentials,Boto应从中读取我的凭据。

我的设置有错吗?

下面是boto3.set\u stream\u logger('botocore',level='DEBUG')的输出。

2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Skipping environment variable credential check because profile name was explicitly set.
2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Looking for credentials via: env
2015-10-24 14:22:28,773 botocore.credentials [DEBUG] Looking for credentials via: shared-credentials-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: config-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: ec2-credentials-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: boto-config
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: iam-role

共有3个答案

曹超
2023-03-14

如果您正在寻找替代方法,请尝试使用Amazon CLI添加您的凭据

从终端类型:-

aws configure

然后填写您的密钥和区域。

谢锦程
2023-03-14

我有同样的问题,发现我的~/. aws/凭据文件的格式是错误的。

它使用的文件包含:

[default]
aws_access_key_id=XXXXXXXXXXXXXX
aws_secret_access_key=YYYYYYYYYYYYYYYYYYYYYYYYYYY

请注意,必须有一个配置文件名“[默认]”。一些官方文档引用了一个名为“[credentials]”的概要文件,该文件对我不起作用。

杜建章
2023-03-14

尝试手动指定密钥

    s3 = boto3.resource('s3',
         aws_access_key_id=ACCESS_ID,
         aws_secret_access_key= ACCESS_KEY)

出于安全考虑,请确保不要直接在代码中包含访问ID和访问密钥。考虑使用环境配置并在代码中注入它们,如@ TigGeReMiKe所建议的那样。

对于PROD环境考虑使用旋转接入键:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey

 类似资料:
  • 我有一个问题与Google plus访问令牌。它有时给我“无效凭据”错误消息,有时相同的标记显示为活动。 以下是步骤 是否有验证刷新令牌的方法?

  • 我是ldap新手,我尝试了一个我认为很简单的示例,用一个已经有人为测试设置的ldap实例来测试spring ldap模块。 有关我正在使用的ldap实例的详细信息可以在这里找到:http://blog.stuartlewis.com/2008/07/07/test-ldap-service/comment-page-3/ 我使用了ldap浏览器/管理工具(Softerra ldap Admin),

  • 我目前正试图通过Spring Security获得JWT访问令牌。 我不确定为什么凭据不匹配 数据库ˌ资料库 我的data.sql用户从h2-in-memory DB中取出,并Hibernate到一个使用UserDetailsService的对象中: 法典 我的安全配置 我的认证服务器配置 邮差 提交带有以下内容的邮递员请求时: 授权 基本认证 用户名:jwt-example 密码:[未加密的密码

  • 我试图创建一个谷歌日历服务帐户。 以下是我的证件: 以下是我的服务帐户定义(已启用服务帐户的站点范围委托):

  • 我正试图将我们的应用程序集成到active Directory中。我遵循了以下入门指南:https://grails.org/wiki/acegisecurity%20plugin%20-%20ldap%20tutorial,但我得到了一个错误: [LDAP:错误代码49-无效凭据];嵌套异常是javax.naming.AuthenticationException:[LDAP:错误代码49-无效

  • 我已经有这个错误将近一个星期了,现在我正准备让步。我已经使用Maven2制作了这个大的jar文件。当我使用以下命令运行jar文件时: 我得到这个错误: JavaProjectApplicationContext.xml如下所示: 到目前为止我试过的事情。 用3种不同的方式构建项目(2个IDE和命令行)删除了所有jar依赖关系冲突(我有spring-2.5.6.jar和spring-context-