使用以下配置。
os.environ['AWS_ACCESS_KEY_ID'] = 'xxxxxx'
os.environ['AWS_SECRET_ACCESS_KEY'] = 'xxxxxxxx'
os.environ['AWS_REGION'] = 'us-west-2'
os.environ['S3_ENDPOINT'] = 's3-us-west-2.amazonaws.com'
os.environ['S3_USE_HTTPS'] = '1'
os.environ['S3_VERIFY_SSL'] = '1'
print(file_io.stat('s3://abcd/def.txt'))
我收到错误
stat(文件名)中的/usr/local/lib/python3.6/dist-packages/tensorflow/python/lib/io/file_io.py 556错误,raise_exception_on_not_ok_status()为状态: 557 pywrap_tensorflow.Stat(compat.as_bytes(filename),file_statistics,status) -> 558返回file_statistics 559 560
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/errors_impl.py in __exit __(self,type_arg,value_arg,traceback_arg) 526无,无, (527)第527章 -> 528 c_api.TF_GetCode(self.status.status))
529#从内存中删除基础状态对象,否则它保持活动状态
530#因为从回溯中引用了此状态,原因是NotFoundError:对象s3://abcd/def.txt不存在
请注意该文件确实存在。
我在写入和关闭时也遇到以下错误。
UnknownError:PermanentRedirect:无法解析ExceptionName:PermanentRedirect消息:您尝试访问的存储桶必须使用指定的端点进行寻址。请将来发送所有请求到该端点。
还需要解决什么?
答案 0 :(得分:1)
这是我的配置的样子:
import os
os.environ['AWS_REGION'] = 'us-west-2'
os.environ['S3_ENDPOINT'] = 'https://s3-us-west-2.amazonaws.com'
os.environ['S3_VERIFY_SSL'] = '0'
我认为你必须改变
os.environ['S3_ENDPOINT'] = 's3-us-west-2.amazonaws.com'
到
os.environ['S3_ENDPOINT'] = 'https://s3-us-west-2.amazonaws.com'
这里有 a link 供您参考。
答案 1 :(得分:0)
您可以使用端点 mybucket.s3-us-west-2.amazonaws.com
然后使用s3:// pathtofile访问