NoSQLでのデータ操作
NoSQLのデータ単位はアイテムと呼ばれ、各データアイテムはリレーショナルデータベースのレコードや行に相当します(この用語で説明しています)。Catalystでは、Java、Node.js、PythonのサーバーサイドSDKおよびAPIを使用して、NoSQLテーブルでCRUD操作を実行できます。
Catalystは、次のセクションで説明するCatalystカスタムJSON形式でデータを追加する機能を備えた、キーバリューペアベースのドキュメント型データストレージをサポートしています。
Catalystでは、JSONデータで複数のデータ型を使用でき、NoSQL属性をそれらで設定できます。テーブルにデータを追加または更新する際に、属性に適切なデータ型を宣言できます。
サポートされるデータ型
Catalyst NoSQLの属性でサポートされるデータ型を以下に示します。
| データ型 | 表記 | 説明 |
|---|---|---|
| String | S | 文字のシーケンスを格納 |
| Number | N | 数値を格納 |
| Binary | B | バイトのシーケンスを表すバイナリ数値を格納 |
| Boolean | BOOL | trueまたはfalseのブール値を格納 |
| Set of String | SS | 1つ以上の一意の文字列を格納するセット |
| Set of Numbers | SN | 数値のコレクションを格納するセット |
| Set of Binary | SB | バイナリ数値のコレクションをバイトセットとして格納するセット |
| List | L | 同じデータ型の順序付き要素を格納 |
| Map | M | キーバリューペア要素の順序なしコレクションを格納 |
| Null | NULL | NULLという値のみを格納 |
NoSQLでデータを追加する際のこれらのデータ型の表記と使用方法については、CatalystカスタムJSON形式セクションを参照してください。
-
コンソールからNoSQLのテーブルまたはインデックスを設定する場合、CatalystではテーブルのプライマリキーにStringまたはNumberの2つのデータ型のうちの1つのみを選択できます。これにはパーティションキー、ソートキー、追加ソートキーが含まれます。
-
NoSQLテーブルにデータを追加または更新する際は、宣言したデータ型に一致する適切な値を属性に常に追加するようにしてください。データ型と値の不一致はエラーをスローします。
CatalystカスタムJSON形式
CatalystカスタムJSONは、CatalystがNoSQLで処理できるJSONデータの形式です。構文は標準JSON形式に似ていますが、各属性に設定されたデータ型の指定が追加されています。
CatalystカスタムJSON形式を理解するために、サンプルテーブルを見てみましょう。
サンプルテーブルの表現
テーブル名- Employees
{
"item": {
"EmpID": {
"N": "10999"
},
"FirstName":{
"S": "Paul"
},
"LastName":{
"S": "Smith"
},
"YearOfJoining":{
"N": 2011
},
"PriorExperience":{
"BOOL": false
},
"Location": {
"M": {
"Country": {
"S": "USA"
},
"City": {
"S": "New York"
}
}
}
},
“item”: {
“EmpID”: {
“N”: “10113”
},
“FirstName”:{
“S”: “Lana”
},
“LastName”:{
“S”: “Belle”
},
“YearOfJoining”:{
“N”: 2019
},
“PriorExperience”:{
“BOOL”: true
},
“Department”: {
“S”: “IT”
}
},
“item”: {
“EmpID”: {
“N”: “29123”
},
“FirstName”:{
“S”: “Kevin”
},
“LastName”:{
“S”: “Wilson”
},
“YearOfJoining”:{
“N”: 2023
},
“Clubs”:{
“L”:
[
{
“S”: “Innovate”
},
{
“S”: “Swimmers of NPY”
},
{
“S”: “Technova”
}
]
}
}
}
Employeesテーブルには、Location属性の下にネストされたJSONプロパティと、配列値を持つ属性Clubsが含まれています。このテーブルでは、各属性は設定されたデータ型で表記されています。例えば、EmpIDとYearOfJoiningにはN(Number)、FirstNameとLastNameにはSが使用されています。ブール属性PriorExperienceはBOOLとして表記されています。
使用可能なすべてのデータ型とその表記については、サポートされるデータ型セクションを参照してください。
重要な注意事項:
-
テーブルのプライマリキー(パーティションキーとソートキー)は、テーブルにデータを追加または更新するためのアイテムを構築する際にルートに存在する必要があります。ここに示されている形式は表現のみです。このJSON形式で各サーバーサイドSDKのデータを構築するフォーマットは異なります。
-
テスト用として、CatalystコンソールからNoSQLテーブルのデータを標準JSON形式またはCatalystカスタムJSON形式のいずれかで追加または更新できます。
-
Java、Node.js、Pythonのサーバー固有のSDK、またはAPIを通じてNoSQLテーブルにデータを追加または更新する場合は、CatalystカスタムJSON形式でのみ行えます。SDKヘルプリソースには、そのプログラミング環境でのデータアイテムの構築と挿入のフォーマットと例が含まれています。
-
コンソールからデータを追加または更新する際に標準JSON形式を使用する場合、テーブルまたはインデックスの作成時にプライマリキー属性に関連付けられたデータ型が自動的に処理されます。その他のすべての属性については、提供された値に基づいてCatalystがデータ型を自動的に認識します。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us