Как запросить все строки одного столбца в DynamoDB? - PullRequest
0 голосов
/ 05 марта 2019

Я просто работаю с AWS DynamoDB в сжатые сроки.Мне интересно, как я могу получить тот же результат с этим оператором (без предложения WHERE):

SELECT column1 FROM DynamoTable;

Я пытался (но не смог) с:

 import boto3
 dynamodb = boto3.resource('dynamodb')
 table = dynamodb.Table('DynamoTable')
 from boto3.dynamodb.conditions import Key, Attr
 resp = table.query(KeyConditionExpression=Key('column1'))

Требуется Key().eq() или Key().begin_with() ...

Я уже пытался с resp = table.scan(), но данные ответа слишком много полей, в то время как мне нужно только column1

Спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

Вы обязательно должны использовать Операция сканирования .Проверьте документацию , чтобы реализовать ее с помощью Python.

Относительно того, как выбрать только определенный атрибут, который вы можете использовать:

import boto3

def getColumn1Items():
    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table('DynamoTable')
    response = table.scan()

    lst = []
    for i in response['Items']:
        lst.append(i['column1'])

    return lst

Вы должны выполнить итерацию по всемутаблицы и просто выберите нужный столбец.

...