我正试图从s3桶中读取.txt文件内容并返回其所有行。我是这样做的:
s3 = boto3.resource('s3')
res = s3_client.Object(bucket_name, key_name)
data = res.get()['Body'].read().decode('utf-8').splitlines()
for i in data:
print(i)
它打印内容,但它只打印最后30行,我想让它返回所有的内容。
CloudWatch这个Lambda函数的日志应该是打印日志的最终视图。
你的代码看起来是正确的- StreamingBody上的read函数返回所有数据(如果你不指定一个数量参数),所以我不认为你的代码有问题。它是接收整个文件内容。
看起来,您在Lambda控制台中看到的截断视图可能仅仅是控制台的限制,以避免显示过多的输出行。