

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

# 建置自動化
<a name="building-automations"></a>

Amazon Quick Automate 提供多種方法來建立自動化，以滿足不同的需求和技能水準。本節說明可用的建立方法和工具。

## 先決條件
<a name="building-prerequisites"></a>

在建立自動化之前，您需要在特定自動化群組中建立專案。自動化群組將控制您在建置該自動化時可以使用哪些整合和登入資料。確保為您計劃在自動化中互動的任何外部系統設定必要的整合和登入資料。

建立專案後，請按一下**開始建置**按鈕以開始使用。

**注意**  
您必須擁有擁有者許可，才能管理自動化群組的整合和登入資料。

## 建立方法
<a name="creation-methods"></a>

選擇三種方法來建置自動化。如果您是初次使用 Amazon Quick Automate，我們建議您：
+ 從探索範例自動化開始
+ 嘗試使用自然語言建立簡單的自動化
+ 熟悉基本概念後，嘗試手動編輯

### 使用範例自動化
<a name="using-sample-automations"></a>

探索示範常見自動化模式的預先建置範例，以快速開始使用。這些範例提供不同自動化功能的實作範例，並做為學習資源，協助您熟悉 Amazon Quick Automate 的功能。若要使用範例自動化：
+ 搜尋以依產業探索不同的範例。
+ 按一下範例以檢視自動化的概觀。
  + 如果需要任何整合，則會將其列為先決條件。
+ 按一下**以範例開始**，在畫布中開啟自動化。
+ 您現在可以檢視、編輯和測試自動化。

### 使用自然語言建立
<a name="creating-with-natural-language"></a>

自動化助理提供 AI 支援的方法來透過下列方式建立自動化：
+ 聊天界面 - 以自然語言對話描述您的程序
+ 文件上傳 - 匯入描述您的程序步驟和要求的任何文件

當您透過任一方法提供輸入時，自動化助理將透過兩步驟引導式體驗產生自動化：
+ **高階計劃**
  + 首先，助理會分析您的需求，並產生高階自動化計劃。計畫包含**程序步驟**，以邏輯方式將相關動作分組為自動化的一部分。每個程序步驟一開始都包含自然語言指示。
  + 檢閱並編輯每個程序步驟的指示，然後按一下**產生**以建立該步驟的低階動作。
+ **低階動作**
  + 接著，助理會根據步驟指示建置低階動作和處理邏輯。
  + 檢閱和編輯產生的動作。按一下**執行**或**偵錯**以開始測試。

提供自然語言輸入的最佳實務：
+ 指定逐步程序，就好像您在訓練新進人員一樣
+ 包含執行每個步驟所需的確切詳細資訊：
  + 傳送訊息時的電子郵件地址
  + 上傳/下載文件時的檔案名稱和位置
  + 導覽至網站時的 URL

### 從頭開始建立 （空白自動化）
<a name="creating-from-scratch"></a>

使用視覺化設計工具界面手動建置自動化：
+ 導覽至您的專案摘要
+ 按一下**開始建置**
+ 選取**略過**以存取畫布

設計工具界面提供數個關鍵元件：
+ **Canvas** - 視覺化自動化。您可以放大和縮小、展開和摺疊程序步驟，以及在畫布上重新排序動作。
+ **動作面板** - 動作面板具有自動化群組中可用的所有自動化動作的完整清單。您可以搜尋和篩選以尋找依類別組織的動作 （客服人員、流程、Web 瀏覽器等）。Drag-and-drop動作以建置自動化。您也可以按一下在動作之間暫留時找到的加號，直接在畫布上新增動作。
+ **屬性面板** - 新增動作或按一下程序中現有的動作後，屬性面板可讓您設定輸入和輸出參數，以控制該動作的行為。
+ **設定面板** - 可讓您建立和編輯執行時間組態，並探索自動化可用的登入資料。
+ **變數面板** - 顯示自動化中使用的所有變數。直接在自動化中新增參考，即可順暢地建立變數。

## 執行期組態和變數
<a name="runtime-configurations-variables"></a>

執行期組態可讓您建立自動化所使用的易於編輯的設定。執行時間組態的範例包括：
+ 網站 URLs
+ 檔案名稱和位置
+ 電子郵件組態，例如主旨和寄件者清單

變數用於在自動化執行時，在動作之間存放和傳遞資訊。只要在輸出屬性中提供新的參考名稱，即可將新變數新增至自動化。常見的變數類型包括：
+ 字串 - 純文字 （例如，名稱、描述）
+ 數字 - 數值 （例如數量、分數）
+ 布林值 - True/False 值
+ 陣列 - 項目的集合或清單
+ 物件 - 鍵/值對
+ 檔案 - 文件和媒體 （例如 PDFs、影像）
+ 資料表 - 具有資料列和資料欄的類似試算表資料

## 編輯自動化
<a name="editing-automations"></a>

建立自動化之後，您可以使用自動化助理或直接在畫布上編輯來修改它。

### 使用自動化助理
<a name="using-automation-assistant"></a>

自動化助理可協助您透過自然語言進行變更。您可以：
+ 要求更新整個自動化、特定步驟或特定動作
  + 首先選取聊天以專注於特定步驟
+ 根據您的實際自動化提出問題並取得產品內協助和建議
+ 根據您的需求請求撰寫表達式和程式碼的協助

使用 助理編輯：
+ 按一下工具列中的**使用助理建置** 
+ 描述您要進行的變更
+ 檢閱並確認建議的修改
  + 聊天包含變更摘要。按一下**拒絕變更**以還原至先前的版本。
+ 測試更新的自動化

### 在畫布上編輯
<a name="editing-on-canvas"></a>

直接在視覺化設計工具中進行變更：
+ 選取要修改的步驟或動作
+ 使用屬性面板來調整設定
+ 使用drag-and-drop重新排列步驟

**注意**  
每個動作都有一個選項選單，其中包含常見的動作，例如複製動作或刪除動作。

**編輯的最佳實務：**
+ 進行增量變更
+ 每次重大修改後測試

**注意**  
變更會自動儲存到即時版本。如果您想要部署這些變更，請遞交並部署更新版本。

**提示**  
如果您在建置時遇到問題：  
使用自動化助理取得協助
檢查動作文件是否有特定需求

## 自動化輸入和輸出
<a name="automation-inputs-outputs"></a>

定義輸入和輸出結構描述，以在 Amazon Quick Automate 中建立可重複使用的參數化自動化。透過使用開始和結束節點定義輸入和輸出結構描述，您可以將靜態自動化轉換為可重複使用的工作流程，在每次執行時接受不同的資料。您可以定義在執行時間提供的類型輸入參數，以及自動化完成時擷取的結構化輸出值，而不是硬式編碼值。輸入和輸出適用於所有調用方法：手動執行、API 呼叫和排程觸發。

使用輸入和輸出的主要優點：
+ **可重複使用性 – **使用不同的資料執行相同的自動化，而不修改自動化本身。
+ **類型安全** – Amazon Quick Automate 會在執行開始之前根據結構描述驗證輸入資料，以防止無效資料執行。
+ **API 整合** – 自動產生的結構描述可啟用程式設計探索，並與外部系統整合。
+ 可**觀測性** – 結構化輸出會擷取為執行成品，以供稽核和檢閱。

### 支援的資料類型
<a name="automate-supported-data-types"></a>

輸入和輸出欄位支援下列資料類型：
+ **文字** – 純文字值 （例如 text1、text2)
+ **數字** – 數值，包括小數 （例如 3.14、100)
+ **布林值** – True 或 false 值
+ **檔案** – 大小上限為 5 MB 的檔案物件

### 開始和結束節點
<a name="start-and-end-nodes"></a>

每個自動化都包含 Start 節點和 End 節點，預設為空白。您可以編輯這些節點來建立結構描述、使用自動化中的輸入，以及更新輸出資料以從自動化傳回。Start 節點會在執行時間接收輸入資料，而 End 節點 （包括 End Process 節點） 會在執行期間收集輸出資料，並在自動化完成時以結構化成品傳回資料。

#### Start
<a name="start-node"></a>

Start 節點是觸發自動化時接受輸入參數的進入點。預設為空白。

屬性：
+ **輸入格式** – 定義自動化接受的輸入參數結構描述。使用定義輸入和輸出結構描述中描述的輸入結構描述編輯器進行編輯。
+ **輸入變數** – 儲存自動化輸入值的變數，以輸入格式定義並由使用者提供。

#### 結束
<a name="end-node"></a>

結束節點是在自動化成功完成時收集並傳回輸出值的終止點。您可以使用結束節點的 屬性，設定自動化中變數的輸出值。根據自動化的結構，您的自動化可以有多個結束節點 （結束程序）。

屬性：
+ **輸出格式** – 定義自動化傳回的輸出參數結構描述。選擇**編輯**，並使用定義輸入和輸出結構描述中所述的輸出結構描述編輯器來新增或修改結構描述。
+ **輸出資料** – 將自動化中變數的值映射到您定義的輸出欄位。針對您在結束節點 （輸出結構描述） 中建立的每個輸出變數，指定哪個自動化變數包含您要傳回的資料。使用**編輯輸出資料**編輯器，在**輸出值**欄位中設定這些映射。

### 定義輸入和輸出結構描述
<a name="defining-input-output-schemas"></a>

結構描述會定義自動化接受做為輸入的資料結構，並產生做為輸出。撰寫工作室提供視覺化形式建置器，可直接在自動化畫布上定義輸入和輸出結構描述。

若要定義輸入結構描述：
+ 在 Amazon Quick Automate 中開啟自動化。
+ 選擇畫布上的**開始**節點以開啟結構描述編輯器。您也可以從屬性窗格開啟結構描述編輯器。若要這樣做，請選擇**開始**節點，然後在屬性窗格中選擇以**輸入格式****編輯**。
+ 選擇 **\+新增欄位**以新增輸入欄位。
+ 針對每個輸入欄位，設定下列屬性：
  + **名稱** – 欄位的唯一識別符。
  + **類型** – 欄位接受的資料類型。如需詳細資訊，請參閱支援的資料類型。
  + **必要** – 執行自動化時是否必須提供 欄位。
  + **預設值 **（選用） – 只有在清除**必要**欄位時，此選項才會處於作用中狀態。當您執行測試或觸發自動化時，輸入表單中會預先填入預設值。
  + **描述** – 欄位所代表內容的描述。
+ 選擇**儲存**，將結構描述與您的自動化一起存放。

若要定義輸出結構描述：
+ 選擇畫布上的**結束**節點以開啟輸出結構描述編輯器。您也可以從屬性窗格開啟結構描述編輯器。若要這樣做，請選擇**結束**節點，然後在屬性窗格中選擇以**輸出格式****編輯**。
+ 選擇 **\+新增欄位**以新增輸出欄位。
+ 針對每個輸出欄位，設定下列屬性：
  + **名稱** – 欄位的唯一識別符。
  + **類型** – 輸出的資料類型。
  + **描述** – 輸出所代表內容的描述。
+ 選擇**儲存**。

**注意**  
您可以從開始節點定義輸入，並從任何結束節點定義輸出。如果您的自動化有多個結束節點，新增或修改一個結束節點的結構描述會修改所有結束節點結構描述。

### 使用起始節點的輸入值
<a name="using-input-values"></a>

當您的自動化在 Start 節點定義了輸入結構描述時，您可以使用 `inputs` 字典在整個工作流程中存取這些輸入值。執行時間會自動驗證此字典，並填入自動化執行時提供的值。

```
# Access required input fields
value = inputs["field_name"]

# Example usage
customer_id = inputs["customer_id"]  # Retrieves a required string input
```

### 在結束節點中設定輸出值
<a name="setting-output-values"></a>

結束節點會定義將自動化中的哪些值傳回為輸出。您可以使用 **Output Data** 屬性來設定此屬性，該屬性提供兩種互動模式，可在編輯器中設定輸出值。選擇**輸出值**欄位旁的程式碼圖示 (`</>`)，在模式之間切換。

設定輸出的兩種模式：
+ **變數選擇模式 （下拉式）** – 預設界面會顯示自動化中所有可用變數的下拉式清單。選取您要指派給每個輸出欄位的變數。
+ **表達式模式 （程式碼）** – 選擇任何輸出值欄位旁的程式碼圖示 (`</>`)，以切換到表達式模式。此模式可讓您輸入自訂表達式、執行計算、存取巢狀資料或設定常值。

### 使用 Build with Assistant 定義結構描述
<a name="defining-schemas-with-assistant"></a>

使用助理建置可以直接建立或修改輸入和輸出結構描述。以自然語言描述您的輸入和輸出需求，助理會為您產生結構描述定義。助理自動與 Studio 視覺化表單建置器同步所做的任何變更。

### 考量事項
<a name="inputs-outputs-considerations"></a>

當您使用自動化輸入和輸出時，請記住下列事項：
+ 輸入和輸出結構描述是選用的。沒有結構描述的現有自動化會繼續保持不變。
+ 檔案輸入的大小上限為 5 MB。對於較大的檔案，請改為將檔案位置 （例如 Amazon S3 路徑） 傳遞為文字輸入。
+ 輸入和輸出值會隨每次執行一起存放，以供觀察和稽核之用。
+ 更新結構描述時，您必須重新部署自動化，變更才能在部署的執行中生效。測試執行一律使用最新的草稿結構描述。

您可以透過下列方式使用輸入和輸出值：
+ 從畫布測試並執行自動化。如需詳細資訊，請參閱[測試自動化](https://docs.aws.amazon.com/quicksuite/latest/userguide/testing-automations.html#running-and-debugging)。
+ 手動觸發部署的自動化。如需詳細資訊，請參閱[部署自動化](https://docs.aws.amazon.com/quicksuite/latest/userguide/deploying-automations.html#deploy-run-inputs-outputs)。
+ 部署自動化的排程觸發。如需詳細資訊，請參閱[部署自動化](https://docs.aws.amazon.com/quicksuite/latest/userguide/deploying-automations.html#deploy-run-inputs-outputs)。

## 管理自動化版本
<a name="managing-automation-versions"></a>

Amazon Quick Automate 提供版本控制功能，可協助您追蹤和維護自動化更新的歷史記錄，並輕鬆還原先前的版本。

### 重要概念
<a name="version-key-concepts"></a>
+ **即時版本** - 目前可在畫布中編輯的自動化工作副本。當您編輯時，變更會自動儲存到即時版本。
+ **遞交版本** - 可部署的自動化唯讀快照。遞交自動化的新版本，以追蹤重大更新，並在需要時能夠還原。
+ **部署的版本** - 可部署並啟用已遞交的版本，以排程執行。

**注意**  
每個版本都會維護自己的執行時間組態值。即時版本的執行時間設定變更不會影響先前遞交或部署的版本。

### 遞交版本
<a name="committing-versions"></a>

若要遞交版本：
+ 在畫布工具列中按一下**遞交** 
+ 新增說明變更的描述性備註
+ 選擇如何遞增版本編號：
  + 次要版本 （例如 1.05 → 1.06) 用於較小的更新 （預設）
  + 重大變更的主要版本 （例如 1.0 → 2.0)
+ 按一下**遞交**

**重要**  
如果自動化有任何驗證錯誤，您就無法遞交版本。在嘗試遞交之前解決所有錯誤。

當您遞交版本時：
+ 遞交的版本會成為唯讀快照
+ 目前的執行時間組態會與遞交的版本一起儲存
+ 根據該快照建立新的即時版本，以繼續編輯

**重要**  
只能部署已遞交的版本。必須先遞交即時版本，才能進行部署。

### 檢視版本
<a name="viewing-versions"></a>

在兩個位置檢視版本：
+ **畫布中的版本下拉式清單** - 預設為即時版本。從下拉式清單中選擇任何先前的版本，以在畫布上以唯讀模式檢視。
+ **版本索引標籤** - 在專案詳細資訊中找到。顯示完整的版本歷史記錄，包括版本編號、遞交版本的時間、遞交版本的使用者，以及任何版本備註。按一下動作選單以檢視版本詳細資訊或部署版本。

### 還原舊版本
<a name="restoring-previous-versions"></a>

若要還原先前的版本並繼續編輯為即時版本：
+ 從畫布上方的版本下拉式清單中選取版本
+ 選擇**還原即時版本**
+ 選取的版本會取代您目前的即時版本
+ 繼續編輯 Live 版本以進行任何必要的調整
+ 承諾做為新版本以拍攝快照或部署更新

**注意**  
還原版本會建立新的工作副本，但不會刪除任何版本歷史記錄。

### 最佳實務
<a name="version-best-practices"></a>
+ 新增明確的版本備註以追蹤變更的目的
+ 重大更新後遞交版本
+ 在遞交之前測試變更
+ 在遞交之前檢閱執行時間組態