1
1

More than 1 year has passed since last update.

DynamoDBのレコードを主キー以外で取得するLambda

Last updated at Posted at 2022-12-12

概要

LambdaからDynamoDBのレコードを主キー以外で取得する方法を紹介します。

前提条件

  • DynamoDBにテーブルが作成されており、データも登録されていること
  • 必要なIAM権限が付与されていること

環境

  • ランタイム:Python3.9
  • リージョン:ap-northeast-1

コード

  import boto3
  from boto3.dynamodb.conditions import Attr

  dynamoDB = boto3.resource("dynamodb")
  table_name = <DynamoDBのテーブル名>
  table = dynamoDB.Table(table_name)

  def lambda_handler(event, context):
      column = <検索に使うカラム名>
      data = <検索に使う値>
      
      responce = table.scan(
          FilterExpression = Attr(column).eq(data)
      )
      
      return responce

説明

scan関数内の FilterExpression で Attr を指定することで、主キー以外でのレコード取得が実現できます。

2行目の import に Key を加え、scan関数内の FilterExpression で Key を指定すると、主キーでのレコード取得になります。

また、.eq() は .ne() にすると、指定した値以外のレコードを取得可能です。

実行例

  • コード
    code

  • 結果
    result

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1