Recommend

【AppSync・Amplify】データのIDや作成時刻を自動で設定するリゾルバ

Recommend
この記事は約1分で読めます。

はじめに

AWSのAppSyncやAmplifyを使用することで、GraphQLのAPIを容易に構築することができます。

mutationでデータを作成するときに、IDcreatedAtの値をAWS側で自動で割り振ることができます。

そのためには、リクエストマッピングテンプレートに以下を設定します。

IDやcreatedAtを自動で設定する例

{
  "version": "2017-02-28",
  "operation": "PutItem",
  "key": {
    "ID": { "S": "$util.autoId()" },
    "createdAt": { "S": "$util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ", "+09:00") " }
  },
  "attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input),
}

まとめ

$util.autoId()$util.time.nowFormatted()を設定することで、DynamoDB側でデータの作成が可能です。
もちろん、クエリに含める必要はなくなります。