Вызов запроса Amazon S3 select_object_content - PullRequest
1 голос
/ 20 апреля 2019

У меня есть следующий вызов функции, который работает

def s3_select():
    client = boto3.client("s3")
    bucket = "test"
    key = "test.json"
    expression_type = "SQL"
    expression = """SELECT * FROM S3Object"""
    input_serialization = {"JSON": {"Type": "Document"}}
    output_serialization = {"JSON": {}}
    response = client.select_object_content(
        Bucket=bucket,
        Key=key,
        ExpressionType=expression_type,
        Expression=expression,
        InputSerialization=input_serialization,
        OutputSerialization=output_serialization
    )
    for event in response["Payload"]:
        print(event)

Вместо того, чтобы извлекать все содержимое моего json в S3, как мне изменить выражение, чтобы просто вытащить какое-то поле в json.

Пример, если мой test.json содержит ключ с именем TEST_KEY Как мое выражение может измениться, чтобы просто извлечь TEST_KEY из файла json?

1 Ответ

1 голос
/ 20 апреля 2019

Для подробного случая все, что вам нужно изменить, - это expression, например

expression = """SELECT s.TEST_KEY FROM S3Object s"""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...