gpt4 book ai didi

python-3.x - 从 AWS Lambda 上的 S3 读取文件时出现 IncompleteReadError

转载 作者:行者123 更新时间:2023-12-04 13:01:24 25 4
gpt4 key购买 nike

从 AWS Lambda 上的 S3 读取文件时,我收到 IncompleteReadError .当我在本地尝试时,它工作得很好。这仅在 Python3.6 上发生并且在 Python3.7 上工作正常 - 但是我需要使用 Python3.6。我也尝试使用资源而不是客户端,但得到了同样的错误

Traceback (most recent call last):
File "/var/task/function.py", line 141, in handler
i = d.read()
File "/var/runtime/botocore/response.py", line 82, in read
self._verify_content_length()
File "/var/runtime/botocore/response.py", line 134, in _verify_content_length
expected_bytes=int(self._content_length))
botocore.exceptions.IncompleteReadError: 0 read, but total bytes expected is 36678.

失败的代码区域在这里:
client = boto3.client('s3')        
get_json_file = client.get_object(
Bucket=os.environ['S3_BUCKET'],
Key="{0}".format(file_name),
)

d = get_json_file.get('Body')
i = d.read()
data = json.loads(i)

最佳答案

我遇到了同样的问题,我想问题是由于流的大小而出现的。我用过 _raw_stream解决这个问题
尝试这样做:

client = boto3.client('s3')        
object = client.get_object(
Bucket=os.environ['S3_BUCKET'],
Key="{0}".format(file_name),
)

raw_data = object['Body']._raw_stream.data.decode("utf-8")
data = json.loads(raw_data)

关于python-3.x - 从 AWS Lambda 上的 S3 读取文件时出现 IncompleteReadError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56367785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com