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