gpt4 book ai didi

amazon-s3 - 为什么 Amazon S3 身份验证处理程序还没有准备好?

转载 作者:行者123 更新时间:2023-12-03 06:37:13 24 4
gpt4 key购买 nike

我已正确设置 $AWS_ACCESS_KEY_ID 和 $AWS_SECRET_ACCESS_KEY 环境变量,并运行以下代码:

import boto
conn = boto.connect_s3()

并收到此错误:

boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler']

发生什么事了?我不知道从哪里开始调试。

<小时/>

boto 似乎没有从我的环境变量中获取值。如果我将 key ID 和 key 作为参数传递给连接构造函数,则效果很好。

最佳答案

Boto 将从环境变量中获取您的凭据。我已经用 V2.0b3 对此进行了测试,效果很好。它将优先考虑在构造函数中显式指定的凭据,但它也会从环境变量中获取凭据。

执行此操作的最简单方法是将您的凭据放入文本文件中,并指定该文件在环境中的位置。

例如(在 Windows 上:我希望它在 Linux 上也能同样工作,但我个人还没有尝试过)

创建一个名为“mycred.txt”的文件并将其放入 C:\temp该文件包含两行:

AWSAccessKeyId=<your access id>
AWSSecretKey=<your secret key>

将环境变量 AWS_CREDENTIAL_FILE 定义为指向 C:\temp\mycred.txt

C:\>SET AWS_CREDENTIAL_FILE=C:\temp\mycred.txt

现在是上面的代码片段:

import boto
conn = boto.connect_s3()

可以正常工作。

关于amazon-s3 - 为什么 Amazon S3 身份验证处理程序还没有准备好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com