簡體   English   中英

如何在DynamoDB中查詢一列的所有行?

[英]How to query all rows of one column in DynamoDB?

我只是在短時間內使用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

謝謝。

您絕對應該使用掃描操作 檢查文檔以使用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

您必須遍歷整個表並僅獲取所需的列。

這使您可以直接獲取所需的列,而無需遍歷整個數據集

import boto3

def getColumn1Items():
     dynamodb = boto3.resource('dynamodb')
     table = dynamodb.Table('DynamoTable')
     resp = table.scan(AttributesToGet=['column1'])

     return resp['Items']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM