python aws botocore.response.streamingbody 到 json

Dev*_*ami 8 amazon-s3 amazon-web-services python-3.x boto3

我正在使用 boto3 从 S3 访问文件,目标是读取文件并将其转换为 JSON 但问题是所有文件都没有任何文件扩展名(没有 .csv、.json 等),尽管文件中的数据结构类似于 JSON

client = boto3.client(
    's3',
    aws_access_key_id = 'AKEY',
    aws_secret_access_key = 'ASAKEY',
    region_name = 'us-east-1'
)
obj = client.get_object(
    Bucket = 'bucketname',
    Key = '*filename without extension*'
)
Run Code Online (Sandbox Code Playgroud)

obj['Body']返回一个<botocore.response.StreamingBody>对象

能查出里面的数据吗?

Mar*_*cin 16

扩展名并不重要。假设你的文件包含有效的 json,你可以得到它:

my_json = json.loads(obj['Body'].read())
Run Code Online (Sandbox Code Playgroud)

  • 更好的是 `my_json = json.load(obj['Body'])` (8认同)