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à.
build sam
Questa pagina fornisce informazioni di riferimento per il AWS Serverless Application Model comando Command Line Interface (AWS SAMCLI)sam build.
-
Per un'introduzione al AWS SAMCLI, vedere Che cos'è il AWS SAM CLI?
-
Per la documentazione sull'uso del AWS SAMCLI
sam buildcomando, vedereIntroduzione alla costruzione con AWS SAM.
Il sam build comando prepara un'applicazione per le fasi successive del flusso di lavoro degli sviluppatori, ad esempio il test locale o la distribuzione su. Cloud AWS
Utilizzo
$sam build<arguments><options>
Arguments (Argomenti)
- Resource ID (ID risorsa)
-
Opzionale. Indica di AWS SAM creare una singola risorsa dichiarata in un AWS SAM modello. Gli artefatti di compilazione per la risorsa specificata saranno gli unici disponibili per i comandi successivi nel flusso di lavoro, ad esempio e.
sam packagesam deploy
Opzioni
--base-dir, -sDIRECTORY-
Risolve i percorsi relativi al codice sorgente della funzione o del livello rispetto a questa directory. Utilizzate questa opzione se desiderate modificare il modo in cui vengono risolti i percorsi relativi alle cartelle del codice sorgente. Per impostazione predefinita, i percorsi relativi vengono risolti rispetto alla posizione del AWS SAM modello.
Oltre alle risorse nell'applicazione principale o nello stack che stai creando, questa opzione si applica anche alle applicazioni o agli stack annidati.
Questa opzione si applica ai seguenti tipi e proprietà di risorse:
-
Tipo di risorsa:
AWS::Serverless::FunctionProprietà:CodeUri -
Tipo di risorsa: Attributo della
AWS::Serverless::Functionrisorsa:MetadataVoce:DockerContext -
Tipo di risorsa:
AWS::Serverless::LayerVersionProprietà:ContentUri -
Tipo di risorsa:
AWS::Lambda::FunctionProprietà:Code -
Tipo di risorsa:
AWS::Lambda::LayerVersionProprietà:Content
-
--beta-features | --no-beta-features-
Consenti o nega le funzionalità beta.
--build-dir, -bDIRECTORY-
Il percorso di una directory in cui sono archiviati gli artefatti creati. Questa cartella e tutto il suo contenuto vengono rimossi con questa opzione.
--build-imageTEXT-
L'URI dell'immagine del contenitore da estrarre per la compilazione. Per impostazione predefinita, AWS SAM estrae l'immagine del contenitore da Amazon ECR Public. Usa questa opzione per estrarre l'immagine da un'altra posizione.
Puoi specificare questa opzione più volte. Ogni istanza di questa opzione può accettare una stringa o una coppia chiave-valore. Se si specifica una stringa, si tratta dell'URI dell'immagine del contenitore da utilizzare per tutte le risorse dell'applicazione. Ad esempio,
sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8. Se si specifica una coppia chiave-valore, la chiave è il nome della risorsa e il valore è l'URI dell'immagine del contenitore da utilizzare per quella risorsa. Ad esempio,sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8. Con le coppie chiave-valore, puoi specificare immagini del contenitore diverse per risorse diverse.Questa opzione si applica solo se l'
--use-containeropzione è specificata, altrimenti si verificherà un errore. --build-in-source | --no-build-in-source-
--build-in-sourceProvvedi a creare il tuo progetto direttamente nella cartella sorgente.L'
--build-in-sourceopzione supporta i seguenti runtime e metodi di compilazione:-
Runtime: qualsiasi Node.js runtime supportato dall'
sam init --runtimeopzione. -
Metodi di compilazione:
Makefile,esbuild.
L'
--build-in-sourceopzione non è compatibile con le seguenti opzioni:-
--hook-name -
--use-container
Default:
--no-build-in-source -
--cached | --no-cached-
Abilita o disabilita le build memorizzate nella cache. Usa questa opzione per riutilizzare gli artefatti di build che non sono stati modificati rispetto alle build precedenti. AWS SAM valuta se hai modificato qualche file nella directory del tuo progetto. Per impostazione predefinita, le build non vengono memorizzate nella cache. Se l'
--no-cachedopzione viene richiamata, sovrascrive l'impostazione in samconfig.toml.cached = trueNota
AWS SAM non valuta se hai modificato i moduli di terze parti da cui dipende il tuo progetto, laddove non hai fornito una versione specifica. Ad esempio, se la tua funzione Python include un
requirements.txtfile con la vocerequests=1.xe l'ultima versione del modulo di richiesta cambia da1.1a1.2, allora AWS SAM non estrae l'ultima versione finché non esegui una build non memorizzata nella cache. --cache-dir-
Viene specificata la directory in cui vengono archiviati gli artefatti della cache.
--cachedLa directory cache predefinita è..aws-sam/cache --config-envTEXT-
Il nome dell'ambiente che specifica i valori dei parametri predefiniti nel file di configurazione da utilizzare. Il valore predefinito è «default». Per ulteriori informazioni sui file di configurazione, consulta AWS SAMCLIfile di configurazione.
--config-filePATH-
Il percorso e il nome del file di configurazione contenente i valori dei parametri predefiniti da utilizzare. Il valore predefinito è "
samconfig.toml" nella cartella principale della directory del progetto. Per ulteriori informazioni sui file di configurazione, consulta AWS SAMCLIfile di configurazione. --container-env-var, -eTEXT-
Variabili di ambiente da passare al contenitore di compilazione. Puoi specificare questa opzione più volte. Ogni istanza di questa opzione accetta una coppia chiave-valore, in cui la chiave è la risorsa e la variabile di ambiente e il valore è il valore della variabile di ambiente. Ad esempio:
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.Questa opzione si applica solo se l'
--use-containeropzione è specificata, altrimenti si verificherà un errore. --container-env-var-file, -efPATH-
Il percorso e il nome del file JSON che contiene i valori per le variabili di ambiente del contenitore. Per ulteriori informazioni sui file delle variabili di ambiente del contenitore, vedereFile variabile di ambiente del contenitore.
Questa opzione si applica solo se è specificata, altrimenti si verificherà un errore.
--use-container --debug-
Attiva la registrazione di debug per stampare i messaggi di debug AWS SAMCLI generati e per visualizzare i timestamp.
--docker-networkTEXT-
Specifica il nome o l'ID di una Docker rete esistente a cui i Docker contenitori Lambda devono connettersi, insieme alla rete bridge predefinita. Se non specificato, i contenitori Lambda si connettono solo alla rete bridge predefinita. Docker
--exclude, -x-
Il nome delle risorse da escludere dal
sam build. Ad esempio, se il modello contieneFunction1Function2, eFunction3e viene eseguitosam build --exclude Function2, soloFunction1eFunction3verrà creato. --help-
Mostra questo messaggio ed esce.
--hook-nameTEXT-
Il nome dell'hook utilizzato per estendere la AWS SAMCLI funzionalità.
Valori accettati:
terraform. --manifest , -mPATH-
Il percorso di un file manifesto delle dipendenze personalizzato (ad esempio, package.json) da utilizzare al posto di quello predefinito.
--mount-symlinks-
Assicura che i collegamenti simbolici presenti nei file da creare o richiamare siano AWS SAMCLI sempre montati. Questo vale solo per i collegamenti simbolici nella directory di primo livello (ovvero, i collegamenti simbolici che si trovano direttamente nella radice della funzione). Per impostazione predefinita, i collegamenti simbolici non vengono montati ad eccezione di quelli necessari
build-in-sourcepernode_modulesl'uso in NodeJS. --no-use-container-
Un'opzione che consente di utilizzare il toolkit IDE per impostare il comportamento predefinito. Puoi anche usarla
sam build --no-use-containerper eseguire una build nel tuo computer locale anziché in un contenitore docker. --output[ text | json ]-
Il formato dell'output del comando:
-
text— Stampa un output regolare e leggibile dall'uomo. Si tratta del valore di default. -
json— Stampa un output strutturato e leggibile dalla macchina. Utilizza questo formato quando desideri utilizzare l'output a livello di programmazione, ad esempio in CI/CD pipeline, estensioni IDE e strumenti. AI-assisted
Quando lo specifichi
--output json, AWS SAMCLI stampa un singolo oggetto JSON dopo il completamento del comando. In caso di successo, questo oggetto include campi come lo stato di compilazione, la directory di compilazione, il file modello e un elenco delle risorse che sono state create. In caso di errore, include unerroroggetto che descrive cosa è andato storto. -
--parallel-
Abilita le build parallele. Usa questa opzione per creare le funzioni e i livelli del AWS SAM modello in parallelo. Per impostazione predefinita, le funzioni e i livelli sono costruiti in sequenza.
--parameter-overrides-
(Facoltativo) Una stringa che contiene le sostituzioni CloudFormation dei parametri codificate come coppie chiave-valore. Utilizza lo stesso formato di (). AWS Command Line Interface AWS CLI Ad esempio: '
ParameterKey=KeyPairName,ParameterValue=MyKeyParameterKey=InstanceType,ParameterValue=t1.micro'. Questa opzione non è compatibile con--hook-name. --profileTEXT-
Il profilo specifico del file delle credenziali che ottiene le AWS credenziali.
--regionTEXT-
A cui eseguire Regione AWS la distribuzione. Ad esempio, us-east-1.
--save-params-
Salvate i parametri forniti nella riga di comando nel file di AWS SAM configurazione.
--skip-prepare-infra-
Salta la fase di preparazione se non sono state apportate modifiche all'infrastruttura. Da utilizzare con l'
--hook-nameopzione. --skip-pull-image-
Specifica se il comando deve ignorare l'ultima immagine Docker per il runtime Lambda.
--template-file, --template, -tPATH-
Il percorso e il nome del file modello. AWS SAM
[default: template.[yaml|yml]]Questa opzione non è compatibile con--hook-name. --terraform-project-root-path-
Il percorso relativo o assoluto della directory di primo livello contenente i file di Terraform configurazione o il codice sorgente della funzione. Se questi file si trovano all'esterno della directory contenente il modulo Terraform principale, utilizzate questa opzione per specificarne il percorso assoluto o relativo. Questa opzione richiede che
--hook-namesia impostata suterraform. --use-buildkit | --no-use-buildkit-
Abilita o disabilita l'utilizzo del BuildKit plug-in per la creazione di immagini in contenitori. Questo utilizzerà il comando Finch o DockerCLIs. Per impostazione predefinita, builds utilizza il generatore legacy dell'SDK. Se l'
--no-use-buildkitopzione viene richiamata, sovrascrive l'impostazione in samconfig.toml.use-buildkit = true --use-container,-u-
Se le tue funzioni dipendono da pacchetti con dipendenze compilate in modo nativo, usa questa opzione per creare la tua funzione all'interno di un contenitore Docker. Lambda-like
Esempio
Per un esempio dettagliato e una procedura dettagliata sull'uso del sam build sottocomando, fare riferimento a. Introduzione alla costruzione con AWS SAM