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à.
Crea la tua candidatura in AWS SAM
Dopo aver completato la Guida introduttiva e la letturaCome usare AWS Serverless Application Model (AWS SAM), sarai pronto per creare un AWS SAM progetto nel tuo ambiente di sviluppo. Il tuo AWS SAM progetto servirà come punto di partenza per scrivere la tua applicazione serverless. Per un elenco delle opzioni di AWS SAMCLI sam init
comando, vederesam init.
Il AWS Serverless Application Model comando Command Line Interface (AWS SAMCLI) sam init
fornisce opzioni per inizializzare una nuova applicazione serverless composta da:
-
Un AWS SAM modello per definire il codice dell'infrastruttura.
-
Una struttura di cartelle che organizza l'applicazione.
-
Configurazione per le tue AWS Lambda funzioni.
Per creare un AWS SAM progetto, consulta gli argomenti di queste sezioni.
Argomenti
Inizializza una nuova applicazione serverless
Per inizializzare una nuova applicazione serverless utilizzando il AWS SAMCLI
-
cd
in una directory iniziale. -
Esegui quanto segue nella riga di comando:
$
sam init
-
Ti AWS SAMCLI guiderà attraverso un flusso interattivo per creare una nuova applicazione serverless.
Nota
Come descritto in dettaglioTutorial: Implementa un'applicazione Hello World con AWS SAM, questo comando inizializza l'applicazione serverless, creando la directory del progetto. Questa directory conterrà diversi file e cartelle. Il file più importante è
template.yaml
. Questo è il tuo AWS SAM modello. La tua versione di python deve corrispondere alla versione di python elencata neltemplate.yaml
file creato dal sam init comando.
Scegli un modello di partenza
Un modello è composto da quanto segue:
-
Un AWS SAM modello per il codice dell'infrastruttura.
-
Una directory di progetto iniziale che organizza i file di progetto. Ad esempio, ciò può includere:
-
Una struttura per il codice della funzione Lambda e le relative dipendenze.
-
Una
events
cartella che contiene eventi di test per i test locali. -
Una
tests
cartella per supportare i test unitari. -
Un
samconfig.toml
file per configurare le impostazioni del progetto. -
Un
ReadMe
file e altri file di base del progetto iniziale.
Di seguito è riportato un esempio di cartella iniziale del progetto:
sam-app ├── README.md ├── __init__.py ├── events │ └── event.json ├── hello_world │ ├── __init__.py │ ├── app.py │ └── requirements.txt ├── samconfig.toml ├── template.yaml └── tests ├── __init__.py ├── integration │ ├── __init__.py │ └── test_api_gateway.py ├── requirements.txt └── unit ├── __init__.py └── test_handler.py
-
È possibile selezionare da un elenco di modelli di avvio AWS rapido disponibili o fornire una posizione personalizzata per i modelli.
Per scegliere un modello di avvio AWS rapido
-
Quando richiesto, selezionate AWS Quick Start Templates.
-
Seleziona un modello AWS Quick Start con cui iniziare. Di seguito è riportato un esempio:
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:4
Per scegliere la posizione del modello personalizzata
-
Quando richiesto, seleziona la posizione del modello personalizzato.
Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice:
2
-
Ti AWS SAMCLI verrà chiesto di fornire una posizione per il modello.
Template location (git, mercurial, http(s), zip, path):
Fornisci una delle seguenti posizioni all'archivio del file.zip del modello:
-
GitHubrepository: il percorso del file.zip nel tuo repository. GitHub Il file deve trovarsi nella cartella principale del repository.
-
Mercurialrepository: il percorso del file.zip nel tuo repository. Mercurial Il file deve trovarsi nella cartella principale del repository.
-
Percorso.zip: un percorso HTTPS o un percorso locale del file .zip.
-
-
AWS SAMCLIInizializzerà l'applicazione serverless utilizzando il modello personalizzato.
Scegli un runtime
Quando scegli un modello AWS Quick Start, AWS SAMCLI ti viene richiesto di selezionare un runtime per le tue funzioni Lambda. L'elenco di opzioni visualizzato da AWS SAMCLI sono i runtime supportati nativamente da Lambda.
-
Il runtime fornisce un ambiente specifico del linguaggio di programmazione che viene eseguito in un ambiente di esecuzione.
È possibile utilizzare qualsiasi altro linguaggio di programmazione con un runtime personalizzato. A tale scopo, è necessario creare manualmente la struttura dell'applicazione iniziale. È quindi possibile utilizzarla sam init
per inizializzare rapidamente l'applicazione configurando una posizione personalizzata del modello.
Dalla selezione, AWS SAMCLI crea la directory iniziale per il codice della funzione Lambda e le dipendenze.
Se Lambda supporta più gestori delle dipendenze per il tuo runtime, ti verrà richiesto di scegliere il tuo gestore delle dipendenze preferito.
Scegli un tipo di pacchetto
Quando si sceglie un modello di avvio AWS rapido e un runtime, viene AWS SAMCLI richiesto di selezionare un tipo di pacchetto. Il tipo di pacchetto determina il modo in cui le funzioni Lambda vengono distribuite per l'uso con il servizio Lambda. I due tipi di pacchetto supportati sono:
-
Immagine del contenitore: contiene il sistema operativo di base, il runtime, le estensioni Lambda, il codice dell'applicazione e le relative dipendenze.
-
Archivio di file.zip: contiene il codice dell'applicazione e le relative dipendenze.
Per ulteriori informazioni sui tipi di pacchetti di distribuzione, consulta i pacchetti di distribuzione Lambda nella AWS Lambda Developer Guide.
Di seguito è riportato un esempio di struttura di directory di un'applicazione con una funzione Lambda impacchettata come immagine contenitore. AWS SAMCLIScarica l'immagine e ne crea una Dockerfile
nella directory della funzione per specificare l'immagine.
sam-app ├── README.md ├── __init__.py ├── events │ └── event.json ├── hello_world │ ├── Dockerfile │ ├── __init__.py │ ├── app.py │ └── requirements.txt ├── samconfig.toml ├── template.yaml └── tests ├── __init__.py └── unit ├── __init__.py └── test_handler.py
Di seguito è riportato un esempio di struttura di directory di un'applicazione con una funzione impacchettata come archivio di file.zip.
sam-app ├── README.md ├── __init__.py ├── events │ └── event.json ├── hello_world │ ├── __init__.py │ ├── app.py │ └── requirements.txt ├── samconfig.toml ├── template.yaml └── tests ├── __init__.py ├── integration │ ├── __init__.py │ └── test_api_gateway.py ├── requirements.txt └── unit ├── __init__.py └── test_handler.py
Configura il tracciamento AWS X-Ray
È possibile scegliere di attivare il AWS X-Ray tracciamento. Per ulteriori informazioni, vedi Cos'è AWS X-Ray? nella Guida per gli AWS X-Ray sviluppatori.
Se lo attivi, AWS SAMCLI configura il tuo AWS SAM modello. Di seguito è riportato un esempio:
Globals: Function: ... Tracing: Active Api: TracingEnabled: True
Configura il monitoraggio con Amazon CloudWatch Application Insights
Puoi scegliere di attivare il monitoraggio utilizzando Amazon CloudWatch Application Insights. Per ulteriori informazioni, consulta Amazon CloudWatch Application Insights nella Amazon CloudWatch User Guide.
Se lo attivi, AWS SAMCLI configura il tuo AWS SAM modello. Di seguito è riportato un esempio:
Resources: ApplicationResourceGroup: Type: AWS::ResourceGroups::Group Properties: Name: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName ResourceQuery: Type: CLOUDFORMATION_STACK_1_0 ApplicationInsightsMonitoring: Type: AWS::ApplicationInsights::Application Properties: ResourceGroupName: Fn::Join: - '' - - ApplicationInsights-SAM- - Ref: AWS::StackName AutoConfigurationEnabled: 'true' DependsOn: ApplicationResourceGroup
Assegna un nome alla tua applicazione
Fornisci un nome per la tua candidatura. AWS SAMCLICrea una cartella di primo livello per l'applicazione utilizzando questo nome.
Opzioni per sam init
Di seguito sono riportate alcune delle opzioni principali che è possibile utilizzare con il sam init
comando. Per un elenco di tutte le opzioni, vederesam init.
Inizializza un'applicazione utilizzando una posizione personalizzata del modello
Utilizza l'--location
opzione e fornisci una posizione per il modello personalizzata supportata. Di seguito è riportato un esempio:
$
sam init --location
https://github.com/aws-samples/sessions-with-aws-sam/raw/master/starter-templates/web-app.zip
Inizializza un'applicazione senza il flusso interattivo
Utilizza l'--no-interactive
opzione e fornisci le tue scelte di configurazione nella riga di comando per saltare il flusso interattivo. Di seguito è riportato un esempio:
$
sam init --no-interactive
--runtime go1.x --name go-demo --dependency-manager mod --app-template hello-world
Risoluzione dei problemi
Per risolvere il problema, consulta. AWS SAMCLI AWS SAMCLIrisoluzione dei problemi
Esempi
Inizializza una nuova applicazione serverless utilizzando il modello Hello World Starter AWS
Per questo esempio, vedi Passaggio 1: inizializza l'applicazione Hello World di esempio in Tutorial: Deploying a Hello World application.
Inizializza una nuova applicazione serverless con una posizione del modello personalizzata
Di seguito sono riportati alcuni esempi di come fornire una GitHub posizione al modello personalizzato:
$
sam init --location
gh:aws-samples/cookiecutter-aws-sam-python
$
sam init --location
git+sh://git@github.com/aws-samples/cookiecutter-aws-sam-python.git
$
sam init --location
hg+ssh://hg@bitbucket.org/repo/template-name
Di seguito è riportato un esempio di percorso di file locale:
$
sam init --location
/path/to/template.zip
Di seguito è riportato un esempio di percorso raggiungibile daHTTPS:
$
sam init --location
https://github.com/aws-samples/sessions-with-aws-sam/raw/master/starter-templates/web-app.zip
Ulteriori informazioni
Per ulteriori informazioni sull'utilizzo del sam init
comando, consulta quanto segue:
-
Apprendimento AWS SAM: sam init
— Serie Serverless Land «Learning AWS SAM» suYouTube. -
Strutturazione di applicazioni serverless da utilizzare con AWS SAMCLI (Sessions with SAM S2E7) — Sessioni
con serie attivate. AWS SAM YouTube
Passaggi successivi
Ora che hai creato il tuo AWS SAM progetto, sei pronto per iniziare a creare la tua applicazione. Definisci la tua infrastruttura con AWS SAMPer eseguire questa operazione, consultate le istruzioni dettagliate sulle attività da completare.