mar*_*rco 10 session amazon-s3 python-3.x centos7 boto3
现在,这是一个奇怪的事情。我在~/.aws/config中创建了一个配置
[profile dev_config]
output = json
region = us-east-1
Run Code Online (Sandbox Code Playgroud)
我的~/.aws/credentials文件中也有凭证。仅供参考,信息故意为空白。
[dev_config]
aws_access_key_id = ...
aws_secret_access_key = ...
aws_session_token = ...
Run Code Online (Sandbox Code Playgroud)
当我运行 python 脚本时,我执行
session = boto3.Session(profile_name="dev_config")
s3client = session.client('s3')
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我收到错误
“找不到配置文件(dev_config)”
我完全被这个问题难住了,因为我的配置和凭据文件似乎一切都正确。所有论坛都表明我的配置或凭据文件设置错误,但我已准备就绪。就像 boto3 由于某种原因无法归档我的文件一样。顺便说一句,我正在 centos7 中通过 pycharm 运行它。如果有人还有什么需要我检查的,请帮忙。
另外,我知道这是与其他帖子类似的问题,但现在这些都对我没有帮助。正如我所说,它们都指向一个错误的配置。
mar*_*rco 13
@Syumak,感谢您的回复。我的案例的解决方案并不明显,但希望这能帮助其他可能遇到同样问题的人。
问题是 boto3 的配置文件的默认位置为
AWS_CONFIG_FILE = ~/.aws/config
Run Code Online (Sandbox Code Playgroud)
在项目的 .env 文件或系统上的全局 env 文件中,您需要将 AWS_CONFIG_FILE 位置设置为实际路径而不是上面的路径。因此,就我而言,我在 .env 文件中执行了以下操作。
AWS_CONFIG_FILE = /home/<user>/.aws/config
AWS_SHARED_CREDENTIALS_FILE = /home/<user>/.aws/credentials
Run Code Online (Sandbox Code Playgroud)
之后我的程序能够找到配置文件。
| 归档时间: |
|
| 查看次数: |
21576 次 |
| 最近记录: |