

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

# 的 CLI 參考 AWS Schema Conversion Tool
<a name="CHAP_Reference"></a>

本節說明如何開始使用 AWS SCT 命令列界面 (CLI)。此外，本節提供金鑰命令和使用模式的相關資訊。如需 CLI AWS SCT 命令的完整參考，請參閱[參考資料](#CHAP_Reference.Download)。

**Topics**
+ [使用 AWS SCT 命令列界面的先決條件](#CHAP_Reference.Prerequisites)
+ [AWS SCT CLI 互動式模式](#CHAP_Reference.InteractiveMode)
+ [取得 AWS SCT CLI 案例](#CHAP_Reference.Scenario)
+ [編輯 AWS SCT CLI 案例](#CHAP_Reference.Editing)
+ [AWS SCT CLI 指令碼模式](#CHAP_Reference.ScriptMode)
+ [AWS SCT CLI 參考資料](#CHAP_Reference.Download)

## 使用 AWS SCT 命令列界面的先決條件
<a name="CHAP_Reference.Prerequisites"></a>

下載並安裝最新版本的 Amazon Corretto 11。如需詳細資訊，請參閱[《Amazon Corretto 11 使用者指南》中的 Amazon Corretto 11 的下載](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html)。 **

下載並安裝最新版本的 AWS SCT。如需詳細資訊，請參閱[安裝 AWS Schema Conversion Tool](CHAP_Installing.Procedure.md)。

## AWS SCT CLI 互動式模式
<a name="CHAP_Reference.InteractiveMode"></a>

您可以在互動式模式中使用 AWS SCT 命令列界面。在此模式中，您會逐一在主控台中輸入命令。您可以使用此互動式模式來進一步了解 CLI 命令，或下載最常用的 CLI 案例。

若要在 中轉換來源資料庫結構描述 AWS SCT，請執行序列操作：建立新的專案、連線至來源和目標資料庫、建立映射規則，以及轉換資料庫物件。由於此工作流程可能很複雜，我們建議在 CLI AWS SCT 模式中使用指令碼。如需詳細資訊，請參閱[指令碼模式](#CHAP_Reference.ScriptMode)。

您可以從 AWS SCT 安裝路徑的 `app` 資料夾執行 AWS SCT CLI 命令。在 Windows 中，預設安裝路徑為 `C:\Program Files\AWS Schema Conversion Tool\`。請確定此資料夾包含 `AWSSchemaConversionToolBatch.jar` 檔案。

若要進入 AWS SCT CLI 互動式模式，請在完成先決條件後使用以下命令。

```
java -jar AWSSchemaConversionToolBatch.jar -type interactive
```

現在您可以執行 AWS SCT CLI 命令。請確定您在新的一行`/`中以 結束命令。此外，請確定您在命令參數值之前和之後使用直式單引號 (`'`)。

**注意**  
如果上述命令傳回 `Unexpected error`，請嘗試下列動作：  

```
java -Djdk.jar.maxSignatureFileSize=20000000 -jar AWSSchemaConversionToolBatch.jar
```

若要在 CLI AWS SCT 互動式模式中查看可用命令的清單，請執行下列命令。

```
help
/
```

若要檢視 CLI AWS SCT 命令的相關資訊，請使用下列命令。

```
help -command: 'command_name'
/
```

在上述範例中，將 *command\$1name* 取代為命令的名稱。

若要檢視 CLI AWS SCT 命令參數的相關資訊，請使用下列命令。

```
help -command: 'command_name' -parameters: 'parameters_list'
/
```

在上述範例中，將 *command\$1name* 取代為命令的名稱。然後，以逗號分隔的參數名稱清單取代 *parameters\$1list*。

若要在 CLI AWS SCT 互動式模式中從檔案執行指令碼，請使用下列命令。

```
ExecuteFile -file: 'file_path'
/
```

在上述範例中，以指令碼取代 *file\$1path* 為檔案的路徑。請確定您的 檔案具有 `.scts`副檔名。

若要結束 AWS SCT CLI 互動式模式，請執行 `quit`命令。

### 範例
<a name="CHAP_Reference.InteractiveMode.Examples"></a>

下列範例顯示 `Convert`命令的相關資訊。

```
help -command: 'Convert'
/
```

下列範例顯示 `Convert`命令兩個參數的相關資訊。

```
help -command: 'Convert' -parameters: 'filter, treePath'
/
```

## 取得 AWS SCT CLI 案例
<a name="CHAP_Reference.Scenario"></a>

若要取得最常用的 AWS SCT 案例，您可以使用 `GetCliScenario`命令。您可以在互動式模式下執行此命令，然後編輯下載的範本。在指令碼模式中使用已編輯的檔案。

`GetCliScenario` 命令會將選取的範本或所有可用的範本儲存至指定的目錄。範本包含執行指令碼的完整命令集。請務必編輯這些範本中的檔案路徑、資料庫登入資料、物件名稱和其他資料。此外，請確定您移除不使用的命令，並視需要將新命令新增至指令碼。

若要執行 `GetCliScenario`命令，請完成先決條件並進入 AWS SCT CLI 互動式模式。如需詳細資訊，請參閱[互動式模式](#CHAP_Reference.InteractiveMode)。

接著，使用下列語法來執行 `GetCliScenario`命令並取得 AWS SCT 案例。

```
GetCliScenario -type: 'template_type' -directory: 'file_path'
/
```

在上述範例中，將 *template\$1type* 取代為下表中的其中一個範本類型。接著，將 *file\$1path* 取代為您要下載指令碼的資料夾路徑。請確定 AWS SCT 可以存取此資料夾，而無需請求管理員權限。此外，請確定您在命令參數值前後使用直式單引號 (`'`)。

若要下載所有 AWS SCT CLI 範本，請執行上述命令而不使用 `-type`選項。

下表包含您可以下載的 AWS SCT CLI 範本類型。對於每個範本，資料表包含檔案名稱和您可以使用指令碼執行的操作描述。


| 範本類型 | 檔案名稱 | Description | 
| --- | --- | --- | 
|  BTEQScriptConversion  |  `BTEQScriptConversionTemplate.scts`  |  將 Teradata Basic Teradata Query (BTEQ)、FastExport、FastLoad 和 MultiLoad 指令碼轉換為 Amazon Redshift RSQL。如需詳細資訊，請參閱[使用 ETL 轉換資料](CHAP-converting-etl.md)。  | 
| ConversionApply | `ConversionTemplate.scts` | 轉換來源資料庫結構描述，並將轉換後的程式碼套用至目標資料庫。或者， 會將轉換後的程式碼儲存為 SQL 指令碼，並儲存評估報告。如需詳細資訊，請參閱[轉換結構描述](CHAP_Converting.md)。  | 
| GenericAppConversion | `GenericApplicationConversionTemplate.scts` | 使用一般應用程式轉換器將內嵌的 SQL 程式碼轉換為您的 AWS SCT 應用程式。如需詳細資訊，請參閱[SQL 程式碼](CHAP_Converting.App.Generic.md)。  | 
| HadoopMigration | `HadoopMigrationTemplate.scts` | 將您的現場部署 Hadoop 叢集遷移至 Amazon EMR。如需詳細資訊，請參閱[使用 連線至 Apache Hadoop 資料庫 AWS Schema Conversion Tool](CHAP_Source.Hadoop.md)。  | 
| HadoopResumeMigration | `HadoopResumeMigrationTemplate.scts` | 繼續中斷將內部部署 Hadoop 叢集遷移至 Amazon EMR。如需詳細資訊，請參閱[使用 連線至 Apache Hadoop 資料庫 AWS Schema Conversion Tool](CHAP_Source.Hadoop.md)。  | 
| 資訊學 | `InformaticaConversionTemplate.scts` | 將內嵌的 SQL 程式碼轉換為 Informatica 擷取、轉換和載入 (ETL) 指令碼。在 ETL 指令碼中設定與來源和目標資料庫的連線，並在轉換後儲存轉換後的指令碼。如需詳細資訊，請參閱[Informatica ETL 指令碼](CHAP-converting-informatica.md)。  | 
| LanguageSpecificAppConversion | `LanguageSpecificAppConversionTemplate.scts` | 使用應用程式轉換器將 AWS SCT 內嵌的 SQL 程式碼轉換為 C\$1、C\$1\$1、Java 和 Pro\$1C 應用程式。如需詳細資訊，請參閱[轉換應用程式 SQL](CHAP_Converting.App.md)。  | 
| OozieConversion | `OozieConversionTemplate.scts` | 將您的 Apache Oozie 工作流程轉換為 AWS Step Functions。如需詳細資訊，請參閱[使用 連線至 Apache Oozie 工作流程 AWS Schema Conversion Tool](CHAP_Source.Oozie.md)。  | 
| RedshiftAgent | `DWHDataMigrationTemplate.scts` | 轉換來源資料倉儲結構描述，並將轉換後的程式碼套用至目標 Amazon Redshift 資料庫。然後註冊資料擷取代理程式、建立和啟動資料遷移任務。如需詳細資訊，請參閱[從資料倉儲遷移](agents.md)。  | 
| ReportCreation | `ReportCreationTemplate.scts` | 建立多個來源資料庫結構描述的資料庫遷移報告。然後將此報告儲存為 PDF 檔案的 CSV。如需詳細資訊，請參閱[評估報告](CHAP_AssessmentReport.md)。  | 
| SQLScriptConversion | `SQLScriptConversionTemplate.scts` | 將 SQL\$1Plus 或 TSQL 指令碼轉換為 PL/SQL，並儲存轉換後的指令碼。此外， 會儲存評估報告。  | 

下載 AWS SCT CLI 範本之後，請使用文字編輯器來設定指令碼，以便在來源和目標資料庫上執行。接著，使用 AWS SCT CLI 指令碼模式來執行您的指令碼。如需詳細資訊，請參閱[AWS SCT CLI 指令碼模式](#CHAP_Reference.ScriptMode)。

### 範例
<a name="CHAP_Reference.Scenario.Examples"></a>

下列範例會將所有範本下載到 `C:\SCT\Templates` 資料夾。

```
GetCliScenario -directory: 'C:\SCT\Templates'
/
```

下列範例會將 `ConversionApply`操作的範本下載到 `C:\SCT\Templates` 資料夾。

```
GetCliScenario -type: 'ConversionApply' -directory: 'C:\SCT\Templates'
/
```

## 編輯 AWS SCT CLI 案例
<a name="CHAP_Reference.Editing"></a>

下載案例範本之後，請將其設定為取得可在資料庫上執行的工作指令碼。

對於所有範本，請確定您提供來源和目標資料庫驅動程式的路徑。如需詳細資訊，請參閱[安裝 的 JDBC 驅動程式 AWS Schema Conversion Tool](CHAP_Installing.JDBCDrivers.md)。

請務必包含來源和目標資料庫的資料庫登入資料。此外，請確定您設定映射規則來描述轉換專案的來源目標對。如需詳細資訊，請參閱[資料類型映射](CHAP_Mapping.md)。

接著，設定要執行的操作範圍。您可以移除不使用的命令，或將新命令新增至指令碼。

例如，假設您計劃將來源 Oracle 資料庫中的所有結構描述轉換為 PostgreSQL。然後，您計劃將資料庫遷移評估報告儲存為 PDF，並將轉換後的程式碼套用至目標資料庫。在此情況下，您可以使用 範本進行 `ConversionApply`操作。使用下列程序來編輯您的 AWS SCT CLI 範本。

**編輯 `ConversionApply`操作的 AWS SCT CLI 範本**

1. 開啟您下載`ConversionTemplate.scts`的 。如需詳細資訊，請參閱[範例](#CHAP_Reference.Scenario.Examples)。

1. 從您的指令碼移除 **CreateFilter**、 **Convert -filter**、**ApplyToTarget -filter**、**SaveTargetSQL**、**SaveTargetSQLbyStatement** 和 **SaveReportCSV** 操作。

1. 對於 **SetGlobalSettings** 操作中的 **oracle\$1driver\$1file**，輸入 Oracle 驅動程式的路徑。然後，針對 **postgresql\$1driver\$1file**，輸入 PostgreSQL 驅動程式的路徑。

   如果您使用其他資料庫引擎，請針對設定使用適當的名稱。如需可在 **SetGlobalSettings** 操作中設定的全域設定完整清單，請參閱《》中的**全域設定矩陣**[參考資料](#CHAP_Reference.Download)。

1. （選用） 對於 **CreateProject**，輸入專案的名稱和本機專案檔案的位置。如果您選擇繼續執行預設值，請確定 AWS SCT 可以在 `C:\temp` 資料夾中建立檔案，而無需請求管理員權限。

1. 在 **AddSource** 中，輸入來源資料庫伺服器的 IP 地址。此外，輸入使用者名稱、密碼和連接埠以連線至來源資料庫伺服器。

1. 針對 **AddTarget**，輸入目標資料庫伺服器的 IP 地址。此外，輸入使用者名稱、密碼和連接埠以連線至您的目標資料庫伺服器。

1. （選用） 對於 **AddServerMapping**，輸入您要新增至映射規則的來源和目標資料庫物件。您可以使用 `sourceTreePath`和 `targetTreePath` 參數來指定資料庫物件的路徑。或者，您可以使用 `sourceNamePath`和 `targetNamePath` 來指定資料庫物件的名稱。如需詳細資訊，請參閱《》中的**伺服器映射命令**[參考資料](#CHAP_Reference.Download)。

   **AddServerMapping** 操作的預設值會將所有來源結構描述映射至您的目標資料庫。

1. 儲存檔案，然後使用指令碼模式來執行它。如需詳細資訊，請參閱[指令碼模式](#CHAP_Reference.ScriptMode)。

## AWS SCT CLI 指令碼模式
<a name="CHAP_Reference.ScriptMode"></a>

建立 AWS SCT CLI 指令碼或編輯範本後，您可以使用 `RunSCTBatch`命令執行該指令碼。請務必使用 CLI 指令碼儲存檔案做為`.scts`副檔名。

您可以從 AWS SCT 安裝路徑的 `app` 資料夾執行 AWS SCT CLI 指令碼。在 Windows 中，預設安裝路徑為 `C:\Program Files\AWS Schema Conversion Tool\`。請確定此資料夾包含 `RunSCTBatch.cmd`或 `RunSCTBatch.sh` 檔案。此外，此資料夾應包含 `AWSSchemaConversionToolBatch.jar` 檔案。

或者，您可以將路徑新增至作業系統`PATH`環境變數中的 `RunSCTBatch` 檔案。更新`PATH`環境變數之後，您可以從任何資料夾執行 AWS SCT CLI 指令碼。

若要執行 AWS SCT CLI 指令碼，請在 Windows 中使用下列命令。

```
RunSCTBatch.cmd --pathtoscts "file_path"
```

在上述範例中，使用指令碼取代 *file\$1path* 為 檔案的路徑。

若要執行 AWS SCT CLI 指令碼，請在 Linux 中使用下列命令。

```
RunSCTBatch.sh --pathtoscts "file_path"
```

在上述範例中，使用指令碼取代 *file\$1path* 為 檔案的路徑。

您可以在此命令中提供選用參數，例如資料庫登入資料、主控台輸出中的詳細資訊層級等。如需詳細資訊，請在 下載 AWS SCT 命令列界面參考[參考資料](#CHAP_Reference.Download)。

### 範例
<a name="CHAP_Reference.ScriptMode.Examples"></a>

下列範例會在 `C:\SCT\Templates` 資料夾中執行`ConversionTemplate.scts`指令碼。您可以在 Windows 中使用此範例。

```
RunSCTBatch.cmd --pathtoscts "C:\SCT\Templates\ConversionTemplate.scts"
```

下列範例會在 `/home/user/SCT/Templates`目錄中執行`ConversionTemplate.scts`指令碼。您可以在 Linux 中使用此範例。

```
RunSCTBatch.sh --pathtoscts "/home/user/SCT/Templates/ConversionTemplate.scts"
```

## AWS SCT CLI 參考資料
<a name="CHAP_Reference.Download"></a>

您可以在下列指南中找到有關 AWS Schema Conversion Tool 命令列界面 (CLI) 的參考資料：[AWS Schema Conversion Tool CLI 參考](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf)。