我只能访问S3存储桶中的特定目录.
例如,s3cmd如果我尝试列出整个存储桶,则使用该命令:
$ s3cmd ls s3://my-bucket-url
Run Code Online (Sandbox Code Playgroud)
我收到一个错误: Access to bucket 'my-bucket-url' was denied
但是如果我尝试访问存储桶中的特定目录,我可以看到内容:
$ s3cmd ls s3://my-bucket-url/dir-in-bucket
Run Code Online (Sandbox Code Playgroud)
现在我想用python boto连接到S3存储桶.与以下相似:
bucket = conn.get_bucket('my-bucket-url')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误: boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
但如果我尝试:
bucket = conn.get_bucket('my-bucket-url/dir-in-bucket')
Run Code Online (Sandbox Code Playgroud)
脚本停顿大约10秒钟,然后打印出错误.贝娄是完整的痕迹.知道如何继续这个吗?
Traceback (most recent call last):
File "test_s3.py", line 7, in <module>
bucket = conn.get_bucket('my-bucket-url/dir-name')
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 471, in get_bucket
return self.head_bucket(bucket_name, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 490, in head_bucket
response = self.make_request('HEAD', bucket_name, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 633, in make_request
retry_handler=retry_handler
File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1046, …Run Code Online (Sandbox Code Playgroud) 所有我发现的,这是这个方法GET Bucket 但是我无法理解如何才能获得当前文件夹中的文件夹列表.我需要使用哪个前缀和分隔符?这有可能吗?