【发布时间】:2020-03-22 03:07:28
【问题描述】:
我让 AWS Config 每 12 小时将我的 AWS 系统的快照发送到 S3 存储桶。它们是以 .json.gz 格式存储的 JSON 文件,其中包含有关整个 AWS 系统的信息。在存储桶中创建对象时,会触发 Lambda 函数来读取该文件。我的计划是读取函数中的 JSON 信息,解析数据并创建描述 AWS 系统某些元素的报告,然后将这些报告推送到另一个 S3 存储桶。
我当前的代码是:
data = s3.get_object(Bucket=bucket, Key=key)
text = data['Body'].read().decode('utf-8')
json_data = json.loads(text)
我目前遇到的错误是:'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
我的猜测是这个错误是说 data['Body'] 中的某些字节不是 ASCII 字符。显然我无法使用标准 utf-8 解码,所以我想解压缩 .gz 文件。有没有办法做到这一点?我已经查看了 zipfile.py,但我无法真正收集有关我的用例的任何信息。谢谢。
【问题讨论】:
标签: python json amazon-web-services utf-8 aws-lambda