AWS SCT CLI 参考 - AWS Schema Conversion Tool

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

AWS SCT CLI 参考

本节介绍如何开始使用 AWS SCT 命令行界面 (CLI)。此外,本节还提供有关关键命令和使用模式的信息。有关 AWS SCT CLI 命令的完整参考,请参见参考材料

使用 AWS SCT 命令行界面的先决条件

下载并安装最新版本的 Amazon Corretto 11。有关更多信息,请参阅《Amazon Corretto 11 用户指南》适用于 Amazon Corretto 11 的下载内容

下载并安装最新版本的 AWS SCT。有关更多信息,请参阅 正在安装 AWS SCT

AWS SCT CLI 交互模式

可以在交互模式下使用 AWS SCT 命令行界面。在此模式下,您可以将命令逐个输入控制台。您可以使用此交互模式了解有关 CLI 命令的更多信息或下载最常用的 CLI 场景。

要转换源数据库架构 AWS SCT,请运行序列操作:创建新项目、连接到源数据库和目标数据库、创建映射规则以及转换数据库对象。由于此工作流程可能很复杂,因此我们建议在 AWS SCT CLI 模式下使用脚本。有关更多信息,请参阅 脚本模式

您可以从 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_name 替换为命令名称。

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

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

在前面的示例中,将 command_name 替换为命令名称。然后,将 parameters_list 替换为用逗号分隔的参数名称列表。

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

ExecuteFile -file: 'file_path' /

在前面的示例中,将 file_path 替换为脚本文件路径。确保文件有 .scts 扩展名。

要退出 AWS SCT CLI 交互模式,请运行quit命令。

示例

以下示例显示有关 Convert 命令的信息:

help -command: 'Convert' /

以下示例显示有关 Convert 命令两个参数的信息。

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

获取 AWS SCT CLI 场景

要获取最常用的 AWS SCT 场景,你可以使用GetCliScenario命令。您可以在交互模式下运行此命令,然后编辑下载的模板。在脚本模式下使用编辑的文件。

GetCliScenario 命令将所选模板或所有可用模板保存到指定目录。模板包含运行脚本的完整命令集。请务必编辑这些模板中的文件路径、数据库凭证、对象名和其他数据。另外,请确保删除不使用的命令,并在需要时向脚本中添加新命令。

要运行 GetCliScenario 命令,请完成先决条件并进入 AWS SCT CLI 交互模式。有关更多信息,请参阅 交互模式

接下来,使用以下语法运行 GetCliScenario 命令并获取 AWS SCT 场景。

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

在前面的示例中,将 template_type 替换为下表中的一种模板类型。接下来,将 file_path 替换为要下载脚本的文件夹路径。确保它 AWS SCT 可以在不请求管理员权限的情况下访问此文件夹。此外,请确保在命令参数值前后使用直单引号(')。

要下载所有 AWS SCT CLI 模板,请在不带-type选项的情况下运行前面的命令。

下表包括您可以下载的 AWS SCT CLI 模板类型。对于每个模板,该表都包含文件名和可使用该脚本运行的操作的描述。

模板类型 文件名 描述

BTEQ ScriptConversion

BTEQScriptConversionTemplate.scts

将 Teradata 基本 Teradata 查询 (BTEQ)、、 FastExport和 FastLoad脚本转换为 Amazon Redshift RSQL MultiLoad 。有关更多信息,请参阅 转换 ETL 过程

ConversionApply

ConversionTemplate.scts

转换源数据库架构并将转换后的代码应用于目标数据库。或者,将转换后的代码另存为 SQL 脚本,并保存评估报告。有关更多信息,请参阅 转换数据库架构

GenericAppConversion

GenericApplicationConversionTemplate.scts

使用通用 AWS SCT 应用程序转换器转换嵌入到应用程序中的 SQL 代码。有关更多信息,请参阅 转换应用程序中的 SQL 代码

HadoopMigration

HadoopMigrationTemplate.scts

将您的本地 Hadoop 集群迁移到 Amazon EMR。有关更多信息,请参阅 使用 Apache Hadoop 作为 AWS SCT 的源

HadoopResumeMigration

HadoopResumeMigrationTemplate.scts

恢复中断的从本地 Hadoop 集群到 Amazon EMR 的迁移。有关更多信息,请参阅 使用 Apache Hadoop 作为 AWS SCT 的源

Informatica

InformaticaConversionTemplate.scts

转换嵌入到 Informatica 提取、转换和加载(ETL)脚本中的 SQL 代码。在 ETL 脚本中配置与源数据库和目标数据库的连接,并在转换后保存转换后的脚本。有关更多信息,请参阅 转换 Informatica ETL 脚本

LanguageSpecificAppConversion

LanguageSpecificAppConversionTemplate.scts

使用 AWS SCT 应用程序转换器转换嵌入到 C#、C++、Java 和 Pro*C 应用程序中的 SQL 代码。有关更多信息,请参阅 转换应用程序 SQL

OozieConversion

OozieConversionTemplate.scts

将你的 Apache Oozie 工作流程转换为。 AWS Step Functions有关更多信息,请参阅 使用 Apache Oozie 作为 AWS SCT 的源

RedshiftAgent

DWHDataMigrationTemplate.scts

转换源数据仓库架构,并将转换后的代码应用于目标 Amazon Redshift 数据库。然后,注册数据提取代理,创建并启动数据迁移任务。有关更多信息,请参阅 从数据仓库迁移到亚马逊 Redshift

ReportCreation

ReportCreationTemplate.scts

创建多个源数据库架构的数据库迁移报告。然后将此报告另存为 PDF 文件或 CSV 文件。有关更多信息,请参阅 迁移评估报告

SQL ScriptConversion

SQLScriptConversionTemplate.scts

将 SQL*Plus 或 TSQL 脚本转换为 PL/SQL 并保存转换后的脚本。此外,保存评估报告。

下载 AWS SCT CLI 模板后,使用文本编辑器将脚本配置为在源数据库和目标数据库上运行。接下来,使用 AWS SCT CLI 脚本模式运行脚本。有关更多信息,请参阅 AWS SCT CLI 脚本模式

示例

以下示例将所有模板下载到 C:\SCT\Templates 文件夹。

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

以下示例将 ConversionApply 操作模板下载到 C:\SCT\Templates 文件夹。

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

编辑 AWS SCT CLI 场景

下载场景模板后,将其配置为可在数据库上运行的工作脚本。

对于所有模板,请务必提供源数据库和目标数据库驱动程序的路径。有关更多信息,请参阅 下载所需的数据库驱动程序

确保包含源数据库和目标数据库的数据库凭证。此外,请务必设置映射规则以描述转换项目的源目标对。有关更多信息,请参阅 创建映射规则

接下来,配置要运行的操作的范围。您可以删除不使用的命令或向脚本中添加新命令。

例如,假设您计划将源 Oracle 数据库中的所有架构转换为 PostgreSQL。然后,您计划将数据库迁移评估报告另存为 PDF,并将转换后的代码应用于目标数据库。在这种情况下,您可以使用 ConversionApply 操作模板。使用以下步骤编辑您的 AWS SCT CLI 模板。

编辑ConversionApply操作的 AWS SCT CLI 模板
  1. 打开下载的 ConversionTemplate.scts。有关更多信息,请参阅 示例

  2. 从脚本中移除CreateFilter转换 ApplyToTarget -f ilt SaveTarget er、-filter LbyStatement、SaveTarget SQLSaveReportCSV 操作。

  3. 对于SetGlobalSettings操作中的 oracle_driver_file,请输入 Oracle 驱动程序的路径。然后,在 postgresql_driver_file 中,输入 PostgreSQL 驱动程序的路径。

    如果使用其他数据库引擎,请使用相应的设置名称。有关可在SetGlobalSettings操作中设置的全局设置的完整列表,请参阅中的全局设置矩阵参考材料

  4. (可选)对于 CreateProject,请输入您的项目名称和本地项目文件的位置。如果您选择继续使用默认值,请确保无需请求管理员权限 AWS SCT 即可在 C:\temp 文件夹中创建文件。

  5. 对于 AddSource,请输入源数据库服务器的 IP 地址。此外,输入用于连接到源数据库服务器的用户名、密码和端口。

  6. 对于 AddTarget,输入目标数据库服务器的 IP 地址。此外,输入用于连接到目标数据库服务器的用户名、密码和端口。

  7. (可选)对于 AddServerMapping,输入要添加到映射规则的源和目标数据库对象。您可以使用 sourceTreePathtargetTreePath 参数指定数据库对象的路径。或者,您可以使用 sourceNamePathtargetNamePath 指定数据库对象的名称。有关更多信息,请参阅 参考材料 中的服务器映射命令

    AddServerMapping操作的默认值将所有源架构映射到您的目标数据库。

  8. 保存文件,然后使用脚本模式运行文件。有关更多信息,请参阅 脚本模式

AWS SCT CLI 脚本模式

创建 AWS SCT CLI 脚本或编辑模板后,您可以使用RunSCTBatch命令运行该脚本。确保将带 CLI 脚本的文件另存为 .scts 扩展文件。

您可以从 AWS SCT 安装路径的app文件夹中运行 AWS SCT CLI 脚本。在 Windows 中,默认安装路径为 C:\Program Files\AWS Schema Conversion Tool\。确保此文件夹包含 RunSCTBatch.cmdRunSCTBatch.sh 文件。此外,此文件夹还应包含 AWSSchemaConversionToolBatch.jar 文件。

或者,也可以在操作系统的 PATH 环境变量中添加 RunSCTBatch 文件路径。更新PATH环境变量后,可以从任何文件夹运行 AWS SCT CLI 脚本。

要运行 AWS SCT CLI 脚本,请在 Windows 中使用以下命令。

RunSCTBatch.cmd --pathtoscts "file_path"

在前面的示例中,将 file_path 替换为脚本文件路径。

要运行 AWS SCT CLI 脚本,请在 Linux 中使用以下命令。

RunSCTBatch.sh --pathtoscts "file_path"

在前面的示例中,将 file_path 替换为脚本文件路径。

您可以在此命令中提供可选参数,例如数据库凭证、控制台输出中的详细信息级别等。有关更多信息,请下载 AWS SCT 命令行界面参考,网址为参考材料

示例

以下示例运行 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 参考资料

您可以在以下指南中找到有关 AWS Schema Conversion Tool 命令行界面 (CLI) 的参考资料:AWS Schema Conversion Tool CLI 参考