

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

本节介绍如何开始使用 AWS SCT 命令行界面 (CLI)。此外，本节还提供有关关键命令和使用模式的信息。有关 AWS SCT CLI 命令的完整参考，请参见[参考材料](#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，请运行序列操作：创建新项目、连接到源数据库和目标数据库、创建映射规则以及转换数据库对象。由于此工作流程可能很复杂，因此我们建议在 AWS SCT CLI 模式下使用脚本。有关更多信息，请参阅 [脚本模式](#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
```

要查看 AWS SCT CLI 交互模式下的可用命令列表，请运行以下命令。

```
help
/
```

要查看有关 AWS SCT CLI 命令的信息，请使用以下命令。

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

在前面的示例中，*command\$1name*替换为命令的名称。

要查看有关 AWS SCT CLI 命令参数的信息，请使用以下命令。

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

在前面的示例中，*command\$1name*替换为命令的名称。然后，替换为*parameters\$1list*用逗号分隔的参数名称列表。

要在 AWS SCT CLI 交互模式下从文件运行脚本，请使用以下命令。

```
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 模板类型。对于每个模板，该表都包含文件名和可使用该脚本运行的操作的描述。


| 模板类型 | 文件名 | 说明 | 
| --- | --- | --- | 
|  BTEQScript转换  |  `BTEQScriptConversionTemplate.scts`  |  将 Teradata 基本 Teradata 查询 (BTEQ)、、 FastExport和 FastLoad脚本转换为 Amazon Redshift RSQL MultiLoad 。有关更多信息，请参阅 [转换使用 ETL 的数据](CHAP-converting-etl.md)。  | 
| ConversionApply | `ConversionTemplate.scts` | 转换源数据库架构并将转换后的代码应用于目标数据库。或者，将转换后的代码另存为 SQL 脚本，并保存评估报告。有关更多信息，请参阅 [转换架构](CHAP_Converting.md)。  | 
| GenericAppConversion | `GenericApplicationConversionTemplate.scts` | 使用通用 AWS SCT 应用程序转换器转换嵌入到应用程序中的 SQL 代码。有关更多信息，请参阅 [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)。  | 
| Informatica | `InformaticaConversionTemplate.scts` | 转换嵌入到 Informatica 提取、转换和加载（ETL）脚本中的 SQL 代码。在 ETL 脚本中配置与源数据库和目标数据库的连接，并在转换后保存转换后的脚本。有关更多信息，请参阅 [Informatica ETL 脚本](CHAP-converting-informatica.md)。  | 
| LanguageSpecificAppConversion | `LanguageSpecificAppConversionTemplate.scts` | 使用 AWS SCT 应用程序转换器转换嵌入到 C\$1、C\$1\$1、Java 和 Pro\$1C 应用程序中的 SQL 代码。有关更多信息，请参阅 [转换应用程序 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)。  | 
| SQLScript转换 | `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**、**转换-fil** t **SaveTargeter、**ApplyToTarget -fil** ter、SQL**、**SaveTargetSQLby语句**和 **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)。