【AWS】サーバーレスオフラインでDynamoDBに保存した単一データを取得する
前回は、サーバーレスオフラインで DynamoDB に保存したデータを取得しました。
【AWS】サーバーレスオフラインでDynamoDBに保存したデータを取得する
今回は、保存したデータから、単一データを取得します。
まずは、単一データを取得するためのハンドラーを作成します。
api フォルダに、get-note.js を作成します。
get-notes.js のコードを流用します。
まずは、eventのpathParametersからnote_idを取得します。
また、decodeURIComponentで、URI 形式になっている文字列をデコードしましょう。
次に、paramsを設定します。
TableNameは、tableNameを指定します。
特定のデータを取得するために、IndexNameを設定します。
IndexNameは、serverless.yml のGlobalSecondaryIndexesで設定した、『note_id-index』を指定します。
KeyConditionExpressionは、note_id = :note_idを指定します。
ExpressionAttributeValuesの:note_idは、note_idを指定します。
単一データなので、Limitは、『1』とします。
bodyのitemを単一データにするために、item.Items[0]とします。
ハンドラーの作成が完了したので、YAML を設定します。
serverless.yml を開きます。
functionsにget-noteを作成します。
pathを、note/{note_id}として、note_idを中括弧で囲むと、動的に変わる内容となります。
YAML の設定が完了したので、ターミナルをプロジェクトのディレクトリに移動し、serverless offline を実行します。
ポストマンを開いて、URL を設定します。
今回は、こちらの note_id を指定します。
こちらの note_id を URL にします。
また、Headers を設定しておきましょう。
『Send』をクリックすると、
単一のデータを取得することができました。
次回は、DynamoDB のデータを削除します。
【AWS】サーバーレスオフラインでDynamoDBのデータを削除する
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)