GetItem
GetItem リクエストを使用すると、AWS AppSync DynamoDB の関数から DynamoDB への GetItem リクエストで、以下のように指定できます。
-
DynamoDB の項目のキー
-
整合性のある読み込みを使用するかどうか
GetItem リクエストの構造は次のとおりです。
type DynamoDBGetItem = { operation: 'GetItem'; key: { [key: string]: any }; consistentRead?: ConsistentRead; projection?: { expression: string; expressionNames?: { [key: string]: string }; }; };
各フィールドの定義は以下のようになります。
GetItem フィールド
-
operation -
実行する DynamoDB の処理。
GetItemDynamoDB の処理を実行するには、これをGetItemに設定する必要があります。この値は必須です。 -
key -
DynamoDB の項目のキー。DynamoDB の項目には、単一のハッシュキー、またはハッシュキーとソートキーが含まれています。これはテーブルの構造によって変わります。「型付き値」を指定する方法の詳細については、「型システム (リクエストマッピング)」を参照してください。この値は必須です。
-
consistentRead -
DynamoDB で強力な整合性のある読み込みを実行するかどうかを示します。これはオプションであり、デフォルトは
falseです。 projection-
DynamoDB オペレーションから返される属性を指定するために使用されるプロジェクション。プロジェクションの詳細については、「プロジェクション」を参照してください。このフィールドはオプションです。
DynamoDB から返された項目が自動的に GraphQL プリミティブ型と JSON プリミティブ型に変換され、コンテキス結果ト (context.result) で参照できます。
DynamoDB の型変換の詳細については、「型システム (レスポンスマッピング)」を参照してください。
JavaScript リゾルバーの詳細については、「JavaScript リゾルバーの概要」を参照してください。
例
次の例は、GraphQL getThing(foo: String!, bar: String!) クエリの関数リクエストハンドラーです。
export function request(ctx) { const {foo, bar} = ctx.args return { operation : "GetItem", key : util.dynamodb.toMapValues({foo, bar}), consistentRead : true } }
DynamoDB GetItem API の詳細については、「DynamoDB API のドキュメント」を参照してください。