

# DynamoDB 用の NoSQL Workbench
<a name="workbench"></a>

 Amazon DynamoDB 用の NoSQL Workbench は、最新のデータベース開発および運用向けのクロスプラットフォームのクライアント側 GUI アプリケーションです。Windows、macOS、Linux で使用できます。NoSQL Workbench を使用すると、DynamoDB データモデルを設計し、アクセスパターンを実際の DynamoDB オペレーションとして定義し、サンプルデータを使用して検証できます。さらに、データモデルをプロジェクトに整理することもできます。NoSQL Workbench には DynamoDB local が含まれており、データモデルをクラウドにコミットする前にテーブルとインデックスをテストできます。DynamoDB local とその要件の詳細については、「[DynamoDB local (ダウンロード可能バージョン) のセットアップ](DynamoDBLocal.md)」を参照してください。

**データモデラー**  
 NoSQL Workbench for DynamoDB を使用すると、新しいプロジェクトを最初から開始することも、ユースケースに合ったサンプルプロジェクトを使用することもできます。次に、テーブルとグローバルセカンダリインデックスを設計し、属性を定義して、サンプルデータを設定します。アクセスパターンを実際の DynamoDB オペレーション (PutItem、UpdateItem、Query など) として視覚化し、設定されたサンプルデータに対してこれらのオペレーションを実行して、アクセスパターンが意図したとおりに動作することを検証し、検証結果に基づいてデータモデルを調整することもできます。最後に、検証後、さらなるテストと本番環境での使用のために、モデルを DynamoDB local または AWS アカウントのいずれかにコミットします。コラボレーションでは、設計済みのデータモデルをインポートおよびエクスポートできます。詳細については、「[NoSQL Workbench を使用したデータモデルの構築](workbench.Modeler.md)」を参照してください。

**オペレーションビルダー**  
NoSQL Workbench は、クエリを開発およびテストするための豊富なグラフィカルユーザーインターフェイスを提供します。*オペレーションビルダー*を使用して、データセットを表示、探索、およびクエリできます。構造化オペレーションビルダーは、射影式、条件式をサポートし、複数の言語でサンプルコードを生成します。ある Amazon DynamoDB アカウントのテーブルのクローンを別のリージョンの別のアカウントで直接作成できます。また、DynamoDB Local と Amazon DynamoDB アカウントの間でテーブルを直接クローンして、開発環境間におけるテーブルのキースキーマ (およびオプションで GSI スキーマと項目) のコピーを高速化することもできます。詳細については、「[NoSQL Workbench を使用したデータセットの探索とオペレーションの構築](workbench.querybuilder.md)」を参照してください。

次の動画では、NoSQL Workbench を使用したデータモデリングの概念について詳しく説明します。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/p5va6ZX9_o0?si=vqQuf6FjoBuK1phR/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/p5va6ZX9_o0?si=vqQuf6FjoBuK1phR)


**Topics**
+ [DynamoDB 用の NoSQL Workbench のダウンロード](workbench.settingup.md)
+ [NoSQL Workbench を使用したデータモデルの構築](workbench.Modeler.md)
+ [NoSQL Workbench を使用したデータセットの探索とオペレーションの構築](workbench.querybuilder.md)
+ [NoSQL Workbench のサンプルデータモデル](workbench.SampleModels.md)
+ [NoSQL Workbench のリリース履歴](WorkbenchDocumentHistory.md)

# DynamoDB 用の NoSQL Workbench のダウンロード
<a name="workbench.settingup"></a>

Amazon DynamoDB 用の NoSQL Workbench および DynamoDB local をダウンロードするには、以下の手順に従います。

**NoSQL ワークベンチおよび DynamoDB local をダウンロードするには**
+ オペレーティングシステムに適したバージョンの NoSQL Workbench をダウンロードします。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/workbench.settingup.html)

**注記**  
NoSQL Workbench には、インストールプロセスの一部として DynamoDB local が含まれています。  
DynamoDB local を実行するには、Java ランタイム環境 (JRE) バージョン 17.x 以降が必要です。

**注記**  
NoSQL Workbench は、Ubuntu 12.04、Fedora 21、Debian 8、またはこれらの Linux ディストリビューションの新しいバージョンをサポートしています。  
Ubuntu のインストールには、`libfuse2` と `curl` という 2 つの前提条件となるソフトウェアが必要です。  
Ubuntu 22.04 では、libfuse2 はデフォルトでインストールされなくなりました。これを解決するには、`sudo add-apt-repository universe && sudo apt install libfuse2` を実行して最新の Ubuntu バージョンを実行してインストールしてください。  
cURL の場合は、`sudo apt update && sudo apt upgrade && sudo apt install curl` を実行します。

# NoSQL Workbench を使用したデータモデルの構築
<a name="workbench.Modeler"></a>

Amazon DynamoDB 用 NoSQL Workbench のデータモデラーツールを使用して、新しいデータモデルを構築したり、アプリケーションのデータアクセスパターンを満たす既存のデータモデルに基づいてモデルを設計したりできます。データモデラーには、使用開始に役立つサンプルデータモデルがいくつか含まれています。

**Topics**
+ [新しいデータモデルの作成](workbench.Modeler.CreateNew.md)
+ [既存のデータモデルのインポート](workbench.Modeler.ImportExisting.md)
+ [既存のデータモデルの編集](workbench.Modeler.Edit.md)
+ [データモデルへのサンプルデータの追加](workbench.Modeler.AddData.md)
+ [アクセスパターンの追加と検証](workbench.Modeler.AccessPatterns.md)
+ [CSV ファイルからサンプルデータのインポート](workbench.Modeler.ImportCSV.md)
+ [ファセット](workbench.Modeler.Facets.md)
+ [集計ビューを使用したデータモデル内のすべてのテーブルの表示](workbench.Modeler.AggregateView.md)
+ [データモデルのエクスポート](workbench.Modeler.ExportModel.md)
+ [DynamoDB へのデータモデルのコミット](workbench.Modeler.Commit.md)

# 新しいデータモデルの作成
<a name="workbench.Modeler.CreateNew"></a>

以下のステップに従って、NoSQL Workbench を使用して Amazon DynamoDB に新しいデータモデルを作成します。

**新しいデータモデルを作成するには**

1.  NoSQL Workbench を開き、メイン画面で **[モデルを手動で作成する]** を選択します。

    最初のテーブルの空の設定を含む新しいページが開きます。NoSQL Workbench は、すべての新しいデータモデルをデフォルト名 (untitled-2) で作成し、**[ドラフト]** プロジェクトフォルダに追加します。

1.  **[テーブル設定画面]** で、次のように指定します。
   +  [**Table name (テーブル名)**] — テーブルの一意な名前を入力します。
   +  **[パーティションキー]** – パーティションキー名を入力し、そのタイプを指定します。オプションで、サンプルデータを生成するためのより詳細なデータ型形式を選択することもできます。
   +  **[ソートキー]** を追加する場合は、ソートキー名とそのタイプを指定します。オプションで、サンプルデータを生成するためのより詳細なデータ型形式を選択することができます。
**注記**  
 プライマリキーの設計、パーティションキーの効果的な設計と使用、およびソートキーの使用の詳細については、以下を参照してください。  
 [プライマリキー](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 
 [DynamoDB でパーティションキーを効率的に設計し、使用するためのベストプラクティス。](bp-partition-key-design.md) 
 [ソートキーを使用してデータを DynamoDB で整理するためのベストプラクティス](bp-sort-keys.md) 

1. 他の属性を追加して、モデルとアクセスパターンをより明確に検証できます。その他の属性を追加するには。
   +  **[属性の追加]** を選択します。
   +  属性名とタイプを指定します。
   +  オプションで、サンプルデータを生成するためのより詳細なデータ型形式を選択することができます。

1.  グローバルセカンダリインデックスを追加する場合は、[**Add global secondary index (グローバルセカンダリインデックスの追加)**] を選択します。[**Global secondary index name (グローバルセカンダリインデックス名)**]、[**Partition key (パーティションキー)**] 属性、および [**Projection type (プロジェクションタイプ)**] を指定します。

   DynamoDB でグローバルセカンダリインデックスを使用する詳細方法については、「[グローバルセカンダリインデックス](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)」を参照してください。

1.  オプションで、**[ファセットを追加する]**。ファセットは NoSQL Workbench の仮想コンストラクトです。これは DynamoDB の機能的コンストラクトではありません。NoSQL Workbench のファセットは、テーブル内のデータのサブセットのみを使用して、DynamoDB に対するアプリケーションのさまざまなデータアクセスパターンを視覚化するのに役立ちます。
**注記**  
 アプリケーションが DynamoDB のデータにアクセスする方法を視覚化するには、ファセットではなく、[アクセスパターンの追加と検証](workbench.Modeler.AccessPatterns.md) を使用することをお勧めします。アクセスパターンは実際のデータベースインタラクションを反映し、ユースケースに適したデータモデルを構築するのに役立ちますが、ファセットは非機能的な視覚化です。

    [**Add facet (ファセットの追加)**] を選択します。次を指定します: 
   +  **Facet name (ファセット名)**。
   +  このファセットビューを区別するのに役立つ**パーティションキーエイリアス**。
   +  テーブルに **[ソートキー]** を指定した場合の **[ソートキーエイリアス]**。
   +  このファセットの一部である **[属性]** を選択します。

    さらにファセットを追加する場合は、このステップを繰り返します。

1.  最後に、**[保存]** ボタンをクリックしてテーブルを作成します。

1.  他の **[テーブル]** または **[グローバルセカンダリインデックス]** が必要な場合は、先ほど作成したテーブルの上にある **[\$1]** アイコンをクリックします。

# 既存のデータモデルのインポート
<a name="workbench.Modeler.ImportExisting"></a>

Amazon DynamoDB 用 NoSQL Workbench を使用して、既存のモデルをインポートおよび変更することでデータモデルを構築できます。データモデルは、NoSQL Workbench モデル形式または [AWS CloudFormation JSON テンプレート形式](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)のいずれかでインポートできます。

**データモデルをインポートするには**

1.  NoSQL Workbench を開き、メイン画面で **[モデルのインポート]** を選択します。NoSQL Workbench モデル形式または CloudFormation JSON テンプレートのいずれかをインポートできます。

1.  インポートしたモデルを既存のプロジェクトに追加したり、新しいプロジェクトを作成したりできます。別のプロジェクトを選択しない場合、モデルはドラフトプロジェクトフォルダに追加されます。

1.  **[デスクトップを参照]** をクリックし、コンピュータからインポートするモデルを選択します。

# 既存のデータモデルの編集
<a name="workbench.Modeler.Edit"></a>

**既存のモデルを編集するには**

1. 既存のモデルの変更を開始するには、モデラーページでモデルを開きます。

1. リソースセレクターパネルには、**[テーブル]** と **[グローバルセカンダリインデックス]** のリストが表示されます。

1. **[テーブル]** または **[グローバルセカンダリインデックス]** を編集するには、まずリソースセレクターパネルでその名前をクリックし、上部のアクションアイコンを使用します。使用可能なアクションは、**[削除]**、**[複製]**、**[編集]** です。

1. **[モデルの詳細]** を編集する場合は、モデル名の横にある 3 つのドットアイコンをクリックします。

1. そこから、**[モデルの詳細を編集]** をクリックし、それに応じて情報を編集できます。

1. 同じメニューからモデルを **[複製]**、**[移動]**、**[削除]**、**[エクスポート]** することもできます。

1. 別のモデルに変更するには、メイン画面を再度開くか、モデル選択ドロップダウンを使用します。

# データモデルへのサンプルデータの追加
<a name="workbench.Modeler.AddData"></a>

**サンプルデータを自動生成するには**

1. NoSQL Workbench を開き、メイン画面で、サンプルデータを追加するモデルの名前をクリックします。

1. メインコンテンツツールバーの追加アクション (3 つのドットアイコン) をクリックし、**[サンプルデータの追加]** を選択します。

1. 生成するサンプルデータの項目数を入力し、**[確認]** を選択します。

1. サンプルデータを自動生成すると、1～5,000 行のデータを生成して、それをすぐに使用できます。きめ細かいサンプルデータ型を指定して、設計やテストのニーズに基づいた現実的なデータを作成できます。現実的なデータを生成する機能を利用するには、データモデラーで属性のサンプルデータ型フォーマットを指定する必要があります。サンプルデータ型フォーマットの指定については、「[新しいデータモデルの作成](workbench.Modeler.CreateNew.md)」を参照してください。

**サンプルデータを 1 項目ずつ追加するには**

1. 編集するモデルを開き、サンプルデータを追加するテーブルを選択します。メインコンテンツツールバーの追加のアクション (3 つのドットアイコン) をクリックし、**[データを編集]** を選択します。

1. 行を追加、削除、編集できるようになりました。必要な変更を行ったら、**[保存]** ボタンをクリックします。

# アクセスパターンの追加と検証
<a name="workbench.Modeler.AccessPatterns"></a>

Amazon DynamoDB 用の NoSQL Workbench を使用して、*アクセスパターン*を作成、保存、検証できます。

**注記**  
 適切なアクセスパターンを識別する方法の詳細については、「[データアクセスパターンの特定](https://docs.aws.amazon.com/prescriptive-guidance/latest/dynamodb-data-modeling/step3.html)」を参照してください。

**アクセスパターンを作成するには**

1.  NoSQL Workbench を開き、メイン画面で、アクセスパターンを追加するモデルの名前をクリックします。

1.  左側で、**[アクセスパターン]** タブを選択し、**[\$1]** アイコンをクリックします。

1.  次の画面で、**[名前]**、オプションの **[説明]**、アクセスパターンの **[タイプ]**、アクセスパターンをテストする **[テーブル]** または **[グローバルセカンダリインデックス]** を指定します。
**注記**  
 NoSQL Workbench は現在、アクセスパターンに対して次のオペレーションをサポートしています。`Scan`、`Query`、`GetItem`、`PutItem`、`UpdateItem`、`DeleteItem`。Amazon DynamoDB は、より広範なオペレーションをサポートしています。

1.  アクセスパターンを作成したら、**[検証]** タブに切り替えて、データモデルがアクセスパターンに対して期待される結果を返すように設計されているかどうかを確認できます。テーブルのサンプルデータを自動生成する方法の詳細については、「[データモデルへのサンプルデータの追加](workbench.Modeler.AddData.md)」を参照してください。アクセスパターンのタイプによって、サポートされる入力パラメータも異なります。
**注記**  
アクセスパターンを検証するために、NoSQL Workbench は、テーブルとインデックスがメモリに保存されたポート `8001` (デフォルト) で別の DynamoDB local データベースを起動します。  
NoSQL Workbench は、モデルからのサンプルデータを一時テーブルに自動的に追加します。
サンプルデータまたはデータモデル自体を編集すると、NoSQL Workbench は一時テーブルを更新します。
この一時データベースは、アプリケーションを閉じると消去されます。

**アクセスパターンを編集するには**

1.  NoSQL Workbench を開き、メイン画面で、アクセスパターンを編集するモデルの名前をクリックします。

1.  左側で、**[アクセスパターン]** タブを選択します。

1. アクセスパターンを編集するには、左側のリストから選択します。

1. 上部のバーで、**[編集]** アクションボタンをクリックします。

# CSV ファイルからサンプルデータのインポート
<a name="workbench.Modeler.ImportCSV"></a>

CSV ファイル内に既存のサンプルデータがある場合は、それを NoSQL Workbench にインポートすることができます。これにより、行単位で入力することなく、サンプルデータをモデルにすばやく入力できるようになります。

CSV ファイルの列名は、データモデルの属性名と一致する必要がありますが、同じ順序である必要はありません。例えば、データモデルに `LoginAlias`、`FirstName`、`LastName` と呼ばれる属性がある場合の場合、CSV 列は `LastName`、`FirstName`、`LoginAlias` になる可能性があります。

CSV ファイルから一度に最大 150 行をインポートできます。

**CSV ファイルから NoSQL Workbench にデータをインポートするには**

1. CSV データを **[テーブル]** にインポートするには、まずリソースパネルでテーブル名をクリックし、次にメインコンテンツツールバーで追加のアクション (3 つのドットアイコン) をクリックします。

1. **[サンプルデータのインポート]** を選択します。

1. CSV ファイルを選択して **[Open]** (開く) を選択します。CSV データがテーブルに追加されます。

# ファセット
<a name="workbench.Modeler.Facets"></a>

 NoSQL Workbench では、*ファセット*を使用すると、ファセットの制約を満たさないレコードを表示することなく、テーブル内のデータのサブセットを表示できます。ファセットはビジュアルデータモデリングツールと見なされ、アクセスパターンのモデリングを純粋に補助するものであるため、DynamoDB で使用できる構造としては存在しません。

**注記**  
 アプリケーションが DynamoDB のデータにアクセスする方法を視覚化するには、ファセットではなく、[アクセスパターンの追加と検証](workbench.Modeler.AccessPatterns.md) を使用することをお勧めします。アクセスパターンは実際のデータベースインタラクションを反映し、ユースケースに適したデータモデルを構築するのに役立ちますが、ファセットは非機能的な視覚化です。

**ファセットを作成するには**

1. リソースセレクターパネルで、編集する **[テーブル]** を選択します。

1. 上部のバーで、**[編集]** アクションアイコンをクリックします。

1. **[ファセットフィルター]** セクションまで下にスクロールします。

1.  [**Add facet (ファセットの追加)**] を選択します。次を指定します: 
   +  **Facet name (ファセット名)**。
   +  このファセットビューを区別するのに役立つ**パーティションキーエイリアス**。
   +  テーブルに **[ソートキー]** を指定した場合の **[ソートキーエイリアス]**。
   +  このファセットの一部である **[属性]** を選択します。

    さらにファセットを追加する場合は、このステップを繰り返します。

# 集計ビューを使用したデータモデル内のすべてのテーブルの表示
<a name="workbench.Modeler.AggregateView"></a>

Amazon DynamoDB 用の NoSQL Workbench の集計ビューを使用して、データモデル内の全てのテーブルとインデックスを視覚化できます。各テーブルについて、以下の情報が表示されます。
+ テーブルの列名
+ サンプルデータ
+ テーブルに関連付けられているすべてのグローバルセカンダリインデックス。NoSQL Workbench は、インデックスごとに次の情報を表示します。
  + インデックス列名
  + サンプルデータ

**すべてのテーブル情報を表示するには**

1. NoSQL Workbench を開き、メイン画面で、開くモデルの名前をクリックします。

1. 上部のバーで、**[集計ビュー]** をクリックします。すべてのテーブルとインデックスのデータが同じ画面に表示されます。

**集約ビューをイメージとしてエクスポートするには**

1. **[集計ビュー]** を選択し、3 つのドットアイコンをクリックし、**[集計ビューのエクスポート]** を選択します。

1. すべてのテーブルとインデックスの PNG イメージを含むアーカイブがダウンロード用に表示されます。

# データモデルのエクスポート
<a name="workbench.Modeler.ExportModel"></a>

Amazon DynamoDB 用 NoSQL Workbench を使用してデータモデルを作成した後、モデルを NoSQL Workbench モデル形式または [AWS CloudFormation JSON テンプレート形式](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)で保存およびエクスポートできます。

**データモデルをエクスポートするには**

1. NoSQL Workbench を開き、メイン画面で編集するモデルの名前をクリックします。

1. データモデル名の横にある 3 つのドットアイコンをクリックして、**[モデルをエクスポート]** を選択します。

1.  データモデルを NoSQL Workbench モデル形式または CloudFormation JSON テンプレート形式でエクスポートするかどうかを選択します。
   +  NoSQL Workbench を使用してモデルを他のチームメンバーと共有したり、後で NoSQL Workbench にインポートしたりする場合は、**NoSQL Workbench モデル**形式を選択します。
   +  モデルを AWS に直接デプロイしたり、コードとしてのインフラストラクチャワークフローに統合する場合は、**CloudFormation JSON テンプレート**形式を選択します。

# DynamoDB へのデータモデルのコミット
<a name="workbench.Modeler.Commit"></a>

 データモデルに満足したら、モデルを Amazon DynamoDB にコミットできます。

**注記**  
このアクションにより、データモデルで表されるテーブルとグローバルセカンダリインデックス用のサーバー側リソースが AWS に作成されます。
NoSQL Workbench は、デフォルトでオンデマンド容量を持つテーブルとインデックスを作成します。

**データモデルを DynamoDB にコミットするには**

1. NoSQL Workbench を開き、メイン画面で、コミットするモデルの名前をクリックします。

1. 上部のバーで、**[コミット]** をクリックします。

1. 既存の接続を選択するか、**[新しい接続を追加]** ボタンをクリックして新しい接続を作成します。
   + 新しい接続を追加するには、以下の情報を指定します。
     + **アカウントエイリアス**
     + **AWS リージョン**
     + **アクセスキー ID**
     + **シークレットアクセスキー**

     アクセスキーを取得する方法の詳細については、「[AWS アクセスキーの取得](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.GetCredentials)」を参照してください。
   + オプションで次の値を指定できます。
     + [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)
     + [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)

1. [DynamoDB local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) を使用する場合。

   1. **[ローカル接続]** タブを選択します。

   1. **[新しい接続を追加]** ボタンをクリックします。

   1. [**Connection name (接続名)]** と [**Port (ポート)**] を指定します。
**注記**  
 DynamoDB local を使用するには、NoSQL Workbench 画面の左下にある **[DynamoDB local]** トグルを使用して有効にする必要があります。

1. **[コミット]** をクリックします。

# NoSQL Workbench を使用したデータセットの探索とオペレーションの構築
<a name="workbench.querybuilder"></a>

Amazon DynamoDB 用 NoSQL Workbench は、クエリを開発およびテストするための豊富なグラフィカルユーザーインターフェイスを提供します。NoSQL Workbench のオペレーションビルダーを使用して、ライブデータセットを表示、探索、およびクエリできます。構造化オペレーションビルダーは、射影式、条件式をサポートし、複数の言語でサンプルコードを生成します。ある Amazon DynamoDB アカウントのテーブルのクローンを別のリージョンの別のアカウントで直接作成できます。また、DynamoDB Local と Amazon DynamoDB アカウントの間で直接テーブルのクローンを作成すれば、テーブルのキースキーマ (オプションで GSI スキーマと項目) を開発環境間で迅速にコピーできます。オペレーションビルダーでは、最大 50 の DynamoDB データオペレーションを保存できます。

**Topics**
+ [ライブデータセットへの接続](workbench.querybuilder.connect.md)
+ [複雑なオペレーションの構築](workbench.querybuilder.operationbuilder.md)
+ [NoSQL Workbench を使用したテーブルのクローン作成](workbench.querybuilder.cloning-tables.md)
+ [CSV ファイルへのデータのエクスポート](workbench.querybuilder.exportcsv.md)

# ライブデータセットへの接続
<a name="workbench.querybuilder.connect"></a>

NoSQL Workbench を使用して Amazon DynamoDB テーブルに接続するには、まず AWS アカウントに接続する必要があります。

**データベースへの接続を追加するには**

1. NoSQL Workbench の左側のナビゲーションペインで [**Operation builder (オペレーションビルダー)**] アイコンを選択します。

1. **[接続を追加]** を選択します。

1. 以下の情報を指定します。
   + **接続名**
   + **AWS リージョン**
   + **アクセスキー ID**
   + **シークレットアクセスキー**

   アクセスキーを取得する方法の詳細については、「[AWS アクセスキーの取得](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.GetCredentials)」を参照してください。

   オプションで、次の値を指定できます。
   + [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)
   + [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)

1. [**接続**] を選択します。

    無料利用枠アカウントにサインアップせず、[DynamoDB Local (ダウンロード可能バージョン)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) を使用する場合: 

   1. 接続画面の **[Local]** (ローカル) タブを選択します

   1. 以下の情報を指定します。
      + **接続名**
      + **ポート**

   1. [**接続**] ボタンを選択します。
**注記**  
DynamoDB Local に接続するには、ターミナルを使用して DynamoDB Local を手動で起動するか (「[Deploying DynamoDB local on your computer](DynamoDBLocal.DownloadingAndRunning.md)」を参照)、NoSQL Workbench ナビゲーションメニューの DDB Local トグルを使用して DynamoDB Local を直接起動します。接続ポートが DynamoDB Local ポートと同じであることを確認してください。

1. 作成した接続で、[**Open (開く)**] を選択します。

DynamoDB データベースに接続すると、使用可能なテーブルのリストが左ペインに表示されます。テーブルのいずれかを選択すると、テーブルに保存されているデータのサンプルが返されます。

選択したテーブルに対してクエリを実行できるようになりました。

テーブルに対してクエリを実行するには、オペレーションの構築に関する次のセクション「[複雑なオペレーションの構築](workbench.querybuilder.operationbuilder.md)」を参照してください。

# 複雑なオペレーションの構築
<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)」を参照してください。

# NoSQL Workbench を使用したテーブルのクローン作成
<a name="workbench.querybuilder.cloning-tables"></a>

テーブルのクローンを作成すると、テーブルのキースキーマ (オプションで GSI スキーマと項目) が開発環境間でコピーされます。DynamoDB Local と Amazon DynamoDB アカウント間でテーブルのクローンを作成できます。また、あるアカウントのテーブルのクローンを別のリージョンのアカウントに作成して、迅速に実験を行うこともできます。

**テーブルのクローンを作成するには**

1. **オペレーションビルダー**で、接続とリージョンを選択します (DynamoDB Local ではリージョンの選択はできません)。

1. DynamoDB に接続したら、テーブルを参照し、クローンを作成するテーブルを選択します。

1. 横方向の省略記号メニューで、**[クローン作成]** オプションを選択します。

1. クローンの保存先の詳細を入力します。

   1. 接続を選択します。

   1. リージョンを選択します (リージョンは DynamoDB Local では使用できません)。

   1. 新しいテーブル名を入力します。

   1. クローン作成のオプションを選択します。

      1. **[キースキーマ]** はデフォルトで選択されており、選択を解除することはできません。デフォルトでは、テーブルのクローンを作成するとプライマリキーとソートキー (使用可能な場合) がコピーされます。

      1. クローン対象のテーブルに GSI がある場合は、デフォルトで **[GSI スキーマ]** が選択されます。テーブルのクローンを作成すると、GSI プライマリキーとソートキー (使用可能な場合) がコピーされます。[GSI スキーマ] の選択を解除して、GSI スキーマのクローン作成は省略することもできます。テーブルのクローンを作成すると、ベーステーブルの容量設定が GSI の容量設定としてコピーされます。オペレーションビルダーで `UpdateTable` オペレーションを使用して、クローン作成の完了後にテーブルの GSI 容量設定を更新できます。

1. クローンを作成する項目の数を入力します。キースキーマとオプションで GSI スキーマのみをクローン作成する場合は、**[クローンする項目]** の値を 0 のままにしておくことができます。クローンを作成できる項目の最大数は 5000 です。

1. キャパシティモードを選択します。

   1. デフォルトでは、**[オンデマンドモード]**が選択されています。DynamoDB オンデマンドには、読み取りおよび書き込みリクエストのリクエストごとの支払い料金が用意されているため、使用した分だけ課金されます。詳細については、「[DynamoDB On-demand mode](capacity-mode.md#capacity-mode-on-demand)」を参照してください。

   1. **[プロビジョンドモード]**では、アプリケーションに必要な 1 秒あたりの読み込みと書き込みの回数を指定します。Auto Scaling を使用すると、トラフィックの変更に応じて、テーブルのプロビジョンドキャパシティーを自動的に調整できます。詳細については、「[DynamoDB Provisioned mode](provisioned-capacity-mode.md)」を参照してください。

1. **[クローン]** を選択してクローン作成を開始します。

1. クローン作成のプロセスはバックグラウンドで実行されます。テーブルのクローン作成のステータスが変化すると、**[Operation builder]** タブに通知が表示されます。このステータスを表示するには、**[Operation builder]** タブを選択し、矢印ボタンを選択します。矢印ボタンは、メニューサイドバーの下部にあるテーブルのクローン作成ステータスのウィジェットにあります。

# CSV ファイルへのデータのエクスポート
<a name="workbench.querybuilder.exportcsv"></a>

クエリの結果を Operation Builder から CSV ファイルにエクスポートできます。これにより、スプレッドシートにデータをロードしたり、好みのプログラミング言語でデータ処理ができるようになります。

**CSV へエクスポート**

1. Operation Builder で、スキャンやクエリなどの任意の操作を実行します。
**注記**  
読み取り API オペレーションと PartiQL ステートメントの結果のみを CSV ファイルにエクスポートできます。トランザクション読み取りステートメントの結果はエクスポートできません。
現時点では、結果を 1 ページずつ CSV ファイルにエクスポートできます。結果のページが複数ある場合は、各ページを個別にエクスポートする必要があります。

1. 結果からエクスポートする項目を選択します。

1. **[アクション]** ドロップダウンで、**[CSV としてエクスポート]** を選択します。

1. CSV ファイルのファイル名と場所を選択し、**[Save]** (保存) を選択します。

# NoSQL Workbench のサンプルデータモデル
<a name="workbench.SampleModels"></a>

モデラーのホームページには、NoSQL Workbench に付属のサンプルモデルが多数表示されます。このセクションでは、これらのモデルとその可能性のある用途について説明します。

**Topics**
+ [従業員データモデル](#workbench.SampleModels.EmployeeDataModel)
+ [ディスカッションフォーラムデータモデル](#workbench.SampleModels.DiscussionForumDataModel)
+ [ミュージックライブラリデータモデル](#workbench.SampleModels.MusicLibraryDataModel)
+ [スキーリゾートデータモデル](#workbench.SampleModels.SkiResortDataModel)
+ [クレジットカードオファーデータモデル](#workbench.SampleModels.CreditCardOffersDataModel)
+ [ブックマークデータモデル](#workbench.SampleModels.BookmarksDataModel)

## 従業員データモデル
<a name="workbench.SampleModels.EmployeeDataModel"></a>

このデータモデルは、入門モデルです。これは、一意のエイリアス、名、姓、職名、マネージャー、およびスキルなどの従業員の基本的な詳細を表します。

このデータモデルは、複数のスキルを持つなどの複雑な属性を扱うなど、いくつかの技術を示しています。このモデルは、セカンダリインデックス DirectReports によって達成されたマネージャーとその部下の従業員による 1 対多リレーションシップの例でもあります。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ `Employee` というテーブルによって容易になる、従業員のログインエイリアスを使用した従業員レコードの取得。
+ `Name` という Employee テーブルのグローバルセカンダリインデックスによって容易になる、名前による従業員の検索。
+ `DirectReports` という従業員のテーブルのグローバルセカンダリインデックスによって容易になる、マネージャーのログインエイリアスを使用したマネージャーの直接レポートの取得。

## ディスカッションフォーラムデータモデル
<a name="workbench.SampleModels.DiscussionForumDataModel"></a>

このデータモデルは、ディスカッションフォーラムを表します。このモデルを使用すると、お客様は開発者コミュニティとやり取りし、質問をしたり、他のお客さま顧客の投稿に応答することができます。各 AWS サービスには専用フォーラムがあります。フォーラムにメッセージを投稿することで、誰でも新しいディスカッションスレッドを開始できます。各スレッドは任意の数の返信を受け取ります。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ `Forum` というテーブルによって容易になる、フォーラムの名前を使用したフォーラムのレコードの取得。
+ `Thread` というテーブルによって容易になる、フォーラムの特定のスレッドまたはすべてのスレッドの取得。
+ `PostedBy-Message-Index` という Reply テーブルのグローバルセカンダリインデックスによって容易になる、投稿ユーザーの E メールアドレスを使用した返信の検索。

## ミュージックライブラリデータモデル
<a name="workbench.SampleModels.MusicLibraryDataModel"></a>

このデータモデルは、大量の楽曲コレクションを持ち、ダウンロード数の多い楽曲をほぼリアルタイムで紹介するミュージックライブラリです。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ `Songs` というテーブルによって容易になる曲レコードの取得。
+ `Songs` というテーブルによって容易になる、曲の特定のダウンロードレコードまたはすべてのダウンロードレコードの取得。
+ `Song` というテーブルによって容易になる、曲の特定の月別ダウンロード数レコードまたはすべての月のダウンロード数レコードの取得
+ `Songs` というテーブルによって容易になる曲のすべてのレコード (曲のレコード、ダウンロードレコード、月別ダウンロード数レコードを含む) の取得。
+ `DownloadsByMonth` という Songs テーブルのグローバルセカンダリインデックスによって容易になる、ほとんどのダウンロード曲の検索。

## スキーリゾートデータモデル
<a name="workbench.SampleModels.SkiResortDataModel"></a>

このデータモデルは、毎日収集される各スキーリフトについて大量のデータを収集するスキーリゾートを表します。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ `SkiLifts` というテーブルによって容易になる、指定されたスキーリフトやリゾート全体の動的および静的なすべてのデータの取得。
+ `SkiLifts` というテーブルによって容易になる、特定の日付のスキーリフトまたはリゾート全体のすべての動的データ (一意のリフトライダー、積雪、雪崩の危険、リフト状況を含む) の取得。
+ `SkiLifts` というテーブルによって容易になる、特定のスキーリフトのすべての静的データ (リフトが経験豊富なライダーのみを対象とする場合、リフトが上昇する垂直フィート、リフトのライディング時間を含む) の取得。
+ `SkiLiftsByRiders` という SkiLifts テーブルのグローバルセカンダリインデックスによって容易になる、一意のライダーの総数によってソートされる特定のスキーリフトまたはリゾート全体について記録されたデータの日付の取得。

## クレジットカードオファーデータモデル
<a name="workbench.SampleModels.CreditCardOffersDataModel"></a>

このデータモデルは、クレジットカードオファーアプリケーションで使用されます。

クレジットカードプロバイダは、時間の経過とともにオファーを生成します。これらのオファーには、手数料なしの残高振替、与信限度額の増加、金利の低減、キャッシュバック、航空会社マイルが含まれます。お客様がこれらのオファーを承認または拒否すると、それに応じてそれぞれのオファーステータスが更新されます。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ メインテーブルによって容易になる、`AccountId` を使用した取引先レコードの取得。
+ セカンダリインデックス `AccountIndex` によって容易になる、いくつかの予測項目を持つすべてのアカウントの取得。
+ メインテーブルによって容易になる、`AccountId` を使用したアカウントおよびそれらのアカウントに関連付けられているすべてのオファーレコードの取得。
+ メインテーブルによって容易になる、`AccountId` および `OfferId` を使用した取引先およびそれらの取引先に関連付けられた特定のオファーレコードの取得。
+ セカンダリインデックス `ACCEPTED/DECLINED` によって容易になる、`OfferType`、`AccountId`、および `OfferType` を使用した取引先に関連付けられた特定の `Status` のすべての `GSI1` オファーレコードの取得
+ メインテーブルによって容易になる、`OfferId` を使用したオファーおよび関連するオファー項目レコードの取得。

## ブックマークデータモデル
<a name="workbench.SampleModels.BookmarksDataModel"></a>

このデータモデルは、お客様のストアブックマークに使用されます。

お客様は多くのブックマークを持つことができ、ブックマークは多くのお客様に属することができます。このデータモデルは、多対多の関係を表します。

このデータモデルによって容易になるアクセスパターンは次のとおりです。
+ `customerId` による単一のクエリで、ブックマークだけでなくお客様データも返せるようになりました。
+ クエリ `ByEmail` インデックスは、E メールアドレスごとにお客様データを返します。ブックマークは、このインデックスによって取得されないことに注意してください。
+ クエリ `ByUrl` インデックスは、URL ごとにブックマークデータを取得します。同じ URL を複数のお客様からブックマークすることができるため、インデックスのソートキーとして customerId があることに注意してください。
+ クエリ `ByCustomerFolder` インデックスは、各お客様のフォルダごとにブックマークを取得します。

# NoSQL Workbench のリリース履歴
<a name="WorkbenchDocumentHistory"></a>

*NoSQL Workbench* クライアントツールの各リリースにおける重要な変更点を次の表に示します。


****  

| バージョン | 変更 | 説明 | 日付 | 
| --- | --- | --- | --- | 
| 3.20.0 | DynamoDB 用の新しいデータモデラー | DynamoDB 用のデータモデラーのユーザーエクスペリエンスが更新されました。DynamoDB 用のデータモデラーがアクセスパターンをサポートするようになりました。 | 2026 年 2 月 16 日 | 
| 3.13.5 | デフォルトのテーブル設定のキャパシティモードがオンデマンドに変更 | デフォルト設定でテーブルを作成すると、DynamoDB はプロビジョニングされたキャパシティモードの代わりにオンデマンドキャパシティモードを使用するテーブルを作成します。 | 2025 年 2 月 24 日 | 
| 3.13.0 | NoSQL Workbench オペレーションビルダーの改善点 | NoSQL Workbench には、ダークモードのネイティブサポートが含まれるようになりました。オペレーションビルダーのテーブルと項目のオペレーションを改善しました。項目の結果とオペレーションビルダーのリクエスト情報は JSON 形式で利用できます。 | 2024 年 4 月 24 日 | 
| 3.12.0 | NoSQL Workbench によるテーブルのクローン作成と消費されたキャパシティの返却 | DynamoDB Local と DynamoDB ウェブサービスアカウント間、または DynamoDB ウェブサービスアカウント間でテーブルをクローンして、開発の反復を迅速に行えるようになりました。Operation builder を使用してオペレーションを実行した後に消費された RCU または WCU を表示します。CSV ファイルからのインポート時にデータが上書きされる問題を修正しました。 | 2024 年 2 月 26 日  | 
| 3.11.0 |  DynamoDB Local の機能強化  |  ビルトイン DynamoDB Local インスタンスを起動するときにポートを指定できるようになりました。NoSQL Workbench を管理者権限なしで Windows にインストールできるようになりました。データモデルテンプレートを更新しました。  |  2024 年 1 月 17 日  | 
| 3.10.0 |  Apple シリコンのネイティブサポート  |   NoSQL Workbench で、Apple シリコンを搭載した Mac をネイティブにサポートするようになりました。`Number` 型の属性にサンプルデータ生成形式を設定できるようになりました。  |  2023 年 12 月 5 日  | 
| 3.9.0 |  データモデラーの改善  |   Visualizer では、既存のテーブルを上書きするオプションを使用して、データモデルを DynamoDB local にコミットできるようになりました。  |  2023 年 11 月 3 日  | 
| 3.8.0 |  サンプルデータ生成  |  NoSQL Workbench は DynamoDB データ型のサンプルデータの生成をサポートするようになりました。  |  2023 年 9 月 25 日  | 
| 3.6.0 |  オペレーションビルダーの改善  |  オペレーションビルダーの接続管理が改善されました。データモデラーの属性名は、データを削除せずに変更できるようになりました。その他のバグ修正。  |  2023 年 4 月 11 日  | 
| 3.5.0 |  新しい AWS リージョン向けのサポート  |  NoSQL Workbench は、ap-south-2、ap-southeast-3、ap-southeast-4、eu-central-2、eu-south-2、me-central-1、および me-west-1 リージョンのサポートを開始しました。  |  2023 年 2 月 23 日  | 
| 3.4.0 |  DynamoDB local のサポート  |  NoSQL Workbench は、インストールプロセスの一部として、DynamoDB local のインストールをサポートするようになりました。  |  2022 年 12 月 6 日  | 
| 3.3.0 |  コントロールプレーンオペレーションのサポート  |  Operation Builder でコントロールプレーンオペレーションがサポートされるようになりました。  |  2022 年 6 月 1 日  | 
| 3.2.0 |  CSV のインポートとエクスポート  |  ビジュアライザーツールの CSV ファイルからサンプルデータをインポートできるようになりました。また、Operation Builder クエリの結果を CSV ファイルにエクスポートすることもできます。  |  2021 年 10 月 11 日  | 
| 3.1.0 |  オペレーションの保存  |  NoSQL Workbench のオペレーションビルダーで、後で使用するためにオペレーションを保存することがサポートされるようになりました。  |  2021 年 7 月 12 日  | 
| 3.0.0 | 容量設定と CloudFormation のインポート/エクスポート | Amazon DynamoDB 用の NoSQL Workbench は、テーブルの読み込み/書き込み容量モードの指定をサポートするようになり、CloudFormation 形式でデータモデルをインポートおよびエクスポートできるようになりました。 | 2021 年 4 月 21 日 | 
| 2.2.0 | PartiQL のサポート | Amazon DynamoDB 用の NoSQL Workbench が、DynamoDB 用 PartiQL ステートメントを構築するためのサポートを追加します。 | 2020 年 12 月 4 日 | 
| 1.1.0 | Linux のサポート。 | Amazon DynamoDB 用の NoSQL Workbench は Linux—Ubuntu、Fedora および Debian でサポートされています。 | 2020 年 5 月 4 日 | 
| 1.0.0 | NoSQL Workbench for Amazon DynamoDB – GA。 | Amazon DynamoDB 用 NoSQL Workbench の一般提供が開始されました。 | 2020 年 3 月 2 日 | 
| 0.4.1 | IAM ロールと一時的なセキュリティ認証情報のサポート。 | Amazon DynamoDB 用の NoSQL Workbench が、AWS Identity and Access Management (IAM) ロールと一時的なセキュリティ認証情報のサポートを追加。 | 2019 年 12 月 19 日 | 
| 0.3.1 | [DynamoDB local (ダウンロード可能バージョン)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) のサポート。 | NoSQL Workbench では、[DynamoDB local (ダウンロード可能バージョン)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) に接続して、DynamoDB テーブルを設計、作成、クエリ、管理できるようになりました。 | 2019年11月8日 | 
| 0.2.1 | NoSQL Workbench プレビュー版がリリースされました。 | これは DynamoDB 用 NoSQL Workbench の初版リリースです。NoSQL Workbench を使用して、DynamoDB テーブルを設計、作成、クエリ、および管理します。 | 2019 年 9 月 16 日 | 