【发布时间】:2017-02-22 05:53:47
【问题描述】:
我一直在尝试从运行在 EC2 实例上的 python 程序访问 S3 存储桶。附上代码和错误:
from boto.s3.connection import S3Connection
import boto
conn=S3Connection()
bucket=conn.get_bucket('nplr1')
错误:
Traceback (most recent call last):
File "Main.py", line 140, in <module>
main()
File "Main.py", line 33, in main
conn.get_all_buckets()
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 444, in get_all_buckets
response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message>
这是我的 /etc/boto.cfg 文件
[Credentials]
aws_access_key_id = 'id'
aws_secret_access_key = 'key'
[s3]
region='ap-south-1'
aws_access_key_id ='id'
aws_secret_access_key = 'key'
这有什么问题?为什么我无法访问存储桶?
【问题讨论】:
-
我认为'host'应该是'region'。
-
嘿@zatta,我尝试用区域替换主机,但出现此错误:boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
-
bucketname 是否正确?如果是,提供的密钥是否可以访问它?
-
嗨@franklinsijo,我编辑了我的问题。我收到错误消息 >您提供的 AWS 访问密钥 ID 在我们的记录中不存在。我是否必须使用 AWS 配置文件更改任何内容?
-
检查区域是否正确。没有 ap-south-1 区域。我看到有亚太地区(新加坡)ap-southeast-1 apigateway.ap-southeast-1.amazonaws.com HTTPS 亚太地区(悉尼)ap-southeast-2 apigateway.ap-southeast-2.amazonaws.com HTTPS
标签: amazon-web-services amazon-s3 amazon-ec2