1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 看起来你在S3中有一个0字节的对象,你认为它是你的文件夹/目录。S3本身不支持文件夹,但是如果你使用S3控制台创建一个文件夹,它会创建一个0字节的S3对象。 当你在Amazon S3中创建一个文件夹时,S3会创建一个0字节的对象,并设置一个以你提供名称的文件夹名作为该对象的键。例如,如果你在你的存储桶中创建一个名为photos的文件夹,Amazon S3控制台将创建一个键为photos/的0字节对象。控制台创建此对象以支持文件夹的概念。
Amazon S3控制台将所有包含“/”字符的对象最后一个(尾随)字符的键名视为文件夹(例如,examplekeyname/)。使用Amazon S3控制台无法上传具有尾随/字符的键名对象。但是,你可以使用AWS CLI、AWS SDK或REST API上传具有尾随/的命名对象。
命名具有尾随/的对象在Amazon S3控制台中显示为一个文件夹。Amazon S3控制台不会显示此类对象的内容和元数据。当你使用控制台复制具有尾随/的对象时,会在目标位置创建一个新文件夹,但不会复制对象的数据和元数据。
按照设计,从S3中导入的功能将扫描给定前缀下的所有S3对象,并尝试读取它们。由于<folder name>/是S3对象,因此我们将其视为数据来处理。
为解决这个问题,尝试不要使用AWS Web控制台创建文件夹,而是直接从CLI或SDK上传你的数据:
aws s3 cp <file> s3://bucket/prefix/to/file.csv。
相关内容
- AWS 官方已更新 4 个月前
- AWS 官方已更新 1 年前