

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

# Introduzione alla costruzione con AWS SAM
<a name="using-sam-cli-build"></a>

Utilizzate il AWS Serverless Application Model comando Command Line Interface (AWS SAMCLI) `sam build` per preparare l'applicazione serverless per le fasi successive del flusso di lavoro di sviluppo, come il test locale o la distribuzione su. Cloud AWS Questo comando crea una `.aws-sam` directory che struttura l'applicazione in un formato e in una posizione richiesti`sam local`. `sam deploy`
+ Per un'introduzione a AWS SAMCLI, vedere[Che cos'è il? AWS SAMCLI](what-is-sam-overview.md#what-is-sam-cli).
+ Per un elenco delle opzioni di `sam build` comando, vedere[sam build](sam-cli-command-reference-sam-build.md).
+ Per un esempio di utilizzo `sam build` durante un tipico flusso di lavoro di sviluppo, vedi[Fase 2: Crea la tua applicazione](serverless-getting-started-hello-world.md#serverless-getting-started-hello-world-build).

**Nota**  
L'utilizzo `sam build` richiede di iniziare con i componenti di base di un'applicazione serverless sulla macchina di sviluppo. Ciò include un AWS SAM modello, un codice di AWS Lambda funzione e qualsiasi file e dipendenza specifici del linguaggio. Per ulteriori informazioni, consulta [Crea la tua candidatura in AWS SAM](using-sam-cli-init.md).

**Topics**
+ [

## Creazione di applicazioni con sam build
](#using-sam-cli-build-apps)
+ [

## Test e distribuzione locali
](#using-sam-cli-build-test-deploy)
+ [

## Best practice
](#using-sam-cli-build-best)
+ [

## Opzioni per sam build
](#using-sam-cli-build-options)
+ [

## Risoluzione dei problemi
](#using-sam-cli-build-troubleshooting)
+ [

## Esempi
](#using-sam-cli-build-examples)
+ [

## Ulteriori informazioni
](#using-sam-cli-build-learn)

## Creazione di applicazioni con sam build
<a name="using-sam-cli-build-apps"></a>

Prima dell'uso`sam build`, valuta la possibilità di configurare quanto segue:

1. **Funzioni e livelli Lambda**: il `sam build` comando può creare funzioni e livelli Lambda. Per ulteriori informazioni sui layer Lambda, consulta. [Creazione di livelli Lambda in AWS SAM](building-layers.md)

1. **Lambda runtime**: il *runtime* fornisce un ambiente specifico del linguaggio che esegue la funzione in un ambiente di esecuzione quando viene richiamata. È possibile configurare runtime nativi e personalizzati.

   1. **Runtime nativo**: crea le tue funzioni Lambda in un runtime Lambda supportato e crea funzioni per utilizzare un runtime Lambda nativo in. Cloud AWS

   1. **Runtime personalizzato**: crea le tue funzioni Lambda utilizzando qualsiasi linguaggio di programmazione e crea il tuo runtime utilizzando un processo personalizzato definito in un builder makefile o di terze parti come. esbuild Per ulteriori informazioni, consulta [Creazione di funzioni Lambda con runtime personalizzati in AWS SAM](building-custom-runtimes.md).

1. **Tipo di pacchetto Lambda**: le funzioni Lambda possono essere incluse nei seguenti tipi di pacchetti di distribuzione Lambda:

   1. **Archivio di file.zip**: contiene il codice dell'applicazione e le sue dipendenze.

   1. **Immagine del contenitore**: contiene il sistema operativo di base, il runtime, le estensioni Lambda, il codice dell'applicazione e le relative dipendenze.

Queste impostazioni dell'applicazione possono essere configurate durante l'inizializzazione di un'applicazione utilizzando. `sam init`
+ Per ulteriori informazioni sull'utilizzo`sam init`, vedere. [Crea la tua candidatura in AWS SAM](using-sam-cli-init.md)
+ Per ulteriori informazioni sulla configurazione di queste impostazioni nell'applicazione, consulta[Compilazione predefinita con AWS SAM](serverless-sam-cli-using-build.md).

**Per creare un'applicazione**

1. `cd`alla radice del tuo progetto. Questa è la stessa posizione del AWS SAM modello.

   ```
   $ cd sam-app
   ```

1. Esegui il seguente codice:

   ```
   sam-app $ sam build <arguments> <options>
   ```
**Nota**  
Un'opzione comunemente usata è`--use-container`. Per ulteriori informazioni, consulta [Creazione di una funzione Lambda all'interno di un contenitore fornito](#using-sam-cli-build-options-container).

   Di seguito è riportato un esempio dell' AWS SAMCLIoutput:

   ```
   sam-app $ sam build
   Starting Build use cache
   Manifest file is changed (new hash: 3298f1304...d4d421) or dependency folder (.aws-sam/deps/4d3dfad6-a267-47a6-a6cd-e07d6fae318c) is missing for (HelloWorldFunction), downloading dependencies and copying/building source
   Building codeuri: /Users/.../sam-app/hello_world runtime: python3.12 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CleanUp
   Running PythonPipBuilder:ResolveDependencies
   Running PythonPipBuilder:CopySource
   Running PythonPipBuilder:CopySource
   
   Build Succeeded
   
   Built Artifacts  : .aws-sam/build
   Built Template   : .aws-sam/build/template.yaml
   
   Commands you can use next
   =========================
   [*] Validate SAM template: sam validate
   [*] Invoke Function: sam local invoke
   [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
   [*] Deploy: sam deploy --guided
   ```

1. Quindi AWS SAMCLI crea una cartella di `.aws-sam` compilazione. Di seguito è riportato un esempio:

   ```
   .aws-sam
   ├── build
   │   ├── HelloWorldFunction
   │   │   ├── __init__.py
   │   │   ├── app.py
   │   │   └── requirements.txt
   │   └── template.yaml
   └── build.toml
   ```

A seconda di come è configurata l'applicazione, AWS SAMCLI esegue le seguenti operazioni:

1. Scarica, installa e organizza le dipendenze nella directory. `.aws-sam/build`

1. Prepara il codice Lambda. Ciò può includere la compilazione del codice, la creazione di file binari eseguibili e la creazione di immagini di container.

1. Copia gli artefatti della build nella directory. `.aws-sam` Il formato varierà in base al tipo di pacchetto dell'applicazione.

   1. Per i tipi di pacchetti.zip, gli artefatti non sono ancora compressi, quindi possono essere utilizzati per i test locali. Comprime l' AWS SAMCLIapplicazione durante l'utilizzo. `sam deploy`

   1. Per i tipi di pacchetto di immagini del contenitore, un'immagine del contenitore viene creata localmente e referenziata nel `.aws-sam/build.toml` file.

1. Copia il AWS SAM modello nella `.aws-sam` directory e lo modifica con nuovi percorsi di file quando necessario.

Di seguito sono riportati i componenti principali che costituiscono gli artefatti di compilazione presenti nella directory: `.aws-sam`
+ **La directory di compilazione**: contiene le funzioni e i livelli Lambda strutturati indipendentemente l'uno dall'altro. Ciò si traduce in una struttura unica per ogni funzione o livello nella `.aws-sam/build` directory.
+ **Il AWS SAM modello**: modificato con valori aggiornati in base alle modifiche durante il processo di creazione.
+ **Il file build.toml: un file** di configurazione che contiene le impostazioni di build utilizzate da. AWS SAMCLI

## Test e distribuzione locali
<a name="using-sam-cli-build-test-deploy"></a>

Quando si eseguono test locali con `sam local` o si distribuiscono con`sam deploy`, AWS SAMCLI esegue le seguenti operazioni:

1. Innanzitutto verifica se esiste una `.aws-sam` directory e se un AWS SAM modello si trova all'interno di quella directory. Se queste condizioni sono soddisfatte, la AWS SAMCLI considera la directory principale dell'applicazione.

1. Se queste condizioni non sono soddisfatte, AWS SAMCLI considera la posizione originale del AWS SAM modello come cartella principale dell'applicazione.

Durante lo sviluppo, se vengono apportate modifiche ai file dell'applicazione originale, esegui `sam build` per aggiornare la `.aws-sam` directory prima di eseguire il test a livello locale.

## Best practice
<a name="using-sam-cli-build-best"></a>
+ Non modificare alcun codice contenuto nella `.aws-sam/build` directory. Aggiorna invece il codice sorgente originale nella cartella del progetto ed `sam build` esegui per aggiornare la `.aws-sam/build` directory.
+ Quando modifichi i file originali, esegui `sam build` per aggiornare la `.aws-sam/build` directory.
+ Potresti voler fare riferimento AWS SAMCLI alla directory principale originale del tuo progetto anziché alla `.aws-sam` directory, ad esempio durante lo sviluppo e il test con`sam local`. Eliminate la `.aws-sam` directory o il AWS SAM modello nella `.aws-sam` directory per fare in modo che AWS SAMCLI riconoscano la directory del progetto originale come cartella principale del progetto. Quando sei pronto, esegui di `sam build` nuovo per creare la `.aws-sam` directory.
+ Quando esegui`sam build`, la `.aws-sam/build` directory viene sovrascritta ogni volta. La `.aws-sam` directory no. Se desideri archiviare file, come i registri, memorizzali in `.aws-sam` per evitare che vengano sovrascritti.

## Opzioni per sam build
<a name="using-sam-cli-build-options"></a>

### Costruire un'unica risorsa
<a name="using-sam-cli-build-options-resource"></a>

Fornisci l'ID logico della risorsa per creare solo quella risorsa. Di seguito è riportato un esempio:

```
$ sam build HelloWorldFunction
```

Per creare una risorsa di un'applicazione o di uno stack annidato, fornisci l'ID logico dell'applicazione o dello stack insieme all'ID logico della risorsa utilizzando il formato: `<stack-logical-id>/<resource-logical-id>`

```
$ sam build MyNestedStack/MyFunction
```

### Creazione di una funzione Lambda all'interno di un contenitore fornito
<a name="using-sam-cli-build-options-container"></a>

L'`--use-container`opzione scarica un'immagine del contenitore e la utilizza per creare le funzioni Lambda. Il contenitore locale viene quindi referenziato nel file`.aws-sam/build.toml`.

Questa opzione deve Docker essere installata. Per istruzioni, consulta [Installazione di Docker](install-docker.md).

Di seguito è riportato un esempio di questo comando:

```
$ sam build --use-container
```

È possibile specificare l'immagine del contenitore da utilizzare con l'`--build-image`opzione. Di seguito è riportato un esempio:

```
$ sam build --use-container --build-image amazon/aws-sam-cli-build-image-nodejs20.x
```

Per specificare l'immagine del contenitore da utilizzare per una singola funzione, fornite l'ID logico della funzione. Di seguito è riportato un esempio:

```
$ sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.12
```

### Passa le variabili di ambiente al contenitore di compilazione
<a name="using-sam-cli-build-options-env"></a>

Usa `--container-env-var` per passare le variabili di ambiente al contenitore di compilazione. Di seguito è riportato un esempio:

```
$ sam build --use-container --container-env-var Function1.GITHUB_TOKEN=<token1> --container-env-var GLOBAL_ENV_VAR=<global-token>
```

Per passare le variabili di ambiente da un file, usa l'`--container-env-var-file`opzione. Di seguito è riportato un esempio:

```
$ sam build --use-container --container-env-var-file <env.json>
```

Esempio del `env.json` file:

```
{
  "MyFunction1": {
    "GITHUB_TOKEN": "TOKEN1"
  },
  "MyFunction2": {
    "GITHUB_TOKEN": "TOKEN2"
  }
}
```

### Accelera la creazione di applicazioni che contengono più funzioni
<a name="using-sam-cli-build-options-speed"></a>

Quando viene eseguita `sam build` su un'applicazione con più funzioni, AWS SAMCLI crea ogni funzione una alla volta. Per velocizzare il processo di compilazione, utilizzate l'`--parallel`opzione. Questo crea tutte le funzioni e i livelli contemporaneamente.

Di seguito è riportato un esempio di questo comando:

```
$ sam build —-parallel
```

### Accelera i tempi di compilazione creando il progetto nella cartella dei sorgenti
<a name="using-sam-cli-build-options-source"></a>

Per i runtime e i metodi di compilazione supportati, puoi utilizzare l'`--build-in-source`opzione per creare il tuo progetto direttamente nella cartella dei sorgenti. Per impostazione predefinita, AWS SAM CLI le build si trovano in una directory temporanea, che prevede la copia del codice sorgente e dei file di progetto. Con`--build-in-source`, AWS SAM CLI le build vengono create direttamente nella cartella di origine, il che accelera il processo di compilazione eliminando la necessità di copiare i file in una directory temporanea.

Per un elenco dei runtime e dei metodi di compilazione supportati, consulta. `--build-in-source`

## Risoluzione dei problemi
<a name="using-sam-cli-build-troubleshooting"></a>

Per risolvere il problema AWS SAMCLI, vedi. [AWS SAMCLIrisoluzione dei problemi](sam-cli-troubleshooting.md)

## Esempi
<a name="using-sam-cli-build-examples"></a>

### Creazione di un'applicazione che utilizza un runtime nativo e un tipo di pacchetto.zip
<a name="using-sam-cli-build-examples-tutorial1"></a>

Per questo esempio, vedi[Tutorial: Implementa un'applicazione Hello World con AWS SAM](serverless-getting-started-hello-world.md).

### Creazione di un'applicazione che utilizza un tipo di pacchetto di immagini e runtime nativi
<a name="using-sam-cli-build-examples-image"></a>

Per prima cosa, eseguiamo `sam init` l'inizializzazione di una nuova applicazione. Durante il flusso interattivo, selezioniamo il tipo di `Image` pacchetto. Di seguito è riportato un esempio:

```
$ sam init
...
Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
        1 - Hello World Example
        2 - Multi-step workflow
        3 - Serverless API
        4 - Scheduled task
        5 - Standalone function
        6 - Data processing
        7 - Hello World Example With Powertools
        8 - Infrastructure event management
        9 - Serverless Connector Hello World Example
        10 - Multi-step workflow with Connectors
        11 - Lambda EFS example
        12 - DynamoDB Example
        13 - Machine Learning
Template: 1

Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER

Which runtime would you like to use?
        ...
        10 - java8
        11 - nodejs20.x
        12 - nodejs18.x
        13 - nodejs16.x
        ...
Runtime: 12

What package type would you like to use?
        1 - Zip
        2 - Image
Package type: 2

Based on your selections, the only dependency manager available is npm.
We will proceed copying the template using npm.

Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER

Project name [sam-app]: ENTER

Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)

    -----------------------
    Generating application:
    -----------------------
    Name: sam-app
    Base Image: amazon/nodejs18.x-base
    Architectures: x86_64
    Dependency Manager: npm
    Output Directory: .
    Configuration file: sam-app/samconfig.toml

    Next steps can be found in the README file at sam-app/README.md
    
...
```

 AWS SAMCLIinizializza un'applicazione e crea la seguente directory di progetto:

```
sam-app
├── README.md
├── events
│   └── event.json
├── hello-world
│   ├── Dockerfile
│   ├── app.mjs
│   ├── package.json
│   └── tests
│       └── unit
│           └── test-handler.mjs
├── samconfig.toml
└── template.yaml
```

Successivamente, corriamo `sam build` a creare la nostra applicazione:

```
sam-app $ sam build
Building codeuri: /Users/.../build-demo/sam-app runtime: None metadata: {'DockerTag': 'nodejs18.x-v1', 'DockerContext': '/Users/.../build-demo/sam-app/hello-world', 'Dockerfile': 'Dockerfile'} architecture: arm64 functions: HelloWorldFunction
Building image for HelloWorldFunction function
Setting DockerBuildArgs: {} for HelloWorldFunction function
Step 1/4 : FROM public.ecr.aws/lambda/nodejs:18
 ---> f5b68038c080
Step 2/4 : COPY app.mjs package*.json ./
 ---> Using cache
 ---> 834e565aae80
Step 3/4 : RUN npm install
 ---> Using cache
 ---> 31c2209dd7b5
Step 4/4 : CMD ["app.lambdaHandler"]
 ---> Using cache
 ---> 2ce2a438e89d
Successfully built 2ce2a438e89d
Successfully tagged helloworldfunction:nodejs18.x-v1

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Validate SAM template: sam validate
[*] Invoke Function: sam local invoke
[*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
[*] Deploy: sam deploy --guided
```

### Creazione di un'applicazione che includa un linguaggio di programmazione compilato
<a name="using-sam-cli-build-examples-compiled"></a>

In questo esempio, creiamo un'applicazione che contiene una funzione Lambda utilizzando il Go runtime.

Innanzitutto, inizializziamo una nuova applicazione utilizzando `sam init` e configuriamo la nostra applicazione per utilizzare: Go

```
$ sam init

...

Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
        1 - Hello World Example
        2 - Multi-step workflow
        3 - Serverless API
        ...
Template: 1

Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER

Which runtime would you like to use?
        ...
        4 - dotnetcore3.1
        5 - go1.x
        6 - go (provided.al2)
        ...
Runtime: 5

What package type would you like to use?
        1 - Zip
        2 - Image
Package type: 1

Based on your selections, the only dependency manager available is mod.
We will proceed copying the template using mod.

Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER

Project name [sam-app]: ENTER

Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)

    -----------------------
    Generating application:
    -----------------------
    Name: sam-app
    Runtime: go1.x
    Architectures: x86_64
    Dependency Manager: mod
    Application Template: hello-world
    Output Directory: .
    Configuration file: sam-app/samconfig.toml
    
    Next steps can be found in the README file at sam-app-go/README.md
        
...
```

Quindi AWS SAMCLI inizializza l'applicazione. Di seguito è riportato un esempio della struttura delle cartelle dell'applicazione:

```
sam-app
├── Makefile
├── README.md
├── events
│   └── event.json
├── hello-world
│   ├── go.mod
│   ├── go.sum
│   ├── main.go
│   └── main_test.go
├── samconfig.toml
└── template.yaml
```

Facciamo riferimento al `README.md` file per i requisiti di questa applicazione.

```
...
## Requirements
* AWS CLI already configured with Administrator permission
* [Docker installed](https://www.docker.com/community-edition)
* [Golang](https://golang.org)
* SAM CLI - [Install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
...
```

Successivamente, corriamo `sam local invoke` per testare la nostra funzione. Questo comando ha un errore poiché non Go è installato sul nostro computer locale:

```
sam-app $ sam local invoke
Invoking hello-world (go1.x)
Local image was not found.
Removing rapid images for repo public.ecr.aws/sam/emulation-go1.x
Building image.................................................................................................................................................................................................................................................
Using local image: public.ecr.aws/lambda/go:1-rapid-x86_64.

Mounting /Users/.../Playground/build/sam-app/hello-world as /var/task:ro,delegated inside runtime container
START RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31 Version: $LATEST
fork/exec /var/task/hello-world: no such file or directory: PathError
null
END RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31
REPORT RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31  Init Duration: 0.88 ms  Duration: 175.75 ms Billed Duration: 176 ms Memory Size: 128 MB     Max Memory Used: 128 MB
{"errorMessage":"fork/exec /var/task/hello-world: no such file or directory","errorType":"PathError"}%
```

Successivamente, corriamo `sam build` a creare la nostra applicazione. Riscontriamo un errore poiché non Go è installato sul nostro computer locale:

```
sam-app $ sam build
Starting Build use cache
Cache is invalid, running build and copying resources for following functions (HelloWorldFunction)
Building codeuri: /Users/.../Playground/build/sam-app/hello-world runtime: go1.x metadata: {} architecture: x86_64 functions: HelloWorldFunction

Build Failed
Error: GoModulesBuilder:Resolver - Path resolution for runtime: go1.x of binary: go was not successful
```

Sebbene sia possibile configurare la nostra macchina locale per creare correttamente la nostra funzione, utilizziamo invece l'`--use-container`opzione con`sam build`. AWS SAMCLIScarica l'immagine di un contenitore, crea la nostra funzione usando quella nativa GoModulesBuilder e copia il file binario risultante `.aws-sam/build/HelloWorldFunction` nella nostra directory.

```
sam-app $ sam build --use-container
Starting Build use cache
Starting Build inside a container
Cache is invalid, running build and copying resources for following functions (HelloWorldFunction)
Building codeuri: /Users/.../build/sam-app/hello-world runtime: go1.x metadata: {} architecture: x86_64 functions: HelloWorldFunction

Fetching public.ecr.aws/sam/build-go1.x:latest-x86_64 Docker container image.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Mounting /Users/.../build/sam-app/hello-world as /tmp/samcli/source:ro,delegated inside runtime container
Running GoModulesBuilder:Build

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Validate SAM template: sam validate
[*] Invoke Function: sam local invoke
[*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
[*] Deploy: sam deploy --guided
```

Di seguito è riportato un esempio della `.aws-sam` directory:

```
.aws-sam
├── build
│   ├── HelloWorldFunction
│   │   └── hello-world
│   └── template.yaml
├── build.toml
├── cache
│   └── c860d011-4147-4010-addb-2eaa289f4d95
│       └── hello-world
└── deps
```

Successivamente, corriamo`sam local invoke`. La nostra funzione è stata richiamata con successo:

```
sam-app $ sam local invoke
Invoking hello-world (go1.x)
Local image is up-to-date
Using local image: public.ecr.aws/lambda/go:1-rapid-x86_64.

Mounting /Users/.../Playground/build/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
START RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479 Version: $LATEST
END RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479
REPORT RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479  Init Duration: 1.20 ms  Duration: 1782.46 ms        Billed Duration: 1783 ms        Memory Size: 128 MB     Max Memory Used: 128 MB
{"statusCode":200,"headers":null,"multiValueHeaders":null,"body":"Hello, 72.21.198.67\n"}%
```

## Ulteriori informazioni
<a name="using-sam-cli-build-learn"></a>

Per ulteriori informazioni sull'utilizzo del `sam build` comando, consulta quanto segue:
+ **[Apprendimento AWS SAM: sam build](https://www.youtube.com/watch?v=fDhYKp4op_g)** — Serie Serverless Land «Learning AWS SAM» suYouTube.
+ **[Apprendimento AWS SAM \$1 sam build \$1 E3](https://www.youtube.com/watch?v=vsAvRyLnB7Y)** — Continuata la serie Serverless Land «Learning AWS SAM». YouTube
+ **[AWS SAM build: come fornisce gli artefatti per l'implementazione (Sessions With SAM S2E8) — Sessioni con](https://www.youtube.com/watch?v=bNbBd6XoDHg)** serie attivate. AWS SAM YouTube
+ **[AWS SAM build personalizzate: come usare Makefile per personalizzare le build in SAM (S2E9) — Sessioni con serie](https://www.youtube.com/watch?v=wpccutnSbAk)** accese. AWS SAM YouTube