項目の読み取り
単一項目の読み取り
単一項目の読み取りには、GetItemアクションを使用する。一部の属性のみを取得する場合には、ProjectionExpressionを使用する。
{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" }, "ProjectionExpression": "AlbumTitle, Year, Price" }
複数項目の読み取り
複数項目の読み取りには、Queryアクションを使用する。Queryアクションは、複合プライマリキー (PartitionKeyとSortKey) のあるテーブルで使用できる。KeyConditionExpressionやFilterExpressionの中で、ExpressionAttributeValuesの値をプレースホルダーとして使用する必要がある。
{ TableName: "Music", KeyConditionExpression: "Artist = :a and SongTitle = :t", ExpressionAttributeValues: { ":a": "No One You Know", ":t": "Call Me Today" } }
全ての項目の読み取り
全ての項目の読み取りには、Scanアクションを使用する。FilterExpressionを用いて不要な項目を除外することもできるが、Scan後に実行されることに留意が必要である。
// Return all of the values for Artist and Title { TableName: "Music", ProjectionExpression: "Artist, Title" }
項目の書き込み
新たな項目の書き込み
新たな項目の書き込みには、PutItemアクションを使用する。
{ TableName: "Music", Item: { "Artist":"No One You Know", "SongTitle":"Call Me Today", "AlbumTitle":"Somewhat Famous", "Year": 2015, "Price": 2.14, "Genre": "Country", "Tags": { "Composers": [ "Smith", "Jones", "Davis" ], "LengthInSeconds": 214 } } }
既存の項目の変更
既存の項目の変更には、UpdateItemアクションを使用する。既存の項目が存在する場合には更新され、存在しない場合には項目が追加される。条件付き書き込みをサポートしており、ConditionExpressionがtrueと評価されたときのみ実行される。
{ TableName: "Music", Key: { "Artist":"No One You Know", "SongTitle":"Call Me Today" }, UpdateExpression: "SET RecordLabel = :label", ConditionExpression: "Price >= :p", ExpressionAttributeValues: { ":label": "Global Records", ":p": 2.00 } }
項目の削除
項目の削除には、DeleteItemアクションを使用する。条件付き削除をサポートしており、ConditionExpressionがtrueと評価されたときのみ実行される。
{ TableName: "Music", Key: { Artist: "The Acme Band", SongTitle: "Look Out, World" }, ConditionExpression: "attribute_exists(RecordLabel)" }