我只是在短时间内使用 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
谢谢。

最佳答案

你绝对应该使用 Scan operation 。检查 documentation 以使用 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

您必须遍历整个表并只获取您需要的列。

关于python - 如何查询DynamoDB中一列的所有行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54996861/

10-16 01:47