Чтение содержимого файла gzip из AWS S3 с использованием Boto3 - PullRequest
0 голосов
/ 30 ноября 2018

Ниже приведен код, который я использую для чтения файла gz

import json
import boto3
from io import BytesIO
import gzip

def lambda_handler(event, context):
try:
 s3 = boto3.resource('s3')
 key='test.gz'
 obj = s3.Object('athenaamit',key)
 n = obj.get()['Body'].read()
 #print(n)
 gzip = BytesIO(n)
 gzipfile = gzip.GzipFile(fileobj=gzip)
 content = gzipfile.read()
 print(content)
 return 'dddd'

, за исключением исключения как e: print (e) повышение e Но я получаю сообщение об ошибке ниже

 "errorMessage": "'_io.BytesIO' object has no attribute 'GzipFile'",
 "stackTrace": [
 "  File \"/var/task/lambda_function.py\", line 20, in lambda_handler\n    raise e\n",
"  File \"/var/task/lambda_function.py\", line 14, in lambda_handler\n    gzipfile = gzip.GzipFile(fileobj=gzip)\n"

pythonверсия -3.7

Я также попытался реализовать предложенное ниже предложение https://stackoverflow.com/questions/32794837/pass-io-bytesio-object-to-gzip- gzipfile-and-write-to-gzipfile

, но оно также не работает для меня, просьба предложитькак я могу прочитать содержимое файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...