AWS 大型机现代化服务(托管运行时环境体验)不再向新客户开放。有关类似于 AWS 大型机现代化服务(托管运行时环境体验)的功能,请浏览 AWS 大型机现代化服务(Self-Managed体验)。现有客户可以继续正常使用该服务。有关更多信息,请参阅AWS 大型机现代化可用性变更。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS 大型机现代化数据集定义参考
如果您的应用程序需要多个数据集进行处理,则在 AWS 大型机现代化控制台中逐个输入这些数据集效率低下。我们建议您创建一个 JSON 文件来指定每个数据集。尽管许多参数都很常见,但在 JSON 中,要以不同的方式指定不同的数据集类型。本文档描述了导入不同类型数据集所需的 JSON 的详细信息。
注意
在导入任何数据集之前,必须将数据集从大型机传输到 AWS。数据集必须采用可以加载到所选运行时引擎的格式。在许多情况下,这可以是一个顺序文件,但对于 Rocket Software(前身为 Micro Focus)VSAM,它必须采用其专有格式。DFCONV 实用程序是转换文件的建议方法。在数据集定义 JSON 文件中指定存储桶和文件夹的名称。
有关 Rocket Software 运行时引擎的更多信息,请参阅 R ocket Softwar e 文档中的 DFCONV 批量文件转换
有关大型机 AWS 转型的更多信息,请参阅为大型机运行时 AWS 转换设置配置。
常用属性
部分参数是所有数据集通用的。这些参数涵盖以下区域:
-
有关数据集的信息(
datasetName、datasetOrg、recordLength、encoding)。 -
有关从何处导入的信息,即数据集的源位置。该位置不是大型机上的位置,而是您上传数据集的 Amazon S3 位置的路径 (
externalLocation)。 -
有关导入到何处的信息,即数据集的目标位置。该位置可以是数据库或文件系统,具体取决于您的运行时引擎。(
storageType和relativePath)。 -
有关数据集类型的信息(特定数据集类型、格式、编码等)。
每个数据集定义都具有相同的 JSON 结构。以下示例 JSON 显示了所有这些通用参数。
{ "dataSet": { "storageType": "Database", "datasetName": "MFI01V.MFIDEMO.BNKACC", "relativePath": "DATA", "datasetOrg": { "type": { type-specific properties ... }, }, }, }
以下属性是所有数据集的通用属性。
- storageType
-
必需。应用于目标位置。指定数据集是存储在数据库中还是文件系统中。可能的值为
Database或FileSystem。-
AWS 为大型机运行时引擎进行转换:不支持文件系统。您必须使用数据库。
-
Rocket Software 运行时引擎:都支持数据库和文件系统。你可以使用 Amazon Relational Database Service 或 Amazon Aurora 来管理数据库,使用亚马逊 Elastic File System 或 Amazon FSx for Lustre 来管理文件系统。
-
- datasetName
-
(必需)指定在大型机上显示的数据集的完全限定名称。
- relativePath
-
(必需)应用于目标位置。指定数据集在数据库或文件系统中的相对位置。
- datasetOrg
-
(必需)指定数据集的类型。可能的值为
vsam、gdg、ps、po或unknown。-
AWS 大型机运行时引擎的转换:仅支持 VSAM 类型的数据集。
-
Rocket Software 运行时引擎:支持 VSAM、GDG、PS、PO 或未知类型数据集。
注意
如果您的应用程序需要的文件不是 COBOL 数据文件而是 PDF 或其他二进制文件的文件,则可以按如下方式指定它们:
"datasetOrg": { "type": PS { "format": U },
-
VSAM 数据集请求格式示例
-
AWS 大型机运行时引擎转换:支持。
-
火箭软件运行时引擎:支持。
如果要导入 VSAM 数据集,请将 datasetOrg 指定为 vsam。您的 JSON 应与以下示例类似:
{ "storageType": "Database", "datasetName": "AWS.M2.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "encoding": "A", "format": "KS", "primaryKey": { "length": 11, "offset": 0 } } }, "recordLength": { "min": 300, "max": 300 } }, "externalLocation": { "s3Location": "s3://$M2_DATA_STORE/catalog/data/AWS.M2.VSAM.KSDS.DAT" }
VSAM 数据集支持以下属性。
- 编码
-
(必需)指定数据集的字符集编码。可能的值为 ASCII(
A)、EBCDIC(E)和未知(?)。 - format
-
(必需)指定 VSAM 数据集类型和记录格式。
-
AWS 大型机运行时引擎的转换:可能的值为 ESDS (
ES) 和 KSDS ()。KS记录格式可以是固定的,也可以是可变的。 -
Rocket Software 运行时引擎:可能的值是 ESDS (
ES)、KSDS (KS) 和 RRDS ()。RRVSAM 定义包括记录格式,因此您无需单独指定它。
-
- primaryKey
-
(必需)仅适用于 VSAM KSDS 数据集。指定主键。包括主键名称、键偏移和键长度。
name为可选项,offset和length为必需项。 - recordLength
-
(必需)指定记录的长度。对于固定长度的记录格式,这些值必须匹配。
-
AWS 大型机运行时引擎的转换:对于 VSAM ESDS 和 KSDS,
min是可选的,是必需的。max -
火箭软件运行时引擎:
min和max是必需的。
-
- externalLocation
-
(必需)指定源位置:即您上传数据集的 Amazon S3 存储桶。
AWS Transform 适用于大型机引擎特定的属性
大型机 AWS 转换运行时引擎支持 VSAM 数据集的压缩。以下示例说明如何在 JSON 中指定此属性。
{ common properties ... "datasetOrg": { "vsam": { common properties ... "compressed": boolean, common properties ... } } }
按如下方式指定压缩属性:
- compression
-
(可选)指定此数据集的索引是否存储为压缩值。如果您的数据集很大(通常大于 100 Mb),请考虑将此标志设置为
true。
GDG base 数据集请求格式示例
-
AWS 大型机运行时引擎转换:不支持。
-
火箭软件运行时引擎:支持。
如果要导入 GDG base 数据集,请将 datasetOrg 指定为 gdg。您的 JSON 应与以下示例类似:
{ "storageType": "Database", "datasetName": "AWS.M2.GDG", "relativePath": "DATA", "datasetOrg": { "gdg": { "limit": "3", "rollDisposition": "Scratch and No Empty" } } }
GDG base 数据集支持以下属性。
- limit
-
(必需)指定活跃生成数或偏差。对于 GDG base 集群,最大值为 255。
- rollDisposition
-
(可选)指定在达到或超过最大值时如何处理生成数据集。可能的值为
No Scratch and No Empty、Scratch and No Empty、Scratch and Empty或No Scratch and Empty。默认值为Scratch and No Empty。
PS 或 GDG 生成的数据集请求格式示例
-
AWS 大型机运行时引擎转换:不支持。
-
火箭软件运行时引擎:支持。
如果要导入 PS 或 GDG 生成数据集,请将 datasetOrg 指定为 ps。您的 JSON 应与以下示例类似:
{ "storageType": "Database", "datasetName": "AWS.M2.PS.FB", "relativePath": "DATA", "datasetOrg": { "ps": { "format": "FB", "encoding": "A" } }, "recordLength": { "min": 300, "max": 300 } }, "externalLocation": { "s3Location": "s3://$M2_DATA_STORE/catalog/data/AWS.M2.PS.LSEQ" } }
PS 或 GDG 生成数据集支持以下属性。
- format
-
(必需)指定数据集记录的格式。可能的值为
F、FA、FB、FBA、FBM、FBS、FM、FS、LSEQ、U、V、VA、VB、VBA、VBM、VBS、VM和VS。 - 编码
-
(必需)指定数据集的字符集编码。可能的值为 ASCII (
A)、EBCDIC (E) 和未知 (?)。 - recordLength
-
(必需)指定记录的长度。必须指定记录的最小 (
min) 和最大 (max) 长度。对于固定长度的记录格式,这些值必须匹配。 - externalLocation
-
(必需)指定源位置:即您上传数据集的 Amazon S3 存储桶。
PO 数据集请求格式示例
如果要导入 PO 数据集,请将 datasetOrg 指定为 po。您的 JSON 应与以下示例类似:
{ "storageType": "Database", "datasetName": "AWS.M2.PO.PROC", "relativePath": "DATA", "datasetOrg": { "po": { "format": "LSEQ", "encoding": "A", "memberFileExtensions": ["PRC"] } }, "recordLength": { "min": 80, "max": 80 } }, "externalLocation": { "s3Location": "s3://$M2_DATA_STORE/source/proc/" } }
PO 数据集支持以下属性。
- format
-
(必需)指定数据集记录的格式。可能的值为
F、FA、FB、FBA、FBM、FBS、FM、FS、LSEQ、U、V、VA、VB、VBA、VBM、VBS、VM和VS。 - 编码
-
(必需)指定数据集的字符集编码。可能的值为 ASCII(
A)、EBCDIC(E)和未知(?)。 - memberFileExtensions
-
(必需)指定包含一个或多个文件扩展名的数组,支持您指定要包含哪些文件作为 PDS 成员。
- recordLength
-
(可选)指定记录的长度。记录的最小 (
min) 和最大 (max) 长度都是可选的。对于固定长度的记录格式,这些值必须匹配。 - externalLocation
-
(必需)指定源位置:即您上传数据集的 Amazon S3 存储桶。
注意
Rocket Software 运行时引擎的当前实现将 PDS 条目添加为动态数据集。