Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 是否有一种方法可以列出或迭代S3中的文件内容?_Amazon Web Services_Amazon S3_Boto3 - Fatal编程技术网

Amazon web services 是否有一种方法可以列出或迭代S3中的文件内容?

Amazon web services 是否有一种方法可以列出或迭代S3中的文件内容?,amazon-web-services,amazon-s3,boto3,Amazon Web Services,Amazon S3,Boto3,我有一个S3对象,它有一个键 我试图在S3中迭代一个键的值,它基本上是一个简单的.txt文件。在迭代对象和在对象中列出文件时,我发现了类似的问题,但到目前为止,在迭代文件本身的实际内容时,还没有发现任何问题 下面的代码将返回包含数据的对象和bucket,但它不会列出它的内容,也不会给我一个选项来迭代它的内容。这似乎只是过滤对象本身中的键,但我正在尝试打开或/和迭代键的值 s3 = boto3.resource('s3') bucket = s3.Bucket('account-id-met

我有一个S3对象,它有一个键

我试图在S3中迭代一个键的值,它基本上是一个简单的.txt文件。在迭代对象和在对象中列出文件时,我发现了类似的问题,但到目前为止,在迭代文件本身的实际内容时,还没有发现任何问题

下面的代码将返回包含数据的对象和bucket,但它不会列出它的内容,也不会给我一个选项来迭代它的内容。这似乎只是过滤对象本身中的键,但我正在尝试打开或/和迭代键的值

s3 = boto3.resource('s3')  

bucket = s3.Bucket('account-id-metadata')

for i in bucket.objects.filter(Prefix='data.txt'):
    print(i)
想知道S3是否可以使用boto3

注意:这最初是在一个本地文件中,我计划在本地迭代该文件;然而,由于数据量太大,它正在崩溃&占用了大量内存,因此我将其转移到S3,希望能执行相同的功能。


提前感谢您。

对对象“内容”有效的Amazon S3操作只有一个


这允许您使用类似SQL的命令从特定文件格式的单个对象中提取行和列。这在需要从大型对象提取少量信息时非常有用。

除非您的文件大小为TB,否则您是否考虑过修改代码对文件的操作方式,使其不需要一次性加载到内存中?如果您的操作非常不平凡,您可能会考虑实际使用某种数据库解决方案。如果只需要从文件中获取特定的行,就可以使用。此外,您还可以
获取对象的一部分,而不是一次获取整个对象。