

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再向新客戶開放。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

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

# AWS Mainframe Modernization 資料集定義參考
<a name="datasets-m2-definition"></a>

如果您的應用程式需要多個資料集來處理，請在 AWS Mainframe Modernization 主控台中逐一輸入它們是無效的。反之，我們建議您建立 JSON 檔案來指定每個資料集。雖然許多參數很常見，但在 JSON 中指定的資料集類型不同。本文件說明匯入不同類型的資料集所需的 JSON 詳細資訊。

**注意**  
匯入任何資料集之前，您必須將資料集從大型主機傳輸到 AWS。資料集的格式必須是可以載入到所選執行期引擎的格式。在許多情況下，這可能是循序檔案，但對於 Rocket Software （先前稱為 Micro Focus) VSAM，它需要採用其專屬格式。`DFCONV` 公用程式是轉換 檔案的建議方法。在資料集定義 JSON 檔案中指定儲存貯體和資料夾的名稱。  
 如需 Rocket Software 執行期引擎的詳細資訊，請參閱 *Rocket Software* 文件中的 [DFCONV 批次檔案轉換](https://www.microfocus.com/documentation/enterprise-developer/ed70/ED-Eclipse/BKFHFHCONVS001.html)。  
如需大型主機 AWS 轉換的詳細資訊，請參閱[為大型主機執行期的 AWS 轉換設定組態](ba-runtime-config.md)。

**Topics**
+ [一般屬性](#datasets-m2-definition-common)
+ [VSAM 的資料集請求格式範例](#datasets-m2-definition-vsam)
+ [GDG 基礎的資料集請求格式範例](#datasets-m2-definition-gdg)
+ [PS 或 GDG 世代的範例資料集請求格式](#datasets-m2-definition-ps)
+ [PO 的資料集請求格式範例](#datasets-m2-definition-po)

## 一般屬性
<a name="datasets-m2-definition-common"></a>

數個參數適用於所有資料集。這些參數涵蓋下列區域：
+ 資料集的相關資訊 (`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 做為資料庫，以及 Amazon Elastic File System 或 Amazon FSx for Lustre 做為檔案系統。

**datasetName**  
（必要） 指定在大型主機上顯示之資料集的完整名稱。

**relativePath**  
（必要） 適用於**目標**位置。指定資料庫或檔案系統中資料集的相對位置。

**datasetOrg**  
（必要） 指定資料集的類型。可能值為 `vsam`、`gdg`、`ps`、`po` 或 `unknown`。  
+ AWS 大型主機執行期引擎的轉換：僅支援 VSAM 類型資料集。
+ Rocket 軟體執行期引擎：支援 VSAM、GDG、PS、PO 或未知類型資料集。
**注意**  
如果您的應用程式需要不是 COBOL 資料檔案但為 PDF 或其他二進位檔案的檔案，您可以指定這些檔案，如下所示：  

  ```
  "datasetOrg": {
              "type": PS {
                  "format": U
              },
  ```

## VSAM 的資料集請求格式範例
<a name="datasets-m2-definition-vsam"></a>
+ AWS 大型主機執行期引擎的轉換：支援。
+ Rocket 軟體執行期引擎：支援。

如果您要匯入 VSAM 資料集，請將 指定`vsam`為 `datasetOrg`。您的 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`) 和 Unknown ()`?`。

**格式**  
（必要） 指定 VSAM 資料集類型和記錄格式。  
+ AWS 大型主機執行期引擎的轉換：可能的值為 ESDS (`ES`) 和 KSDS ()`KS`。記錄格式可以是固定的，也可以是變數。
+ Rocket Software 執行期引擎：可能的值為 ESDS (`ES`)、KSDS (`KS`) 和 RRDS ()`RR`。VSAM 定義包含記錄格式，因此您不需要另外指定。

**primaryKey**  
（必要） 僅適用於 VSAM KSDS 資料集。指定主索引鍵。包含主索引鍵名稱、索引鍵位移和索引鍵長度。`name` 是選用的； `offset` `length`是必要項目。

**recordLength**  
（必要） 指定記錄的長度。對於固定長度的記錄格式，這些值必須相符。  
+ AWS 大型主機執行期引擎的轉換：對於 VSAM ESDS 和 KSDS， `min` 是選用的，`max`並且是必要的。
+ Rocket Software 執行期引擎： `min`和 `max`為必要項目。

**externalLocation**  
（必要） 指定**來源**位置：即上傳資料集的 Amazon S3 儲存貯體。

### 大型主機引擎特定屬性的 AWS 轉換
<a name="datasets-m2-definition-vsam-ba"></a>

大型主機執行期引擎的 AWS 轉換支援 VSAM 資料集的壓縮。下列範例顯示如何在 JSON 中指定此屬性。

```
{
    common properties
        ...
        "datasetOrg": {
            "vsam": {
                common properties
                ...
                "compressed": boolean,
                common properties
                ...
            }
        }
}
```

指定壓縮屬性，如下所示：

**壓縮**  
（選用） 指定此資料集的索引是否儲存為壓縮值。如果您有大型資料集 （通常 > 100 Mb)，請考慮將此旗標設定為 `true`。

## GDG 基礎的資料集請求格式範例
<a name="datasets-m2-definition-gdg"></a>
+ AWS 大型主機執行期引擎的轉換：不支援。
+ Rocket 軟體執行期引擎：支援。

如果您要匯入 GDG 基礎資料集，請將 指定`gdg`為 `datasetOrg`。您的 JSON 應類似下列範例：

```
{
    "storageType": "Database",
    "datasetName": "AWS.M2.GDG",
    "relativePath": "DATA",
    "datasetOrg": {
        "gdg": {
            "limit": "3",
            "rollDisposition": "Scratch and No Empty"
        }
    }
}
```

GDG 基礎資料集支援下列屬性。

**limit**  
（必要） 指定作用中世代或偏差的數量。對於 GDG 基礎叢集，上限為 255。

**rollDisposition**  
（選用） 指定達到或超過最大值時如何處理產生資料集。可能值為 `No Scratch and No Empty`、`Scratch and No Empty`、`Scratch and Empty`、 或 `No Scratch and Empty`。預設值為 `Scratch and No Empty`。

## PS 或 GDG 世代的範例資料集請求格式
<a name="datasets-m2-definition-ps"></a>
+ AWS 大型主機執行期引擎的轉換：不支援。
+ Rocket 軟體執行期引擎：支援。

如果您要匯入 PS 或 GDG 產生資料集，請將 指定`ps`為 `datasetOrg`。您的 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 世代資料集支援下列屬性。

**格式**  
（必要） 指定資料集記錄的格式。可能值為 `F`、`FA`、`FB`、`FBA`、`FBM`、`FBS`、`FM`、`FS`、`LSEQ`、`U`、`V`、`VA`、`VB`、`VBA`、`VBM`、`VBS`、`VM` 和 `VS`。

**編碼**  
（必要） 指定資料集的字元集編碼。可能的值為 ASCII (`A`)、EBCDIC (`E`) 和 Unknown (`?`)

**recordLength**  
（必要） 指定記錄的長度。您必須同時指定記錄的最小 (`min`) 和最大 (`max`) 長度。對於固定長度的記錄格式，這些值必須相符。

**externalLocation**  
（必要） 指定**來源**位置：即上傳資料集的 Amazon S3 儲存貯體。

## PO 的資料集請求格式範例
<a name="datasets-m2-definition-po"></a>

如果您要匯入 PO 資料集，請將 指定`po`為 `datasetOrg`。您的 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 資料集支援下列屬性。

**格式**  
（必要） 指定資料集記錄的格式。可能值為 `F`、`FA`、`FB`、`FBA`、`FBM`、`FBS`、`FM`、`FS`、`LSEQ`、`U`、`V`、`VA`、`VB`、`VBA`、`VBM`、`VBS`、`VM` 和 `VS`。

**編碼**  
（必要） 指定資料集的字元集編碼。可能的值為 ASCII (`A`)、EBCDIC (`E`) 和 Unknown ()`?`。

**memberFileExtensions**  
（必要） 指定包含一或多個檔案名稱副檔名的陣列，可讓您指定要包含哪些檔案做為 PDS 成員。

**recordLength**  
（選用） 指定記錄的長度。記錄的最小 (`min`) 和最大 (`max`) 長度都是選用的。對於固定長度的記錄格式，這些值必須相符。

**externalLocation**  
（必要） 指定**來源**位置：即上傳資料集的 Amazon S3 儲存貯體。

**注意**  
Rocket Software 執行期引擎目前的實作會將 PDS 項目新增為動態資料集。