

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à.

# Configurazione manuale per sviluppare componenti personalizzati con AWSTOE
<a name="toe-get-started"></a>

L'applicazione AWS Task Orchestrator and Executor (AWSTOE) è un'applicazione autonoma che crea, convalida ed esegue comandi all'interno di un framework di definizione dei componenti. AWS i servizi possono essere utilizzati AWSTOE per orchestrare flussi di lavoro, installare software, modificare le configurazioni di sistema e testare le build di immagini.

Segui questi passaggi per installare manualmente l' AWSTOE applicazione e utilizzarla come applicazione autonoma per sviluppare componenti personalizzati. Image Builder si occupa di questi passaggi per voi, se utilizzate la console AWS CLI o i comandi di Image Builder per creare componenti personalizzati. Per ulteriori informazioni, consulta [Crea componenti personalizzati con Image Builder](create-component.md).

**Topics**
+ [Verifica la firma del download AWSTOE di installazione](awstoe-verify-sig.md)
+ [Fase 1: Installazione AWSTOE](#toe-start-install)
+ [Fase 2: Impostare AWS le credenziali](#toe-start-credentials)
+ [Fase 3: Sviluppare localmente i documenti dei componenti](#toe-start-develop)
+ [Fase 4: Convalida dei componenti AWSTOE](#toe-start-validate)
+ [Passaggio 5: Esegui i componenti AWSTOE](#toe-start-run)

## Fase 1: Installazione AWSTOE
<a name="toe-start-install"></a>

Per sviluppare componenti localmente, scaricate e installate l' AWSTOE applicazione.

1. 

**Scaricate l' AWSTOE applicazione**

   Per l'installazione AWSTOE, scegli il link di download appropriato per la tua architettura e piattaforma. Per l'elenco completo dei link per il download delle applicazioni, consulta [AWSTOE scarica](toe-component-manager.md#toe-downloads)
**Importante**  
AWS sta eliminando gradualmente il supporto per le versioni TLS 1.0 e 1.1. Per accedere al bucket S3 per i AWSTOE download, il software client deve utilizzare la versione TLS 1.2 o successiva. Per ulteriori informazioni, consulta questo post sul blog [AWS sulla sicurezza](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/).

1. 

**Verifica la firma**

   I passaggi per la verifica del download dipendono dalla piattaforma server su cui viene eseguita l' AWSTOE applicazione dopo l'installazione. Per verificare il download su un server Linux, consulta[Verifica la firma su Linux o macOS](awstoe-verify-sig.md#awstoe-verify-sig-linux). Per verificare il download su un server Windows, consulta[Verifica la firma su Windows](awstoe-verify-sig.md#awstoe-verify-sig-win).

**Nota**  
AWSTOE viene richiamato direttamente dalla posizione di download. Non è necessaria una fase di installazione separata. Ciò significa anche che AWSTOE può apportare modifiche all'ambiente locale.  
Per assicurarti di isolare le modifiche durante lo sviluppo dei componenti, ti consigliamo di utilizzare un' EC2 istanza per sviluppare e testare AWSTOE i componenti.

## Fase 2: Impostare AWS le credenziali
<a name="toe-start-credentials"></a>

 AWSTOE richiede AWS credenziali per connettersi ad altri Servizi AWS, come Amazon S3 e CloudWatch Amazon, durante l'esecuzione di attività come: 
+ Scaricamento di AWSTOE documenti da un percorso Amazon S3 fornito dall'utente.
+ Moduli in esecuzione `S3Download` o di `S3Upload` azione.
+ Lo streaming si registra su CloudWatch, se abilitato.

Se stai AWSTOE eseguendo un' EC2 istanza, l'esecuzione AWSTOE utilizza le stesse autorizzazioni del ruolo IAM associato all' EC2 istanza.

Per ulteriori informazioni sui ruoli IAM per EC2, consulta [Ruoli IAM per Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html).

Gli esempi seguenti mostrano come impostare AWS le credenziali utilizzando le variabili di `AWS_SECRET_ACCESS_KEY` ambiente `AWS_ACCESS_KEY_ID` e. 

Per impostare queste variabili su Linux, macOS o Unix, usa. `export`

```
export AWS_ACCESS_KEY_ID=your_access_key_id
```

```
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

Per impostare queste variabili su Windows utilizzando PowerShell, usa. `$env`

```
$env:AWS_ACCESS_KEY_ID=your_access_key_id
```

```
$env:AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

Per impostare queste variabili su Windows utilizzando il prompt dei comandi, usa`set`.

```
set AWS_ACCESS_KEY_ID=your_access_key_id
```

```
set AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

## Fase 3: Sviluppare localmente i documenti dei componenti
<a name="toe-start-develop"></a>

I componenti sono creati con documenti YAML in testo semplice. Per ulteriori informazioni sulla sintassi dei documenti, vedere. [Usa il framework AWSTOE dei documenti dei componenti per i componenti personalizzati](toe-use-documents.md)

Di seguito sono riportati alcuni esempi di documenti *del componente Hello World* per aiutarti a iniziare.

------
#### [ Linux ]

Alcuni esempi di componenti Linux in questa guida si riferiscono a un file di documento del componente denominato`hello-world-linux.yml`. È possibile utilizzare il seguente documento per iniziare con questi esempi.

```
name: Hello World
description: This is hello world testing document for Linux.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the test phase.'
```

------
#### [ Windows ]

Alcuni esempi di componenti Windows in questa guida si riferiscono a un file di documento del componente denominato`hello-world-windows.yml`. È possibile utilizzare il seguente documento per iniziare con questi esempi.

```
name: Hello World
description: This is Hello World testing document for Windows.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the test phase.'
```

------
#### [ macOS ]

Alcuni esempi di componenti macOS in questa guida si riferiscono a un file di documento del componente denominato. `hello-world-macos.yml` Puoi usare il seguente documento per iniziare con questi esempi.

```
name: Hello World
description: This is hello world testing document for macOS.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the test phase.'
```

------

## Fase 4: Convalida dei componenti AWSTOE
<a name="toe-start-validate"></a>

È possibile convalidare la sintassi dei AWSTOE componenti localmente con l'applicazione. AWSTOE Gli esempi seguenti mostrano il `validate` comando AWSTOE application per convalidare la sintassi di un componente senza eseguirlo.

**Nota**  
L' AWSTOE applicazione può convalidare solo la sintassi del componente per il sistema operativo corrente. Ad esempio, quando è in esecuzione `awstoe.exe` su Windows, non è possibile convalidare la sintassi di un documento Linux che utilizza il modulo di azione. `ExecuteBash`

Linux o macOS:

```
awstoe validate --documents /home/user/hello-world.yml
```

Windows

```
awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml
```

## Passaggio 5: Esegui i componenti AWSTOE
<a name="toe-start-run"></a>

L' AWSTOE applicazione può eseguire una o più fasi di documenti specifici utilizzando l'argomento della `--phases` riga di comando. I valori supportati per `--phases` sono `build``validate`, e`test`. È possibile immettere valori di fase multipli come valori separati da virgole.

Quando si fornisce un elenco di fasi, l' AWSTOE applicazione esegue in sequenza le fasi specificate di ciascun documento. Ad esempio, AWSTOE esegue le `validate` fasi `build` e di`document1.yaml`, seguite dalle `validate` fasi `build` e di`document2.yaml`.

Per garantire che i log siano archiviati in modo sicuro e conservati per la risoluzione dei problemi, consigliamo di configurare lo storage dei log in Amazon S3. In Image Builder, la posizione Amazon S3 per la pubblicazione dei log è specificata nella configurazione dell'infrastruttura. Per ulteriori informazioni sulla configurazione dell'infrastruttura, consulta [Gestione della configurazione dell'infrastruttura Image Builder](manage-infra-config.md)

Se non viene fornito un elenco di fasi, l' AWSTOE applicazione esegue tutte le fasi nell'ordine indicato nel documento YAML.

Per eseguire fasi specifiche in uno o più documenti, utilizzate i seguenti comandi.

Monofase

```
awstoe run --documents hello-world.yml --phases build
```

Fasi multiple

```
awstoe run --documents {{hello-world.yml}} --phases build,test
```

**Esecuzione del documento**  
Esegui tutte le fasi in un unico documento

```
awstoe run --documents {{documentName.yaml}}
```

Esegui tutte le fasi in più documenti

```
awstoe run --documents {{documentName1.yaml}},{{documentName2.yaml}}
```

Inserisci le informazioni di Amazon S3 per caricare AWSTOE i log da un percorso locale definito dall'utente (consigliato)

```
awstoe run --documents {{documentName.yaml}} --log-s3-bucket-name {{amzn-s3-demo-destination-bucket}} --log-s3-key-prefix {{S3KeyPrefix}} --log-s3-bucket-owner {{S3BucketOwner}} --log-directory {{local_path}}
```

Esegui tutte le fasi in un unico documento e visualizza tutti i log sulla console

```
awstoe run --documents {{documentName.yaml}} --trace
```

Comando della di esempio

```
awstoe run --documents {{s3://bucket/key/doc.yaml}} --phases {{build,validate}}
```

Esegui il documento con un ID univoco

```
awstoe run --documents {{documentName.yaml}} --execution-id {{user-provided-id}} --phases {{build,test}}
```

Fatti aiutare con AWSTOE

```
awstoe --help
```