

# 複雑なオペレーションの構築
<a name="workbench.querybuilder.operationbuilder"></a>

Amazon DynamoDB 用 NoSQL Workbench のオペレーションビルダーは、複雑なデータプレーンオペレーションが実行できる視覚的なインターフェイスを提供します。プロジェクション式と条件式のサポートが含まれています。オペレーションを作成したら、後で使用するために保存できます (最大 50 個のオペレーションを保存できます)。その後、[**Saved Operations**] (保存されたオペレーション) メニューで、頻繁に使用するデータプレーンオペレーションのリストを参照し、それらを使用して自動的に新しいオペレーションを設定および構築できます。これらのオペレーションのサンプルコードを複数の言語で生成することもできます。

NoSQL Workbench では、DynamoDB ステートメント用の [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html) の構築をサポートしています。これにより、SQL 互換のクエリ言語を使用して DynamoDB とやり取りできます。NoSQL Workbench では、DynamoDB CRUD API オペレーションの構築もサポートしています。

NoSQL Workbench を使用してオペレーションを構築するには、左側のナビゲーションペインで **[Operation builder]** (オペレーションビルダー) アイコンを選択します。

**Topics**
+ [PartiQL ステートメントの構築](workbench.querybuilder.partiql.md)
+ [API オペレーションの構築](workbench.querybuilder.operationbuilder.api.md)

# PartiQL ステートメントの構築
<a name="workbench.querybuilder.partiql"></a>

NoSQL Workbench を使用して [PartiQL for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html) ステートメントを構築するには、NoSQL Workbench UI の上部にある **[PartiQL エディタ]** を選択します。

オペレーションビルダーでは、次の PartiQL ステートメントタイプを作成できます。

**Topics**
+ [シングルトンステートメント](#workbench.querybuilder.partiql.single)
+ [トランザクション](#workbench.querybuilder.partiql.transaction)
+ [バッチ](#workbench.querybuilder.partiql.batch)

## シングルトンステートメント
<a name="workbench.querybuilder.partiql.single"></a>

PartiQL ステートメントのコードを実行または生成するには、次の操作を行います。

1. ウィンドウの上部にある **[PartiQL エディタ]** を選択します。

1. 有効な [PartiQL ステートメント](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html)を入力します。

1. ステートメントでパラメータを使用する場合

   1. **[オプションのリクエストパラメータ]** を選択します。

   1. **[パラメータの追加]** を選択します。

   1. 属性のタイプと値を入力します。

   1. パラメータを追加する場合は、ステップ b および c を繰り返します。

1. コードを生成する場合は、[**Generate code (コードの生成)**] を選択します。

   表示されたタブから目的の言語を選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (保存オペレーション) を選択します。次に、オペレーションの名前を入力して **[Save]** (保存) を選択します。

## トランザクション
<a name="workbench.querybuilder.partiql.transaction"></a>

PartiQL トランザクションのコードを実行または生成するには、次の操作を行います。

1. **[その他のオペレーション]** ドロップダウンで、**[PartiQLTransaction]** を選択します。

1. **[Add a new statement]** (新しいステートメントの追加) を選択します。

1. 有効な [PartiQL ステートメント](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html)を入力します。
**注記**  
読み込みおよび書き込みオペレーションは、同じ PartiQL トランザクションのリクエストではサポートされていません。INSERT、UPDATE、および DELETE ステートメントでは、同じリクエストに SELECT ステートメントを指定することはできません。詳細については、「[DynamoDB 用 PartiQL を使用したトランザクションの実行](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.transactions.html)」を参照してください。

1. ステートメントでパラメータを使用する場合

   1. **[Optional request parameters]** (オプションのリクエストパラメータ) を選択します。

   1. **[パラメータの追加]** を選択します。

   1. 属性のタイプと値を入力します。

   1. パラメータを追加する場合は、ステップ b および c を繰り返します。

1. さらにステートメントを追加する場合は、ステップ 2～4 を繰り返します。

1. コードを生成する場合は、**[コードの生成]** を選択します。

   表示されたタブから目的の言語を選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (保存オペレーション) を選択します。次に、オペレーションの名前を入力して **[Save]** (保存) を選択します。

## バッチ
<a name="workbench.querybuilder.partiql.batch"></a>

PartiQL バッチのコードを実行または生成するには、次の操作を行います。

1. **[その他のオペレーション]** ドロップダウンで、**[PartiQLBatch]** を選択します。

1. **[Add a new statement]** (新しいステートメントの追加) を選択します。

1. 有効な [PartiQL ステートメント](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html)を入力します。
**注記**  
 読み込みおよび書き込みオペレーションは、同じ PartiQL バッチリクエストではサポートされていません。つまり、SELECT ステートメントを INSERT、UPDATE、DELETE ステートメントと同じリクエストに含めることはできません。同じ項目への書き込みオペレーションは許可されていません。BatchGetItem オペレーションと同様に、シングルトン読み込みオペレーションのみがサポートされています。スキャンおよびクエリオペレーションはサポートされていません。詳細については、「[DynamoDB 用 PartiQL を使用した batch オペレーションの実行](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html)」を参照してください。

1. ステートメントでパラメータを使用する場合

   1. **[オプションのリクエストパラメータ]** を選択します。

   1. **[パラメータの追加]** を選択します。

   1. 属性のタイプと値を入力します。

   1. パラメータを追加する場合は、ステップ b および c を繰り返します。

1. さらにステートメントを追加する場合は、ステップ 2～4 を繰り返します。

1. コードを生成する場合は、**[コードの生成]** を選択します。

   表示されたタブから目的の言語を選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (保存オペレーション) を選択します。次に、オペレーションの名前を入力して **[Save]** (保存) を選択します。

# API オペレーションの構築
<a name="workbench.querybuilder.operationbuilder.api"></a>

NoSQL Workbench を使用して DynamoDB CRUD API を構築するには、NoSQL Workbench ユーザーインターフェイスの左側で **[オペレーションビルダー]** を選択します。

次に **[開く]** を選択して、接続を選択します。

オペレーションビルダーでは、以下の操作を実行できます。
+ [Delete Table](#workbench.querybuilder.operationbuilder.DeleteTable)
+ [Create Table](#workbench.querybuilder.operationbuilder.CreateTable)
+ [Update Table](#workbench.querybuilder.operationbuilder.UpdateTable)
+ [Put Item](#workbench.querybuilder.operationbuilder.Put)
+ [Update Item](#workbench.querybuilder.operationbuilder.update)
+ [Delete Item](#workbench.querybuilder.operationbuilder.Delete)
+ [Query](#workbench.querybuilder.operationbuilder.Query)
+ [Scan](#workbench.querybuilder.operationbuilder.scan)
+ [Transact Get Items](#workbench.querybuilder.operationbuilder.transactget)
+ [Transact Write Items](#workbench.querybuilder.operationbuilder.transactwrite)

## テーブルを削除する
<a name="workbench.querybuilder.operationbuilder.DeleteTable"></a>

`Delete Table` オペレーションを実行するには、次の操作を行います。

1. **[テーブル]** セクションで、削除するテーブルを見つけます。

1. 横方向の省略記号メニューで、**[テーブルを削除]** を選択します。

1. **[テーブル名]** を入力して、テーブルを削除することを確認します。

1. **[削除]** を選択します。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Delete table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html)」を参照してください。

## GSI を削除
<a name="workbench.querybuilder.operationbuilder.DeleteGSI"></a>

`Delete GSI` オペレーションを実行するには、次の操作を行います。

1. **[テーブル]** セクションで、削除するテーブルの GSI を見つけます。

1. 横方向の省略記号メニューで、**[GSI を削除]** を選択します。

1. **[GSI 名]** を入力して、GSI を削除することを確認します。

1. **[削除]** を選択します。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Delete table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html)」を参照してください。

## テーブルの作成
<a name="workbench.querybuilder.operationbuilder.CreateTable"></a>

`Create Table` オペレーションを実行するには、次の操作を行います。

1. **[テーブル]** セクションの横にある **[\$1]** アイコンを選択します。

1. 目的のテーブル名を入力します。

1. パーティションキーを作成します。

1. オプション: ソートキーを作成します。

1. キャパシティー設定をカスタマイズするには、**[デフォルトのキャパシティー設定を使用]** チェックボックスをオフにします。
   + これで、**プロビジョンドキャパシティ**または**オンデマンドキャパシティ**を選択できます。

     [Provisioned] (プロビジョンド) を選択すると、最小と最大の読み取りおよび書き込みのキャパシティユニットを設定できます。自動スケーリングを有効または無効にすることもできます。
   + テーブルの現在の設定が [オンデマンド] になっている場合は、プロビジョンドスループットを指定できません。
   + [オンデマンド] から [プロビジョンドスループット] に切り替えると、すべての GSI に自動スケーリング (最小: 1、最大: 10、ターゲット: 70%) が自動的に適用されます。

1. このテーブルを GSI なしで作成するには、**[GSI をスキップして作成]** を選択します。オプションで、**[次へ]** を選択して、この新しいテーブルで GSI を作成できます。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Create table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html)」を参照してください。

## GSI の作成
<a name="workbench.querybuilder.operationbuilder.CreateGSI"></a>

`Create GSI` オペレーションを実行するには、次の操作を行います。

1. GSI を追加する先のテーブルを見つけます。

1. 横方向の省略記号メニューで、**[GSI の作成]** を選択します。

1. **[インデックス名]** で、GSI に名前を付けます。

1. パーティションキーを作成します。

1. オプション: ソートキーを作成します。

1. ドロップダウンから [射影タイプ] オプションを選択します。

1. **[GSI の作成]** を選択します。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Create table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html)」を参照してください。

## テーブルを更新する
<a name="workbench.querybuilder.operationbuilder.UpdateTable"></a>

`Update Table` オペレーションでテーブルのキャパシティー設定を更新するには、次の操作を行います。

1. キャパシティー設定を更新するテーブルを見つけます。

1. 横方向の省略記号メニューで、**[キャパシティー設定を更新]** を選択します。

1. **[プロビジョンド]** または **[オンデマンドキャパシティー]** を選択します。

   **[プロビジョンド]** を選択すると、最小と最大の読み込みおよび書き込みキャパシティーユニットを設定できます。自動スケーリングを有効または無効にすることもできます。

1. **[更新]** を選択します。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Update table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html)」を参照してください。

## GSI の更新
<a name="workbench.querybuilder.operationbuilder.UpdateGSI"></a>

`Update Table` オペレーションで GSI のキャパシティー設定を更新するには、次の操作を行います。

**注記**  
デフォルトでは、グローバルセカンダリインデックスは基本テーブルのキャパシティー設定を継承します。基本テーブルがプロビジョンドキャパシティーモードである場合にのみ、グローバルセカンダリインデックスを別のキャパシティーモードに設定できます。プロビジョニングモードのテーブルでグローバルセカンダリインデックスを作成するときには、そのインデックスに対して予想されるワークロードに応じた読み込み/書き込みキャパシティーユニットを指定する必要があります。詳細については、「[グローバルセカンダリインデックスに対するプロビジョニングされたスループットに関する考慮事項](GSI.md#GSI.ThroughputConsiderations)」を参照してください。

1. キャパシティー設定を更新する GSI を見つけます。

1. 横方向の省略記号メニューで、**[キャパシティー設定を更新]** を選択します。

1. これで、**プロビジョンドキャパシティ**または**オンデマンドキャパシティ**を選択できます。

   **[プロビジョンド]** を選択すると、最小と最大の読み込みおよび書き込みキャパシティーユニットを設定できます。自動スケーリングを有効または無効にすることもできます。

1. **[更新]** を選択します。

このオペレーションの詳細については、「*Amazon DynamoDB API リファレンス*」の「[Update table](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html)」を参照してください。

## 項目を配置する
<a name="workbench.querybuilder.operationbuilder.Put"></a>

`Put Item` オペレーションを使用して項目を作成します。`Put Item` オペレーションのコードを実行または生成するには、次の操作を行います。

1. 項目を作成するテーブルを見つけます。

1. **[アクション]** ドロップダウンで、**[項目の作成]** を選択します。

1. パーティションキー値を入力します。

1. ソートキーの値を入力します (存在する場合)。

1. キーではない属性を指定する場合は、次の操作を行います。

   1. **[\$1 その他の属性を追加]** を選択します。

   1. [**属性の名前**]、[**タイプ**]、[**値**] を指定します。

1. `Put Item` オペレーションを成功させるために条件式を満たす必要がある場合は、次の手順を実行します。

   1. [**Condition (条件)**] を選択します。

   1. 属性名、比較演算子、属性タイプ、および属性値を指定します。

   1. 他の条件が必要な場合は、[**Condition (条件)**] を再度選択します。

   詳細については、「[DynamoDB 条件式 CLI の例](Expressions.ConditionExpressions.md)」を参照してください。

1. コードを生成する場合は、**[コードの生成]** を選択します。

   表示されたタブから目的の言語を選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (オペレーションの保存) を選択し、オペレーションの名前を入力して、**[Save]** (保存) を選択します。

このオペレーションの詳細については、*Amazon DynamoDB API リファレンス*の [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html) を参照してください。

## 項目を更新する
<a name="workbench.querybuilder.operationbuilder.update"></a>

`Update Item` オペレーションのコードを実行または生成するには、次の操作を行います。

1. 項目を更新するテーブルを見つけます。

1. 項目を選択します。

1. 選択した式の属性名と属性値を入力します。

1. さらに式を追加する場合は、**[式を更新]** ドロップダウンリストで別の式を選択し、**[\$1]** アイコンを選択します。

1. `Update Item` オペレーションを成功させるために条件式を満たす必要がある場合は、次の手順を実行します。

   1. [**Condition (条件)**] を選択します。

   1. 属性名、比較演算子、属性タイプ、および属性値を指定します。

   1. 他の条件が必要な場合は、[**Condition (条件)**] を再度選択します。

   詳細については、「[DynamoDB 条件式 CLI の例](Expressions.ConditionExpressions.md)」を参照してください。

1. コードを生成する場合は、[**Generate code (コードの生成)**] を選択します。

   使用する言語のタブを選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (オペレーションの保存) を選択し、オペレーションの名前を入力して、**[Save]** (保存) を選択します。

このオペレーションの詳細については、*Amazon DynamoDB API リファレンス*の [UpdateItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html) を参照してください。

## 項目を削除する
<a name="workbench.querybuilder.operationbuilder.Delete"></a>

`Delete Item` オペレーションを実行するには、次の操作を行います。

1. 項目を削除するテーブルを見つけます。

1. 項目を選択します。

1. **[アクション]** ドロップダウンで、**[項目の削除]** を選択します。

1. **[削除]** を選択して、項目を削除することを確認します。

このオペレーションの詳細については、*Amazon DynamoDB API リファレンス*の [DeleteItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html) を参照してください。

## 項目の複製
<a name="workbench.querybuilder.operationbuilder.Duplicate"></a>

同じ属性を持つ新しい項目を作成することで、項目を複製できます。項目を複製するには、次の操作を行います。

1. 項目を複製するテーブルを見つけます。

1. 項目を選択します。

1. **[アクション]** ドロップダウンで、**[項目の複製]** を選択します。

1. 新しいパーティションキーを指定します。

1. 新しいソートキーを指定します (必要な場合)。

1. **[実行]** を選択します。

このオペレーションの詳細については、*Amazon DynamoDB API リファレンス*の [DeleteItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html) を参照してください。

## クエリ
<a name="workbench.querybuilder.operationbuilder.Query"></a>

`Query` オペレーションのコードを実行または生成するには、次の操作を行います。

1. NoSQL Workbench UI の上部で、**[クエリ]** を選択します。

1. パーティションキーの値を指定します。

1. `Query` オペレーションにソートキーが必要な場合は、以下の操作を実行します。

   1. **[ソートキー]** を選択します。

   1. 比較演算子と属性値を指定します。

1. **[クエリ]** を選択して、このクエリオペレーションを実行します。さらにオプションが必要な場合は、**[その他のオプション]** チェックボックスをオンにして、次の手順に進みます。

1. オペレーション結果とともにすべての属性を返す必要がない場合は、[**Projection expression (プロジェクション式)**] を選択します。

1. **[\$1]** アイコンを選択します。

1. クエリ結果とともに返される属性を入力します。

1. さらに属性が必要な場合は、[**\$1**] を選択します。

1. `Query` オペレーションを成功させるために条件式を満たす必要がある場合は、次の手順を実行します。

   1. [**Condition (条件)**] を選択します。

   1. 属性名、比較演算子、属性タイプ、および属性値を指定します。

   1. 他の条件が必要な場合は、[**Condition (条件)**] を再度選択します。

   詳細については、「[DynamoDB 条件式 CLI の例](Expressions.ConditionExpressions.md)」を参照してください。

1. コードを生成する場合は、[**Generate code (コードの生成)**] を選択します。

   使用する言語のタブを選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (オペレーションの保存) を選択し、オペレーションの名前を入力して、**[Save]** (保存) を選択します。

このオペレーションの詳細については、*Amazon DynamoDB API リファレンス*の[クエリ](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html)を参照してください。

## Scan
<a name="workbench.querybuilder.operationbuilder.scan"></a>

`Scan` オペレーションのコードを実行または生成するには、次の操作を行います。

1. NoSQL Workbench UI の上部で、**[スキャン]** を選択します。

1. **[スキャン]** ボタンを選択して、この基本的なスキャンオペレーションを実行します。さらにオプションが必要な場合は、**[その他のオプション]** チェックボックスをオンにして、次の手順に進みます。

1. 属性名を指定して、スキャン結果をフィルタリングします。

1. オペレーション結果とともにすべての属性を返す必要がない場合は、[**Projection expression (プロジェクション式)**] を選択します。

1. スキャンオペレーションを成功させるために条件式を満たす必要がある場合は、次の手順を実行します。

   1. [**Condition (条件)**] を選択します。

   1. 属性名、比較演算子、属性タイプ、および属性値を指定します。

   1. 他の条件が必要な場合は、[**Condition (条件)**] を再度選択します。

   詳細については、「[DynamoDB 条件式 CLI の例](Expressions.ConditionExpressions.md)」を参照してください。

1. コードを生成する場合は、[**Generate code (コードの生成)**] を選択します。

   使用する言語のタブを選択します。これで、このコードをコピーしてアプリケーションで使用できるようになります。

1. オペレーションをすぐに実行する場合は、**[実行]** をクリックします。

1. このオペレーションを後で使用するために保存する場合は、**[Save operation]** (オペレーションの保存) を選択し、オペレーションの名前を入力して、**[Save]** (保存) を選択します。

## TransactGetItems
<a name="workbench.querybuilder.operationbuilder.transactget"></a>

`TransactGetItems` オペレーションのコードを実行または生成するには、次の操作を行います。

1. NoSQL Workbench UI の上部にある **[その他のオペレーション]** ドロップダウンで、**[TransactGetItems]** を選択します。

1. **[TransactGetItem]** の近くにある **[\$1]** アイコンを選択します。

1. パーティションキーを指定します。

1. ソートキーを指定します (必要な場合)。

1. **[実行]** を選択してオペレーションを実行するか、**[オペレーションを保存]** を選択して保存するか、**[コードを生成]** を選択してオペレーションのコードを生成します。

トランザクションの詳細については、「[Amazon DynamoDB Transactions](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html)」を参照してください。

## TransactWriteItems
<a name="workbench.querybuilder.operationbuilder.transactwrite"></a>

`TransactWriteItems` オペレーションのコードを実行または生成するには、次の操作を行います。

1. NoSQL Workbench UI の上部にある **[その他のオペレーション]** ドロップダウンで、**[TransactWriteItems]** を選択します。

1. **[アクション]** ドロップダウンで、オペレーションを選択します。

1. **[TransactWriteItem]** の近くにある **[\$1]** アイコンを選択します。

1. **[アクション]** ドロップダウンで、実行するオペレーションを選択します。
   + `DeleteItem` の場合、[項目を削除する](#workbench.querybuilder.operationbuilder.Delete) オペレーションの手順に従います。
   + `PutItem` の場合、[項目を配置する](#workbench.querybuilder.operationbuilder.Put) オペレーションの手順に従います。
   + `UpdateItem` の場合、[項目を更新する](#workbench.querybuilder.operationbuilder.update) オペレーションの手順に従います。

   アクションの順序を変更するには、左側のリストでアクションを選択し、上矢印または下矢印を選択してリスト内で上下に移動します。

   アクションを削除するには、リストでアクションを選択してから、[**削除**] (ごみ箱) アイコンを選択します。

1. **[実行]** を選択してオペレーションを実行するか、**[オペレーションを保存]** を選択して保存するか、**[コードを生成]** を選択してオペレーションのコードを生成します。

トランザクションの詳細については、「[Amazon DynamoDB Transactions](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html)」を参照してください。