

AWS Il servizio di modernizzazione del mainframe (esperienza Managed Runtime Environment) non è più aperto a nuovi clienti. Per funzionalità simili a AWS Mainframe Modernization Service (esperienza Managed Runtime Environment), esplora AWS Mainframe Modernization Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. [Per ulteriori informazioni, consulta AWS Modifica della disponibilità di Mainframe Modernization.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial: converti il codice da Assembler a COBOL in Modernizzazione del mainframe AWS
<a name="assembler-conversion-steps"></a>

È possibile utilizzare questo documento come step-by-step guida per comprendere come convertire il codice Assembler per la modernizzazione del mainframe in COBOL. Inoltre, puoi fare riferimento al [workshop sulla conversione automatica del codice da Assembler a COBOL per](https://catalog.workshops.aws/awsm2ccm-assembler-cobol/en-US) saperne di più sul processo di conversione.

**Contents**
+ [Prerequisiti](#tutorial-assembler-conversion-prerequisites)
+ [Passaggio 1: condividi le risorse di compilazione con Account AWS](#tutorial-assembler-conversion-share-assets)
+ [Fase 2: creazione di bucket Amazon S3](#tutorial-assembler-conversion-create-bucket)
+ [Fase 3: Creare una policy IAM](#tutorial-assembler-conversion-IAM-policy)
+ [Fase 4: Creare un ruolo IAM](#tutorial-assembler-conversion-IAM-role)
+ [Fase 5: collegare la policy IAM al ruolo IAM](#tutorial-assembler-conversion-attach)
+ [Fase 6: Creare il progetto CodeBuild](#tutorial-assembler-conversion-create-project)
  + [Fase 6.1: Creare il progetto Define](#tutorial-conversion-define-project)
  + [Fase 6.2: Creare il progetto Code Analysis](#tutorial-conversion-analysis-project)
  + [Fase 6.3: Creare il progetto Code Conversion](#tutorial-conversion-code-project)
+ [Fase 7: Definizione del progetto e caricamento del codice sorgente](#tutorial-assembler-conversion-define-upload)
+ [Fase 8: Esegui l'analisi e comprendi i report](#tutorial-assembler-conversion-run-analysis)
+ [Passaggio 9: Esegui la conversione del codice](#tutorial-assembler-conversion-run-code)
+ [Passaggio 10: verifica la conversione del codice](#tutorial-assembler-conversion-verify)
+ [Passaggio 11: scarica il codice convertito](#tutorial-assembler-conversion-download)
+ [Eseguire la pulizia delle risorse](#tutorial-assembler-conversion-clean-resources)

## Prerequisiti
<a name="tutorial-assembler-conversion-prerequisites"></a>

Leggi la [Comprendi la fatturazione della conversione del codice per la conversione in Assembler](assembler-conversion-billing.md) sezione per capire come la conversione del codice Assembler genera addebiti (report di fatturazione) e come funziona AWS Account Management la fatturazione.

## Passaggio 1: condividi le risorse di compilazione con Account AWS
<a name="tutorial-assembler-conversion-share-assets"></a>

In questo passaggio, assicurati di condividere le risorse di compilazione con i tuoi Account AWS, specialmente nella regione in cui vengono utilizzate le risorse.

1. Apri la Modernizzazione del mainframe AWS console all'indirizzo [https://console.aws.amazon.com/m2/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/).

1. Nella barra di navigazione a sinistra, scegli **Strumenti**.

1. In **AWS Mainframe Modernization Code Conversion with mLogica**, scegli **Condividi risorse** con my. Account AWS

**Importante**  
Devi eseguire questo passaggio una volta in ogni AWS regione in cui intendi creare build.

## Fase 2: creazione di bucket Amazon S3
<a name="tutorial-assembler-conversion-create-bucket"></a>

In questo passaggio, crei bucket Amazon S3. Il primo bucket è il bucket di progetto AWS CodeBuild per contenere il codice sorgente, quindi premi il bucket di output per contenere l' AWS CodeBuild output (codice convertito). Per ulteriori informazioni, consulta [Creazione, configurazione e utilizzo dei bucket Amazon S3 nella Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) User *Guide*.

1. Per creare il bucket di progetto, accedi alla console Amazon S3 e **scegli** Crea bucket.

1. Nella **configurazione generale**, fornisci un nome per il bucket e specifica Regione AWS dove desideri crearlo. Un esempio di nome è`codebuild-regionId-accountId-bucket`, dove: 
   + `regionId`è la Regione AWS parte del secchio.
   +  `accountId`è il tuo Account AWS ID.
**Nota**  
Se stai creando il bucket in un paese diverso Regione AWS dagli Stati Uniti orientali (Virginia settentrionale), specifica il `LocationConstraint` parametro. Per ulteriori informazioni, consulta [Create Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) nel *riferimento all'API di Amazon Simple Storage Service*.

1. Conserva tutte le altre impostazioni e scegli **Crea bucket**.

Qualunque sia il nome che scegli per questi bucket, assicurati di usarli durante questo tutorial.

## Fase 3: Creare una policy IAM
<a name="tutorial-assembler-conversion-IAM-policy"></a>

In questo passaggio, crei una [policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). La policy IAM fornita concede autorizzazioni specifiche AWS CodeBuild per l'interazione con Amazon S3, Amazon Elastic Container Registry, [ CloudWatch i log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) di Amazon che CodeBuild generano e le risorse per la conversione del codice. Amazon Elastic Compute Cloud Questa politica non è personalizzata per i clienti. La politica concede le autorizzazioni per Modernizzazione del mainframe AWS interagire e recuperare le statistiche di conversione del codice per fatturare il cliente in modo appropriato.

*Per ulteriori informazioni sulla creazione di una policy IAM, consulta [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella guida per l'utente IAM.*

**Per creare una policy**

1. Accedi alla console IAM e scegli **Policies** nel riquadro di navigazione a sinistra.

1. Scegli **Crea policy**.

1. Copia e incolla la seguente policy JSON nell'editor delle policy.

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	  
       "Statement": [ 
           { 
               "Action": [
                   "s3:PutObject", 
                   "s3:GetObject", 
                   "s3:GetBucketLocation", 
                   "s3:ListBucket", 
                   "s3:PutObjectAcl", 
                   "s3:GetBucketAcl" 
               ], 
               "Resource": [ 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket", 
                   "arn:aws:s3:::codebuild-regionId-accountId-bucket/*", 
                   "arn:aws:s3:::aws-m2-repo-*" ], 
                       "Effect": "Allow" 
             }, 
             {
                 "Action": [ 
                   "ecr:GetAuthorizationToken", 
                   "ecr:BatchCheckLayerAvailability", 
                   "ecr:BatchGetImage", 
                   "ecr:GetDownloadUrlForLayer", 
                   "logs:*", 
                   "ec2:DescribeSecurityGroups", 
                   "ec2:DescribeSubnets", 
                   "ec2:DescribeNetworkInterfaces", 
                   "ec2:DeleteNetworkInterface", 
                   "ec2:CreateNetworkInterface", 
                   "ec2:DescribeDhcpOptions", 
                   "ec2:DescribeVpcs", 
                   "ec2:CreateNetworkInterfacePermission" 
               ], 
               "Resource": "*", 
               "Effect": "Allow" 
            } 
       ] 
   }
   ```

------

1. Facoltativamente, puoi aggiungere tag alla politica. I tag sono coppie chiave-valore che possono aiutarti a organizzare, tracciare o controllare l'accesso alla politica.

1. Scegliere **Next:Review** (Successivo:Rivedi).

1. Fornisci un nome per la politica, ad esempio,. `CodeBuildAWSM2CCMPolicy`

1. Facoltativamente, puoi inserire una descrizione della politica e rivedere il riepilogo della politica per assicurarti che sia corretto.

1. Scegli **Crea policy**.

## Fase 4: Creare un ruolo IAM
<a name="tutorial-assembler-conversion-IAM-role"></a>

In questo passaggio, crei un nuovo [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) che permetta di CodeBuild interagire con AWS le risorse per te, dopo aver associato le policy IAM che hai creato in precedenza a questo nuovo ruolo IAM.

Per informazioni sulla creazione di un ruolo di servizio, consulta [Creating a Role to Delegate Permissions to an AWS Service nella guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) per l'*utente IAM*.

1. Accedi alla console IAM e scegli **Ruoli** nel riquadro di navigazione a sinistra.

1. Scegli **Crea ruolo**.

1. In **Tipo di entità affidabile**, scegli il **servizio AWS**.

1. **In Casi d'uso per altri servizi AWS **CodeBuild****, scegli, quindi scegli di **CodeBuild**nuovo.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), scegli **Next** (Successivo). Successivamente assegnerai una policy al ruolo.

1. In **Dettagli del ruolo**, fornisci un nome per il ruolo, `IAMRoleTaskExecutionRoleForCodeBuild` ad esempio.

1. In **Seleziona entità attendibili**, verifica che il documento di policy abbia il seguente aspetto:

------
#### [ JSON ]

****  

   ```
   {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Principal": {
                   "Service": "codebuild.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
               }
             ]
   }
   ```

------

1. Scegli **Crea ruolo**.

## Fase 5: collegare la policy IAM al ruolo IAM
<a name="tutorial-assembler-conversion-attach"></a>

In questo passaggio, colleghi la policy IAM creata in precedenza al ruolo `IAMRoleTaskExecutionRoleForCodeBuild` IAM.

1. Accedi alla console IAM e scegli **Ruoli** nel riquadro di navigazione a sinistra.

1. In **Ruoli**, scegli il ruolo che hai creato in precedenza, ad esempio`IAMRoleTaskExecutionRoleForCodeBuild`.

1. In **Criteri di autorizzazione**, scegli **Aggiungi autorizzazioni**, quindi **Allega** criteri.

1. In **Altre politiche di autorizzazione**, scegli le politiche che hai creato in precedenza, ad esempio. `CodeBuildAWSM2CCMPolicy`

1. Scegli **Collega policy**.

## Fase 6: Creare il progetto CodeBuild
<a name="tutorial-assembler-conversion-create-project"></a>

In questo passaggio, crei tre diversi CodeBuild progetti in base al `buildspec.yml` file sopra menzionato.

### Fase 6.1: Creare il progetto Define
<a name="tutorial-conversion-define-project"></a>

**Per creare il progetto Define**

1. Accedi alla CodeBuild console e scegli **Crea progetto di compilazione**.

1. Nella sezione **Configurazione del progetto**, fornisci un nome per il progetto, ad esempio`1-awsm2ccm-define-project`.

1. Nella sezione **Source**, per **Source provider**, lascia la selezione predefinita.

1. Nella sezione **Ambiente**, scegli **Immagine personalizzata**.

1. Nel campo **Tipo di ambiente**, scegli **Linux**.

1. In **Registro delle immagini**, scegli **Altro registro**.

1. Nel campo **URL del registro esterno**, segui la [Modernizzazione del mainframe AWS contenitore](assembler-conversion-components-process.md#assembler-conversion-components-container) sezione.

1. In **Ruolo di servizio**, scegli **Ruolo di servizio esistente** e, nel campo **Role ARN**, scegli il ruolo di servizio creato in precedenza (ad esempio,`IAMRoleTaskExecutionRoleForCodeBuild`).

1. Espandi la sezione **Configurazione aggiuntiva**, procedi come segue:

   1. VPC: configura se necessario in base alla configurazione.

   1. Timeout: impostato su **60** minuti.

   1. **Timeout in coda: impostato su 480 minuti.**

   1. Crittografia: scegli le impostazioni di crittografia appropriate (l'impostazione predefinita va bene).

   1. Nella sezione **Variabili d'ambiente**, aggiungi quanto segue uno per uno:
      + Nome: **PROJECT\_BUCKET**. Valore:. `codebuild-regionId-accountId- bucket` Tipo: **testo semplice**
      + **Nome: PROJECT\_DIR.** Valore:. `prj_codebuild_01` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_ACTION.** Valore:. `define_project` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_LOGGING\_BUCKET.** `s3:// codebuild-regionId-accountId-bucket`Valore:. Tipo: **testo semplice**

1. **Nella sezione **Buildspec**, scegliete **Inserisci comandi di compilazione**, quindi Passa all'editor.**

1. Sostituisci i valori correnti con questo:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR 
   artifacts: 
       files: 
           - '**/*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   dove, PROJECT\_DIR sono variabili di ambiente disponibili all'interno. CodeBuild Per ulteriori informazioni, consulta [Variabili di ambiente negli](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) ambienti di compilazione.

1. Nella sezione **Artefatti**, procedi nel seguente modo:
   + in **Tipo**, scegli **Amazon S3**, quindi scegli il tuo bucket di output, ad esempio. `codebuild-regionId-accountId-bucket`
   + per **Path**, lascia vuoto questo campo.
   + per **Nome**, immettere`prj_codebuild_01`.
   + **per la confezione di **Artifact**, seleziona Nessuno.**
   + per **Sostituisci il nome dell'artefatto**, deseleziona questa opzione.
   + per la **crittografia**, lasciala alle impostazioni predefinite.

1. Per la sezione **Registri**, procedi come segue:
   + CloudWatch **registri: disabilitati**
   + **Registri S3: abilitati**
   + Secchio: `codebuild-regionId-account-bucket`
   + Percorso del registro: `CODEBUILD-LOGS`

1. Scegliere **Create build project (Crea progetto di compilazione)**.

### Fase 6.2: Creare il progetto Code Analysis
<a name="tutorial-conversion-analysis-project"></a>

**Per creare il progetto Code Analysis**

1. Accedi alla CodeBuild console e scegli **Crea progetto di compilazione**.

1. Nella sezione **Configurazione del progetto**, fornisci un nome per il progetto, ad esempio`2-awsm2ccm-analysis`.

1. Nella sezione **Sorgente**, per **Provider di origine**, scegli **Amazon S3**, quindi scegli il bucket di input che hai creato in precedenza (ad esempio,). `codebuild-regionId-accountId-bucket`

1. Nel campo della **chiave oggetto S3 o della** **cartella S3**, inserisci. `prj_codebuild_01`

1. Nella sezione **Ambiente**, scegli **Immagine personalizzata**.

1. Nel campo **Tipo di ambiente**, scegli **Linux**.

1. In **Registro delle immagini**, scegli **Altro registro**.

1. Nel campo **URL del registro esterno**, segui la [Modernizzazione del mainframe AWS contenitore](assembler-conversion-components-process.md#assembler-conversion-components-container) sezione.

1. In **Ruolo di servizio**, scegli **Ruolo di servizio esistente** e, nel campo **Role ARN**, scegli il ruolo di servizio creato in precedenza (ad esempio,`IAMRoleTaskExecutionRoleForCodeBuild`).

1. Espandi la sezione **Configurazione aggiuntiva**, procedi come segue:

   1. VPC: configura se necessario in base alla configurazione.

   1. Timeout: impostato su **60** minuti.

   1. **Timeout in coda: impostato su 480 minuti.**

   1. Crittografia: scegli le impostazioni di crittografia appropriate (l'impostazione predefinita va bene).

   1. Nella sezione **Variabili d'ambiente**, aggiungi quanto segue uno per uno:
      + Nome: **PROJECT\_BUCKET**. Valore:. `codebuild-regionId-accountId-bucket` Tipo: **testo semplice**
      + **Nome: PROJECT\_DIR.** Valore:. `prj_codebuild_01` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_ACTION.** Valore:. `analysis` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_LOGGING\_BUCKET.** `s3:// codebuild-regionId-accountId-bucket`Valore:. Tipo: **testo semplice**

1. **Nella sezione **Buildspec**, scegli **Inserisci comandi di compilazione**, quindi Passa all'editor.**

1. Sostituisci i valori correnti con questo:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh 
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*' 
       secondary-artifacts: 
           reports: 
               files: 
                   - '_Reports/AWSM2CCM*' 
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   dove, PROJECT\_DIR sono variabili di ambiente disponibili all'interno. CodeBuild Per ulteriori informazioni, consulta [Variabili di ambiente negli](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) ambienti di compilazione.

1. Nella sezione **Artefatti**, procedi nel seguente modo:
   + in **Tipo**, scegli **Amazon S3**, quindi scegli il tuo bucket di output (ad es.). `codebuild-regionId-accountId-bucket`
   + **per **Path**, inserisci ARTIFACTS.**
   + per **Nome, immettere**. `prj_codebuild_01`
   + **per la confezione di **Artifact**, seleziona Nessuno.**
   + per **Sostituisci il nome dell'artefatto**, deseleziona questa opzione.
   + per la **crittografia**, lasciala alle impostazioni predefinite.

1. Per la sezione **Registri**, procedi come segue:
   + CloudWatch **registri: disabilitati**
   + **Registri S3: abilitati**
   + Secchio: `codebuild-regionId-account-bucket`
   + Percorso del registro: `CODEBUILD-LOGS`

1. Scegliere **Create build project (Crea progetto di compilazione)**.

### Fase 6.3: Creare il progetto Code Conversion
<a name="tutorial-conversion-code-project"></a>

**Per creare il progetto Code Conversion**

1. Accedi alla CodeBuild console e scegli **Crea progetto di compilazione**.

1. Nella sezione **Configurazione del progetto**, fornisci un nome per il progetto (ad esempio,`3-awsm2ccm-convert`).

1. Nella sezione **Sorgente**, per **Provider di origine**, scegli **Amazon S3**, quindi scegli il bucket di input che hai creato in precedenza (ad esempio,). `codebuild-regionId-accountId-bucket`

1. Nel campo della **chiave oggetto S3 o della** **cartella S3**, inserisci. `prj_codebuild_01`

1. Nella sezione **Ambiente**, scegli **Immagine personalizzata**.

1. Nel campo **Tipo di ambiente**, scegli **Linux**.

1. In **Registro delle immagini**, scegli **Altro registro**.

1. Nel campo **URL del registro esterno**, segui la [Modernizzazione del mainframe AWS contenitore](assembler-conversion-components-process.md#assembler-conversion-components-container) sezione.

1. In **Ruolo di servizio**, selezionare **Ruolo di servizio esistente** e, nel campo **Role ARN**, scegliere il ruolo di servizio creato in precedenza, ad esempio. `IAMRoleTaskExecutionRoleForCodeBuild`

1. Espandi la sezione **Configurazione aggiuntiva**, procedi come segue:

   1. VPC: configura se necessario in base alla configurazione.

   1. Timeout: impostato su **60** minuti.

   1. **Timeout in coda: impostato su 480 minuti.**

   1. Crittografia: scegli le impostazioni di crittografia appropriate (l'impostazione predefinita va bene).

   1. Nella sezione **Variabili d'ambiente**, aggiungi quanto segue uno per uno:
      + Nome: **PROJECT\_BUCKET**. Valore:. `codebuild-regionId-accountId-bucket` Tipo: **testo semplice**
      + **Nome: PROJECT\_DIR.** Valore:. `prj_codebuild_01` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_ACTION.** Valore:. `conversion` Tipo: **testo semplice**
      + **Nome: AWSM2 CCM\_LOGGING\_BUCKET.** `s3:// codebuild-regionId-accountId-bucket`Valore:. Tipo: **testo semplice**

1. **Nella sezione **Buildspec**, scegli **Inserisci comandi di compilazione**, quindi Passa all'editor.**

1. Sostituisci i valori correnti con questo:

   ```
   version: 0.2 
   phases: 
       build: 
           commands: 
               - export AWSM2CCM_PUSH_RUNTIME_COPYBOOKS=y 
               - ln -s $CODEBUILD_SRC_DIR $PROJECT_DIR 
               - . /app/awsm2ccm_prod/bin/setup_env.sh
               - run_awsm2ccm.sh $PROJECT_DIR
   artifacts: 
       files: 
           - '*.log' 
           - '_Converted/*/*' 
           - '_Reports/*'  
       discard-paths: no 
       base-directory: $PROJECT_DIR
   ```

   dove, PROJECT\_DIR sono variabili di ambiente disponibili all'interno. CodeBuild Per ulteriori informazioni, consulta [Variabili di ambiente negli](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) ambienti di compilazione.

1. Nella sezione **Artefatti**, procedi nel seguente modo:
   + in **Tipo**, scegli **Amazon S3**, quindi scegli il tuo bucket di output (ad es.). `codebuild-regionId-accountId-bucket`
   + **per **Path**, inserisci ARTIFACTS.**
   + per **Nome, immettere**. `prj_codebuild_01`
   + **per la confezione di **Artifact**, seleziona Nessuno.**
   + per **Sostituisci il nome dell'artefatto**, deseleziona questa opzione.
   + per la **crittografia**, lasciala alle impostazioni predefinite.

1. Per la sezione **Registri**, procedi come segue:
   + CloudWatch **registri: disabilitati**
   + **Registri S3: abilitati**
   + Secchio: `codebuild-regionId-account-bucket`
   + Percorso del registro: `CODEBUILD-LOGS`

1. Scegliere **Create build project (Crea progetto di compilazione)**.

## Fase 7: Definizione del progetto e caricamento del codice sorgente
<a name="tutorial-assembler-conversion-define-upload"></a>

Il Define Project imposta la cartella del progetto e i file di configurazione, inizializzati con configurazioni predefinite. In questo passaggio, si avvia la compilazione. Per farlo:

1. Accedi alla AWS CodeBuild console.

1. Nel riquadro di navigazione a sinistra scegli **Crea progetti**.

1. Seleziona il progetto creato in precedenza (`1-awsm2ccm-define-project`) da creare

1. Scegliete **Avvia compilazione**, quindi **Avvia ora** per definire il progetto. Una volta avviata la compilazione, lo stato passerà a *In corso*.

1. Scegli **i dettagli della fase** per vedere lo stato di avanzamento di ogni fase orchestrata dal AWS CodeBuild progetto.

1. Attendi che lo stato sia cambiato in **riuscito** per tutti i passaggi.

1. Vai alla console Amazon S3.

1. Individua e fai clic sul bucket Amazon S3 denominato `codebuild-regionId-accountId-bucket`
   + **`CODEBUILD-LOGS/`**la cartella contiene i AWS CodeBuild log dei progetti in esecuzione. AWS CodeBuild 
   + **`prj_codebuild_01/`**cartella che contiene la struttura del progetto. Viene utilizzata durante le fasi di analisi, expand\_macros e conversione. Puoi scegliere di esplorare i dettagli `prj_codebuild_01/`
   + **`cobol_reserved.rsw`**file di configurazione (elenco di parole COBOL) riservato al convertitore. Viene utilizzato durante la fase di conversione.
   + **`Macro_Expansion/`**la cartella contiene macro da espandere nei programmi Assembler. Viene utilizzata durante la fase expand\_macros.
   + **`macro_settings.json`**il file di configurazione contiene macro sostitutive personalizzate. Viene utilizzato durante la fase expand\_macros.
   + **`macrolib/`**la cartella contiene le macro di Assembler da convertire. Viene utilizzata durante la fase di analisi e conversione.

     1. Seleziona `macrolib/`.

     1. Per impostazione predefinita, `MACRO1.mac` viene fornita come file di esempio una macro Assembler denominata. Eliminate questo file poiché non è necessario per l'analisi.

     1. Carica le tue macro in questa directory.
   + **`project_settings_aux.json`**il file di configurazione contiene le impostazioni relative alla tabella codici. Viene utilizzato durante la fase di conversione.
   + **`project_settings.json`**il file di configurazione contiene le impostazioni per il convertitore. Viene utilizzato durante la fase di conversione.
   + **`srclib/`**la cartella contiene i programmi Assembler da convertire. Viene utilizzata durante la fase di analisi e conversione.

     1. Scegli `srclib/`.

     1. Per impostazione predefinita, due programmi Assembler `SQtest02.asm` denominati `SQtest01.asm` e vengono forniti come esempi. Eliminate questi file perché non sono necessari per l'analisi e la conversione.

     1. Carica i tuoi programmi Assembler in questa directory.

1. Verifica lo stato del `1-awsm2ccm-define-project` passaggio. Dovrebbe aver avuto successo nella scheda **Stato dell'ultima build**.

Sei pronto per il passaggio successivo: **analisi del codice.**

## Fase 8: Esegui l'analisi e comprendi i report
<a name="tutorial-assembler-conversion-run-analysis"></a>

**Nota**  
Modernizzazione del mainframe AWS La fase di *analisi* della conversione del codice è gratuita.

In questo passaggio, dai il via a un'altra build:

1. Nel riquadro di navigazione a sinistra, scegli **Crea** progetti.

1. Scegli il progetto che hai creato nel passaggio 6.2 per creare:`2-awsm2ccm-analysis`.

1. Scegli **Avvia compilazione**, quindi **Inizia ora** per generare report di analisi. Questo avvierà la compilazione e cambierà lo stato *in corso*.

1. Scegli **i dettagli della fase** in cui vedrai lo stato di avanzamento di ogni fase orchestrata dal AWS CodeBuild progetto. Attendi che lo stato cambi a completato per *tutti i passaggi*.

1. Da Console di gestione AWS, vai alla console di servizio Amazon S3.

1. Individua e fai clic sul bucket Amazon S3: `codebuild-regionId-accountId-bucket`

   1. **`ARTIFACTS/`***la cartella contiene gli output delle fasi di *analisi e conversione*.*

   1. Scegli `ARTIFACTS/prj_codebuild_01/_Reports/`.

   1. Saranno disponibili i seguenti report:
      + `AWSM2CCM-Analysis-Report-<timestamp>.pdf`è un rapporto esecutivo che illustra la fatturazione e l'ambito della conversione del Modernizzazione del mainframe AWS Codice, il miglioramento della conversione, il riepilogo delle conversioni e le statistiche dettagliate sulle conversioni. Riepiloga inoltre i conteggi dei codici e i conteggi dei codici fatturabili a livello di progetto e fornisce metriche ed elenchi dei membri di riferimento per ciascun componente. È fondamentale eseguire ed esaminare questo rapporto prima di eseguire la conversione effettiva.
      + `Conversion_Detailed_Statistics.txt`fornisce la frequenza e il risultato di conversione previsto (indicato come «Stato di conversione») per ogni istruzione presente in ogni componente. In questo modo è possibile identificare rapidamente se le istruzioni sono chiare e non supportate dal convertitore. I possibili risultati *dello stato di conversione* sono:
        + **Completamente convertita**: l'istruzione verrà convertita accuratamente in COBOL.
        + **Convertita parzialmente**: l'istruzione è supportata ma utilizza un parametro o un'espressione non supportati. È probabile che dopo la conversione siano necessarie regolazioni manuali.
        + **Non convertita**: l'istruzione non è supportata dal convertitore.
        + **Istruzioni di precompilazione per la verifica**: queste sono normalmente incluse nelle macro e si riferiscono a quelle che probabilmente sono note anche come istruzioni del *Conditional Assembly Language* (ad esempio, AIF, AGO) sul mainframe. *Queste sono gestite dal precompilatore, che si basa su tali istruzioni o direttive, seleziona e produce codice ASM pulito/statico.* Queste istruzioni dipendono dai valori effettivi dei parametri Macro che vengono compilati. Quindi, la stessa Macro può generare diverse parti di codice ASM, a seconda dei valori dei parametri passati. Ciò è dovuto alla presenza di tali istruzioni di *precompilazione*. In tal caso, valuta la possibilità di espandere o riprogettare la Macro.
      + `Conversion_Global_Statistics.txt`fornisce un riepilogo dello *stato di conversione* a livello di componente.
      + `CrossReference_PgmToCpyMacro.txt`riporta le dipendenze del programma Assembler sulle macro. Fornisce un modo rapido per determinare se mancano delle macro nel codice caricato.
      + `CrossReference_PgmToPgm.txt`riporta le dipendenze del programma Assembler da altri programmi Assembler. Fornisce un modo rapido per determinare se nel codice caricato mancano programmi Assembler.

1. Torna alla console di AWS CodeBuild servizio.

1. Verifica lo stato della fase di analisi **2-awsm2ccm**. **Avrebbe dovuto avere **successo** nella scheda Stato della build più recente.**

Sei pronto per il passaggio successivo: **conversione del codice.**

## Passaggio 9: Esegui la conversione del codice
<a name="tutorial-assembler-conversion-run-code"></a>

**Importante**  
Modernizzazione del mainframe AWS La fase di *conversione* del codice verrà fatturata in base all'utilizzo. Per ulteriori informazioni sulla fatturazione, consulta [Comprendi la fatturazione della conversione del codice per la conversione in Assembler](assembler-conversion-billing.md).

In questo passaggio, configurerai il processo di conversione e quindi avvierai la build.

1. Da Console di gestione AWS, vai al servizio Amazon S3.

1. Individua e fai clic sul bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

   1. Passa a `prj_codebuild_01/`.

   1. **Seleziona `project_settings.json` e scegli Scarica.**

   1. Apri il `project_settings.json` file per visualizzare la seguente struttura JSON:

      ```
      { 
      "Source programs directory":"srclib", 
      "Source copybooks/macros directory":"macrolib", 
      "Copybook/Macros Conversion":"Called_only", 
      "Do not regenerate the Copy/Macro if already exists":"false", 
      "Target Compiler":"IBM", 
      "Endianess":"Big", 
      "Converted programs extension":"", 
      "Converted CICS programs extension":"", 
      "Converted copies/macros extension":"", 
      "Trace Level":"STANDARD", 
      "Trace file open mode":"append", 
      "Data definition level":5, 
      "Start picture column":40, 
      "Generate Sync FILLER with name":"FILL-SYNC", 
      "Use SYNC clause":"yes", 
      "Decimal Point Comma":"true", 
      "Original Source Placement":"RIGHT" 
      }
      ```

      dove:
      + **Directory del programma di origine**: contiene i programmi Assembler necessari per la conversione.
      + **Directory Source Copybooks/Macros**: contiene le macro e i quaderni Assembler necessari per la conversione.
      + **La conversione Copybooks/Macros** può essere una delle seguenti:
        + **Tutto**: questo pulsante di opzione indica che la *conversione completa* convertirà tutto ciò che è copybook/Macros disponibile nella directory indipendentemente dal fatto che sia utilizzato dai programmi o meno.
        + **Called\_only**: Questo pulsante di opzione indica che la *conversione completa* convertirà solo quello effettivamente utilizzato dai programmi. copybook/Macros 
      + 
**Importante**  
Non è necessario rigenerarlo se esiste già. Copy/Macro 

        Se questo è vero, lo strumento non converte nuovamente il CopyBook/macro, se è già stato convertito (esiste nella cartella di output). 
      + **Obiettivo**: la conversione dei programmi (codice generato) dipende dal compilatore COBOL di destinazione. Sono supportate le seguenti opzioni:
        + «IBM» per mainframe IBM
        + «MF» per Micro Focus COBOL 
        + «VERYANT» per Veryant ISCOBOL
        + «NTT» per NTT DATA Enterprise COBOL (Unikix)
      + **Endianess e Bitness: La conversione dei programmi (codice generato) dipende dalla piattaforma di destinazione (bit/endianess**). Questa combinazione consente la selezione delle seguenti opzioni supportate:
        + Endianess: *Big* (per Big-Endian)/Little (Little-Endian). Ad esempio, il z/OS mainframe IBM è Big-Endian, Windows è Little-Endian, Linux varia in base alla distribuzione (ad esempio Amazon Linux 2 su EC2 è Little-Endian).
        + Bitness: 32/64 (se non viene fornito, il valore predefinito sarà 32). L'impostazione consigliata è 32 bit.
      + **Estensione del programma convertita**: consente di impostare l'estensione del file per i programmi COBOL generati. Vuoto («»): nessuna estensione. Per gli obiettivi COBOL di Rocket Software (precedentemente Micro Focus), si consiglia *CBL* per consentire a Rocket Enterprise Developer di riconoscere correttamente i file.
      + **Estensione del programma CICS convertita: consente di impostare l'estensione del** file per i programmi CICS COBOL generati. Vuoto («»): nessuna estensione. Per i target COBOL di Rocket Software, si consiglia *CBL* per consentire a Rocket Enterprise Developer di riconoscere correttamente i file.
      + Estensione **Copybooks/Macros convertita: consente di impostare l'estensione del file** per i quaderni COBOL generati. Empty («»): nessuna estensione. Per i target COBOL di Rocket Software, si consiglia *CPY* per consentire a Rocket Enterprise Developer di riconoscere correttamente i file.
      + **Livello di traccia**: Trace è l'informazione che viene registrata e utilizzata durante la conversione. CodeBuild L'utente può selezionare il livello di dettaglio selezionando una delle opzioni fornite.
        + **ERROR** = TRACE ERROR: vengono visualizzati solo gli errori di conversione.
        + **STANDARD** = TRACE STANDARD: vengono visualizzati gli errori di conversione e le informazioni standard. Questa è l'impostazione consigliata.
        + **ALL** = TRACE ALL: livello massimo di tracciamento
      + **Modalità di apertura del file di traccia**: non utilizzata. Si consiglia l'impostazione predefinita di *append*.
      + **Livello di definizione dei dati**: indica il livello iniziale dei sottocampi (dopo il livello «01") definito nella sezione working-storage e linkage. Deve essere un numero.
      + **Colonna dell'immagine iniziale**: riguarda il formato del codice COBOL generato e indica la colonna in cui è inserita la clausola *PIC* (dopo i nomi dei campi). Deve essere un numero.
      + **Posizionamento della fonte originale:** indica la posizione in cui vengono inseriti i commenti nel programma. Ha due opzioni:
        + **DESTRA**: Questa opzione posizionerà il commento o le informazioni aggiuntive nella giusta posizione dopo la settantatreesima (73) colonna. In COBOL il codice è scritto nelle prime settantadue (1-72) colonne e qualsiasi elemento compreso nella settantatreesima (>= 73) colonna verrà considerato come un commento.
        + **SOPRA**: Questa opzione posizionerà il commento sopra il contenuto tradotto.
      + **Genera Sync FILLER con nome**: Questa opzione è correlata all'allineamento in memoria dei campi binari (tipi di dati Assembler «H», «F», «D», che vengono convertiti nel tipo di dati COBOL «COMP»). *Per garantire il corretto limite di *allineamento, durante la conversione verranno aggiunti campi di riempimento espliciti*.* Questa è un'opzione basata su testo, il valore deve essere una stringa (come FILL-SYNC).
      + **Usa la clausola SYNC**: questa opzione si riferisce all'allineamento in memoria dei campi binari. Sì = tutti i campi sono stati convertiti in COBOL. «COMP» sarà definito con la clausola «SYNC» (ad esempio, 05 WRKFLD PIC S9 (09) COMP SYNC).
      + **Virgola decimale: se questo è vero, la clausola DECIMAL-POINT** *IS COMMA verrà aggiunta al paragrafo COBOL «SPECIAL-NAMES*».

   1. In base alle tue esigenze, modifica i parametri appropriati, quindi salva il. `project_settings.json`

   1. Rimuovi il `project_settings.json` file esistente dal `prj_codebuild_01/` bucket Amazon S3, quindi carica la nuova versione.

1. Torna al servizio. AWS CodeBuild 

1. Seleziona il progetto da costruire che hai creato in precedenza: `3-awsm2ccm-convert`

   1. Scegliete **Avvia compilazione**, quindi **Avvia ora** per convertire i programmi e le macro di Assembler in programmi e quaderni COBOL.

   1. **Attendi che lo stato di compilazione cambi in Riuscito per questo progetto.** Si troverà nella scheda **Stato della build più recente**.

## Passaggio 10: verifica la conversione del codice
<a name="tutorial-assembler-conversion-verify"></a>

1. Da Console di gestione AWS, vai al servizio Amazon S3.

1. Individua e fai clic sul bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

1. Vai a. **`awsm2ccm-do-not-delete `** Modernizzazione del mainframe AWS La conversione del codice crea file binari codificati per ogni modulo Assembler o Macro durante il processo di conversione. Questi file sono essenziali per prevenire la duplicazione della fatturazione ai clienti e anche per tenere traccia della quantità di codice Assembler fornito che è stata analizzata e convertita. I file vengono archiviati nella seguente posizione:. `codebuild-regionId-accountId- bucket/awsm2ccm-do-not-delete/<your_AWS_account_id>/Hash` I file codificati non contengono alcun codice Assembler e inoltre non è possibile estrarre il codice cliente da questi file.
**Importante**  
Né modificare manualmente questi file né eliminarli. La modifica o l'eliminazione di questi file può comportare fatturazioni multiple per gli stessi componenti.

   Tratta la **`awsm2ccm-do-not-delete/`**cartella come una directory gestita dal sistema. Consultate Supporto prima di apportare modifiche a questa directory o al suo contenuto.

1. Fai clic `codebuild-regionId-accountId-bucket` per tornare al bucket.

1. Scegli **`ARTIFACTS/prj_codebuild_01/`**. La cartella **\_Converted/** contiene gli output COBOL generati come risultato della fase di conversione del codice. Avrà le seguenti sottodirectory:
   + la cartella **copybooks/** contiene i quaderni COBOL generati.
   + la cartella programs/ contiene i **programmi COBOL generati**.
   + La cartella **runtime\_lib/** contiene programmi e quaderni COBOL aggiuntivi forniti dalla soluzione.

1. **Se i rapporti di *analisi e gli altri rapporti* indicano che la conversione è avvenuta correttamente e il AWS CodeBuild progetto `3-awsm2ccm-convert` è contrassegnato come completato, scaricate il codice COBOL e i **quaderni** dalla directory \_Converted/.**

## Passaggio 11: scarica il codice convertito
<a name="tutorial-assembler-conversion-download"></a>

In questo passaggio, scaricate il codice COBOL e i quaderni dalla directory **\_Converted/** e compilateli nell'ambiente COBOL di destinazione.

1. Da Console di gestione AWS, vai al servizio Amazon S3.

1. Individua e fai clic sul bucket Amazon S3:. `codebuild-regionId-accountId-bucket`

1. Vai alla posizione:. ` ARTIFACTS/prj_codebuild_01/_Converted/`

1. **Scarica il codice COBOL convertito da tutte le sottodirectory in \_Converted/.** Puoi anche usare il seguente comando CLI per scaricarli contemporaneamente:

   ```
   aws s3 cp s3://codebuild-regionId-accountId- 
   bucket/ARTIFACTS/prj_codebuild_01/_Converted/ . --recursive
   ```

1. Analizza e compila il COBOL convertito nell'ambiente COBOL di destinazione.

## Eseguire la pulizia delle risorse
<a name="tutorial-assembler-conversion-clean-resources"></a>

Se non hai più bisogno delle risorse che hai creato per questo tutorial, eliminale per evitare costi aggiuntivi. Per fare ciò, completa la seguente procedura:
+ Elimina i bucket S3 che hai creato per questo tutorial. Per ulteriori informazioni, consulta [Eliminazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) nella guida per l'*utente di Amazon Simple Storage Service*.
+ Elimina le policy IAM che hai creato per questo tutorial. Per ulteriori informazioni, consulta [Eliminazione delle politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) nella *guida per l'utente IAM*.
+ Elimina il ruolo IAM che hai creato per questo tutorial. Per ulteriori informazioni, consulta [Eliminazione di ruoli o profili di istanza](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) nella *guida per l'utente IAM*.
+ Elimina il CodeBuild progetto che hai creato per questo tutorial. Per ulteriori informazioni, consulta [Eliminare un progetto di compilazione CodeBuild nella](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) *Guida AWS CodeBuild per l'utente*.