お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

NoSQLテーブルへのアイテムの挿入

Catalystでは、アイテムを構築した後、特定のNoSQLテーブルにアイテムを挿入できます。このセクションで説明するさまざまな方法でアイテムを挿入できます。

データの追加と操作に関するヘルプセクション、CatalystカスタムJSON形式、およびサポートされるデータ型を参照して、これらのトピックの詳細を確認できます。

Note: Catalystでは、1回のSDK操作でNoSQLテーブルに最大25件のアイテムを一括挿入できます。

条件なしでのアイテムの挿入

CatalystカスタムJSON形式でアイテムを構築することで、条件なしでNoSQLテーブルに新しいアイテムを挿入できます。この場合、テーブルに設定されたパーティションキーとソートキー属性の値を必須で渡す必要があります。

以下の例では、パーティションキー属性fruitNameの値を「Banana」として含むアイテムが提供されています。文字列データ型の他の属性(fruitColorfruitTypeなど)も、fruitPropertiesというマップとして追加されています。アイテムはinsertItems()メソッドを使用して挿入されます。

copy
// 条件なしでNoSQLアイテムを挿入
const plainInsert = await table.insertItems({
// 挿入するアイテムを定義する with the partition key fruitName
item: NoSQLItem.from({
fruitName: 'Banana',
//アイテムの他の属性の値を指定する
fruitProperties: {
fruitColor: 'Yellow', 
fruitType: 'Berries'  
}
}),
// レスポンスの戻り値を設定する。その他のサポート値は"OLD"と"NULL"
return: NoSQLReturnValue.NEW
});

条件付き関数でのアイテムの挿入

CatalystカスタムJSON形式で定義した特定の条件を使用して、NoSQLテーブルの既存アイテムに属性を挿入できます。この方法では、テーブルの既存データが取得され、指定された条件に対して評価されます。評価が真の場合にのみアイテムが挿入されます。既存データがない場合、条件は無視されアイテムが挿入されます。

Catalystでは、条件を評価するための複数の演算子がサポートされています。サポートされる演算子は以下のとおりです。

Operators Notation
CONTAINS contains
NOT_CONTAINS not_contains
BEGINS_WITH begins_with
ENDS_WITH ends_with
IN in
NOT_IN not_in
BETWEEN between
NOT_BETWEEN not_between
EQUALS equals
NOT_EQUALS not_equals
GREATER_THAN greater_than
LESS_THAN less_than
GREATER_THAN_OR_EQUALS greater_equal
LESSER_THAN_OR_EQUALS less_equal
AND AND
OR OR

以下の例では、既存データ内の属性fruitNameのデータ型がStringであることを条件として定義しています。条件が満たされた場合、これらのアイテムに値「Sweet」を持つ属性tasteが追加されます。

copy
// "attribute_type"関数でNoSQLアイテムを挿入
const attrTypeInsert = await table.insertItems({
// 挿入するアイテムを定義する
item: NoSQLItem.from({ taste: 'Sweet' }),
// 挿入の条件を定義する
condition: {
// 条件は属性タイプがString("S")の場合にアイテムを追加することを指定する
function: {
// 関数タイプを設定する
function_name: 'attribute_type',
// 関数に引数を渡す
args: [
{
// 属性パスを設定する
attribute_path: ['fruitName']
},
// 属性タイプを設定する
NoSQLMarshall.makeString('S') // => { "S": "S" }
]
}
}
});

以下は、条件付き関数を使用してアイテムを挿入するその他のサンプルスニペットです。

copy
//"equals"演算子を使用し、属性"name"の値が"apple"のNoSQLアイテムを挿入する
const operatorEqInsert = await table.insertItems({
// 挿入するアイテムを定義する
item: NoSQLItem.from({ taste: 'Sweet' }),
// 挿入の条件を定義する
condition: {
// 属性パスを設定する
attribute: ['name'],
// 操作に基づいて演算子を設定する
operator: NoSQLOperator.EQUALS,
// 比較する値を設定する
value: NoSQLMarshall.makeString('apple') // => { "S": "apple" }
}
});
//「group_operator」でNoSQLアイテムを挿入する。属性「name」が「apple」かつ属性「variety」が「gala」
const groupOpInsert = await table.insertItems({
// 挿入するアイテムを定義する
item: NoSQLItem.from({ taste: 'Sweet' }),
// 挿入の条件を定義する
condition: {
// グループ演算子を設定する
group_operator: NoSQLConditionGroupOperator.AND,
// グループ条件を指定する
group: [
{
// 属性パスを設定する
attribute: 'name',
// 操作に基づいて演算子を設定する
operator: NoSQLOperator.EQUALS,
// 比較する値を設定する
value: NoSQLMarshall.makeString('apple') // => { "S": "apple" }
},
{
// 属性パスを設定する
attribute: 'variety',
// 操作に基づいて演算子を設定する
operator: NoSQLOperator.EQUALS,
// 比較する値を設定する
value: NoSQLMarshall.makeString('gala') // => { "S": "gala" }
}
]
}
});
//「begins_with」演算子でNoSQLアイテムを挿入する。属性「name」の値が「app」で始まる
const beginsWithInsert = await table.insertItems({
// 挿入するアイテムを定義する
item: NoSQLItem.from({ taste: 'Sweet' }),
// 挿入の条件を定義する
condition: {
// 属性パスを設定する
attribute: ['name'],
// 操作に基づいて演算子を設定する
operator: NoSQLOperator.BEGINS_WITH,
// 比較する値を設定する
value: NoSQLMarshall.makeString('app') // => { "S": "app" }
}
});

最終更新日 2026-03-30 13:40:30 +0530 IST