

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建置複雜的操作
<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 來建置 [DynamoDB 專用 PartiQL](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 statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (PartiQL 陳述式)。

1. 如果您的陳述式使用參數：

   1. 選擇 **Optional request parameters** (選用的請求參數)。

   1. 選擇 **Add new parameters** (新增新參數)。

   1. 輸入屬性類型和值。

   1. 如果希望新增其他參數，請重複步驟 b 和 c。

1. 若要產生程式碼，請選擇 **Generate code** (產生程式碼)。

   從顯示的標籤中選取所需的語言。您現在可以複製此程式碼，並使用在您的應用程式中。

1. 若希望立即執行此操作，請選擇 **Run** (執行)。

1. 若想儲存此操作以供日後使用，請選擇 **Save operation** (儲存操作)。然後輸入操作的名稱，並選擇 **Save** (儲存)。

## 交易
<a name="workbench.querybuilder.partiql.transaction"></a>

若要執行或產生 PartiQL 交易的程式碼，請執行以下操作。

1. 從**更多操作**下拉式清單中選擇 **PartiQLTransaction**。

1. 選擇 **Add a new statement** (新增新陳述式)。

1. 輸入有效的 [PartiQL statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (PartiQL 陳述式)。
**注意**  
同一個 PartiQL 交易請求中不能同時支援讀取和寫入操作。SELECT 陳述式不能與 INSERT、UPDATE 和 DELETE 陳述式存在於同一個請求中。如需詳細資訊，請參閱[使用 DynamoDB 專用 PartiQL 執行交易](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.transactions.html)。

1. 如果您的陳述式使用參數

   1. 選擇 **Optional request parameters** (選用的請求參數)。

   1. 選擇 **Add new parameters** (新增新參數)。

   1. 輸入屬性類型和值。

   1. 如果希望新增其他參數，請重複步驟 b 和 c。

1. 如果希望新增更多陳述式，請重複步驟 2 至 4。

1. 若要產生程式碼，請選擇 **Generate code** (產生程式碼)。

   從顯示的標籤中選取所需的語言。您現在可以複製此程式碼，並使用在您的應用程式中。

1. 若希望立即執行此操作，請選擇 **Run** (執行)。

1. 若想儲存此操作以供日後使用，請選擇 **Save operation** (儲存操作)。然後輸入操作的名稱，並選擇 **Save** (儲存)。

## 批次
<a name="workbench.querybuilder.partiql.batch"></a>

若要執行或產生 PartiQL 批次的程式碼，請執行以下操作。

1. 從**更多操作**下拉式清單中選擇 **PartiQLBatch**。

1. 選擇 **Add a new statement** (新增新陳述式)。

1. 輸入有效的 [PartiQL statement](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.statements.html) (PartiQL 陳述式)。
**注意**  
 同一個 PartiQL 批次請求中不能同時支援讀取和寫入操作，也就是說 SELECT 陳述式不能與 INSERT、UPDATE 和 DELETE 陳述式存在於同一個請求中。不允許對相同項目執行寫入操作。與 BatchGetItem 操作一樣，僅支援單一讀取操作。不支援掃描和查詢操作。如需詳細資訊，請參閱[使用 DynamoDB 專用 PartiQL 執行批次操作](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.multiplestatements.batching.html)。

1. 如果您的陳述式使用參數：

   1. 選擇 **Optional request parameters** (選用的請求參數)。

   1. 選擇 **Add new parameters** (新增新參數)。

   1. 輸入屬性類型和值。

   1. 如果希望新增其他參數，請重複步驟 b 和 c。

1. 如果希望新增更多陳述式，請重複步驟 2 至 4。

1. 若要產生程式碼，請選擇 **Generate code** (產生程式碼)。

   從顯示的標籤中選取所需的語言。您現在可以複製此程式碼，並使用在您的應用程式中。

1. 若希望立即執行此操作，請選擇 **Run** (執行)。

1. 若想儲存此操作以供日後使用，請選擇 **Save operation** (儲存操作)。然後輸入操作的名稱，並選擇 **Save** (儲存)。

# 建置 API 操作
<a name="workbench.querybuilder.operationbuilder.api"></a>

若要使用 NoSQL Workbench 來建立 DynamoDB CRUD API，請選取位於 NoSQL Workbench 左側的**操作建置器**。

選取**開啟**，然後選擇連線。

您可以在操作建置器中執行以下操作。
+ [刪除資料表](#workbench.querybuilder.operationbuilder.DeleteTable)
+ [建立資料表](#workbench.querybuilder.operationbuilder.CreateTable)
+ [更新資料表](#workbench.querybuilder.operationbuilder.UpdateTable)
+ [放置項目](#workbench.querybuilder.operationbuilder.Put)
+ [更新項目](#workbench.querybuilder.operationbuilder.update)
+ [刪除項目](#workbench.querybuilder.operationbuilder.Delete)
+ [查詢](#workbench.querybuilder.operationbuilder.Query)
+ [掃描](#workbench.querybuilder.operationbuilder.scan)
+ [交易取得項目](#workbench.querybuilder.operationbuilder.transactget)
+ [交易寫入項目](#workbench.querybuilder.operationbuilder.transactwrite)

## 刪除資料表
<a name="workbench.querybuilder.operationbuilder.DeleteTable"></a>

若要執行 `Delete Table` 操作，請執行下列動作。

1. 從**資料表**區段尋找要刪除的資料表。

1. 從水平省略符號功能表中，選取**刪除資料表**。

1. 輸入**資料表名稱**，確認您想要刪除資料表。

1. 選取**刪除**。

如需此操作的詳細資訊，請參閱《Amazon DynamoDB API 參考》中的[刪除資料表](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 參考》中的[刪除資料表](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** (已佈建的) 或 **On-demand capacity** (隨需容量)。

     若選取佈建，您可以設定最小和最大讀寫容量單位。您還可以啟用或停用自動擴展。
   + 如果資料表目前設定為隨需，您將無法指定佈建的輸送量。
   + 如果您從隨需切換到佈建輸送量，則自動擴展將自動套用到所有 GSI，其中包含：最小值：1，最大值：10；目標：70%。

1. 選取**略過 GSI 並建立**，以建立沒有 GSI 的資料表。或者，您可以選擇**下一步**，使用此新資料表建立 GSI。

如需此操作的詳細資訊，請參閱《Amazon DynamoDB API 參考》中的[建立資料表](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 參考》中的[建立資料表](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html)。

## 更新資料表
<a name="workbench.querybuilder.operationbuilder.UpdateTable"></a>

若要使用 `Update Table` 操作更新資料表的容量設定，請執行下列動作。

1. 尋找待更新容量設定的資料表。

1. 從水平省略號功能表中，選取**更新容量設定**。

1. 選取**佈建**或**隨需容量**。

   若選取**佈建**，您可以設定最小和最大讀寫容量單位。您還可以啟用或停用自動擴展。

1. 選取 **Update** (更新)。

如需此操作的詳細資訊，請參閱《Amazon DynamoDB API 參考》中的[更新資料表](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. 您現在可以選取 **Provisioned** (已佈建的) 或 **On-demand capacity** (隨需容量)。

   若選取**佈建**，您可以設定最小和最大讀寫容量單位。您還可以啟用或停用自動擴展。

1. 選取 **Update** (更新)。

如需此操作的詳細資訊，請參閱《Amazon DynamoDB API 參考》中的[更新資料表](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. 指定 **Attribute name** (屬性名稱)、**Type** (類型) 和 **Value** (值)。

1. 如果必須滿足某項條件表達式，`Put Item` 操作才能成功，請執行以下作業：

   1. 選擇 **Condition** (條件)。

   1. 指定屬性名稱、比較運算子、屬性類型和屬性值。

   1. 如需其他條件，請再次選擇 **Condition** (條件)。

   如需詳細資訊，請參閱 [DynamoDB 條件表達式 CLI 範例](Expressions.ConditionExpressions.md)。

1. 若要產生程式碼，請選擇 **Generate code** (產生程式碼)。

   從顯示的標籤中選取所需的語言。您現在可以複製此程式碼，並使用在您的應用程式中。

1. 若希望立即執行此操作，請選擇 **Run** (執行)。

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. 若希望立即執行此操作，請選擇 **Run** (執行)。

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)。

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

若要執行或產生 `Query` 操作的程式碼，請執行以下操作。

1. 從 NoSQL Workbench UI 頂端選取**查詢**。

1. 指定分割區索引鍵值。

1. 如果 `Query` 操作需要排序索引鍵：

   1. 選取 **Sort key** (排序索引鍵)。

   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. 若希望立即執行此操作，請選擇 **Run** (執行)。

1. 若想儲存此操作以供日後使用，請選擇 **Save operation** (儲存操作)，然後輸入操作的名稱，再選擇 **Save** (儲存)。

如需此操作的詳細資訊，請參閱《Amazon DynamoDB API 參考》**中的 [Query](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. 如果必須滿足某項條件表達式，scan 操作才能成功，請執行以下作業：

   1. 選擇 **Condition** (條件)。

   1. 指定屬性名稱、比較運算子、屬性類型和屬性值。

   1. 如需其他條件，請再次選擇 **Condition** (條件)。

   如需詳細資訊，請參閱 [DynamoDB 條件表達式 CLI 範例](Expressions.ConditionExpressions.md)。

1. 若要產生程式碼，請選擇 **Generate code** (產生程式碼)。

   選擇您想要的語言標籤。您現在可以複製此程式碼，並使用在您的應用程式中。

1. 若希望立即執行此操作，請選擇 **Run** (執行)。

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) 操作的說明。

   若要變更動作順序，請在左側清單中選擇動作，然後選擇上下箭號在清單中上下移動該動作。

   若要刪除動作，請在清單中選擇動作，然後選擇 **Delete** (刪除) (回收桶) 圖示。

1. 選取**執行**以執行操作、**儲存操作**以儲存，或選取**產生程式碼**以產生操作的程式碼。

如需交易的詳細資訊，請參閱 [Amazon DynamoDB Transactions](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html)。