Lê *_*ành 3 python amazon-dynamodb boto3
我只是在短时间内使用 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'))
Run Code Online (Sandbox Code Playgroud)
它需要Key().eq()或Key().begin_with()...
我resp = table.scan()已经尝试过了,但是响应数据的字段太多,而我只需要column1
谢谢。
amp*_*and 11
这使您可以直接获取所需的列,而无需遍历整个数据集
import boto3
def getColumn1Items():
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('DynamoTable')
resp = table.scan(AttributesToGet=['column1'])
return resp['Items']
Run Code Online (Sandbox Code Playgroud)
您绝对应该使用扫描操作。检查文档以使用 python 实现它。
关于如何仅选择您可以使用的特定属性:
import boto3
def getColumn1Items():
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('DynamoTable')
response = table.scan()
return [i['column1'] for i in response['Items']]
Run Code Online (Sandbox Code Playgroud)
您必须迭代整个表并只获取您需要的列。