miyakou
@miyakou

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

[AWS]queryで検索後、中身の取り出し方

解決したいこと

プログラミング初心者です。
訳があってAWSのサービスをしようすることになったのですが、
全くわからないので教えて下さい。

質問
AWSlambdaで下記のコードでdynamoDBからデータの検索を行うことが出来ました。
検索後にIDの中身の「tanaka taro」だけを取り出したいのですがどうすれば取り出せるのでしょうか。

ソースコード

    response = table.query(
        KeyConditionExpression=Key('ID').eq('tanaka taro')
    )

responceの中身

    {
      "ID": "tanaka taro",
      "LatestGreetingTime": "Mon, 30 Nov 2020 04:21:58 +0000"
    }

やりたいこと

      tanaka taro
0

1Answer

queryのレスポンスにItemsというキーでアイテムの配列が含まれています。

query
response = table.query(
    KeyConditionExpression=Key('ID').eq('tanaka taro')
)

for item in response['Items']:
    print(item['ID'])

必ず結果が1つだけになる場合はget_itemの方が便利かもしれません。
こちらはレスポンスにItemというキーでアイテムが含まれています。

get_item
response = table.get_item(
    Key={'ID': 'tanaka taro'}
)

if 'Item' in response:
    print(response['Item']['ID'])

Boto3 Docs - DyanmoDB.Table.query
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Table.query

Boto3 Docs - DyanmoDB.Table.get_item
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Table.get_item

0Like

Comments

  1. @miyakou

    Questioner

    出来ました!!
    早々のご回答ありがとうございました!!

Your answer might help someone💌