Sincronizzazione - AWS Serverless Application Model

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

Sincronizzazione

IlAWS SAMCLIsyncil comando distribuisce le modifiche locali alCloud AWS. Utilizzo disyncper creare, impacchettare e distribuire le modifiche all'ambiente di sviluppo man mano che si esegue l'iterazione sull'applicazione.

Utilizzo:

sam sync [OPTIONS]

Opzioni:

Opzione Descrizione
-t, --template-file, --template PATH Il percorso e il nome del file in cuiAWS SAMil modello si trova.

Nota: Se si specifica questa opzione,AWS SAMdistribuisce solo il modello e le risorse locali a cui fa riferimento.

--code Per impostazione predefinita,AWS SAMsincronizza tutte le risorse dell'applicazione. Specifica questa opzione per sincronizzare solo le risorse del codice, che includono quanto segue:
  • AWS::Serverless::Function

  • AWS::Lambda::Function

  • AWS::Serverless::LayerVersion

  • AWS::Lambda::LayerVersion

  • AWS::Serverless::Api

  • AWS::ApiGateway::RestApi

  • AWS::Serverless::HttpApi

  • AWS::ApiGatewayV2::Api

  • AWS::Serverless::StateMachine

  • AWS::StepFunctions::StateMachine

Per sincronizzare le risorse del codice,AWS SAMutilizzaAWSgestisci direttamente le API, anziché distribuirle tramiteAWS CloudFormation. Per aggiornare il tuoAWS CloudFormationimpila, eseguisam sync --watchosam deploy.
--watch Avvia un processo che controlla le modifiche apportate dall'applicazione locale e le sincronizza automaticamente con ilCloud AWS. Per impostazione predefinita, quando si specifica questa opzione,AWS SAMsincronizza tutte le risorse dell'applicazione man mano che le aggiorni. Con questa opzione,AWS SAMesegue una inizialeAWS CloudFormationdispiegamento. Quindi,AWS SAMutilizzaAWSAPI di servizio per aggiornare le risorse del codice.AWS SAMutilizzaAWS CloudFormationper aggiornare le risorse dell'infrastruttura quando aggiorniAWS SAMModello.
--resource-id TEXT Specifica l'ID della risorsa da sincronizzare. Per sincronizzare più risorse, puoi specificare questa opzione più volte. Questa opzione è supportata con--codeopzione. Ad esempio, --resource-id Function1 --resource-id Function2.
--resource TEXT Specifica il tipo di risorsa da sincronizzare. Per sincronizzare più risorse, puoi specificare questa opzione più volte. Questa opzione è supportata con--codeopzione. Il valore deve essere una delle risorse elencate in--code. Ad esempio, --resource AWS::Serverless::Function --resouce AWS::Serverless::LayerVersion.
--dependency-layer | --no-dependency-layer

Specifica se separare le dipendenze delle singole funzioni in un altro livello per accelerare il processo di sincronizzazione.

L'impostazione predefinita è --dependency-layer.

-u, --use-container

Se le tue funzioni dipendono da pacchetti che hanno dipendenze compilate in modo nativo, usa questa opzione per creare la tua funzione all'interno diAWS Lambda-come container Docker.

Nota: Attualmente, questa opzione non è compatibile con--dependency-layer. Se utilizzi--use-containercon--dependency-layer, ilAWS SAMLa CLI ti informa e continua con--no-dependency-layer.

--stack-name TEXT (Obbligatorio) Il nome del pluginAWS CloudFormationstack per la tua applicazione.
--s3-bucket TEXT Il nome del bucket Amazon Simple Storage Service (Amazon S3) in cui questo comando carica il tuoAWS CloudFormationModello. Se il modello è più grande di 51.200 byte, allora--s3-bucketo il--resolve-s3è richiesta l'opzione. Se si specificano entrambi i plugin--s3-buckete--resolve-s3Options, quindi si verifica un errore.
--s3-prefix TEXT Il prefisso aggiunto ai nomi degli elementi caricati nel bucket Amazon S3. Il nome del prefisso è il nome del percorso (nome della cartella) per il bucket Amazon S3. Questo vale solo per le funzioni dichiarate con il pluginZiptipo di pacchetto.
--capabilities LIST Un elenco di funzionalità che si specifica di consentireAWS CloudFormationper creare determinate pile. Alcuni modelli di stack potrebbero includere risorse che possono influire sulle autorizzazioni nel tuoAccount AWS.Ad esempio, creando nuoviAWS Identity and Access Managementutenti (IAM). Le funzionalità predefinite sonoCAPABILITY_NAMED_IAMeCAPABILITY_AUTO_EXPAND. Specificate questa opzione per sovrascrivere i valori predefiniti. I valori validi includono i seguenti:
  • CAPACITÀ_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_RESOURCE_POLICY

  • CAPABILITY_AUTO_EXPAND

-s, --base-dir DIRECTORY Risolve i percorsi relativi al codice sorgente della funzione o del livello rispetto a questa directory. Utilizzate questa opzione per modificare il modo in cui vengono risolti i percorsi relativi alle cartelle del codice sorgente. Per impostazione predefinita, i percorsi relativi vengono risolti rispetto alAWS SAMposizione del modello.

Oltre alle risorse nell'applicazione o nello stack root che stai creando, questa opzione si applica anche alle applicazioni o agli stack annidati. Inoltre, questa opzione si applica ai seguenti tipi e proprietà di risorse:

  • Tipo di risorsa:AWS::Serverless::Function Proprietà:CodeUri

  • Tipo di risorsa:AWS::Serverless::Function Attributo risorsa:Metadata Voce:DockerContext

  • Tipo di risorsa:AWS::Serverless::LayerVersion Proprietà:ContentUri

  • Tipo di risorsa:AWS::Lambda::Function Proprietà:Code

  • Tipo di risorsa:AWS::Lambda::LayerVersion Proprietà:Content

--parameter-overrides Una stringa che contieneAWS CloudFormationil parametro sovrascrive come coppie chiave-valore. Usa lo stesso formato delAWS Command Line Interface(AWS CLI). Ad esempio, ParameterKey=ParameterValue InstanceType=t1.micro.
--image-repository TEXT Il nome del repository Amazon Elastic Container Registry (Amazon ECR) in cui questo comando carica l'immagine della funzione. Richiesto per le funzioni dichiarate con ilImagetipo di pacchetto.
--kms-key-id TEXT L'ID di unAWS Key Management Service(AWS KMS) chiave utilizzata per crittografare gli artefatti inattivi nel bucket Amazon S3. Se non si specifica questa opzione,AWS SAMutilizza chiavi di crittografia gestite da Amazon S3.
--role-arn TEXT L'Amazon Resource Name (ARN) del ruolo IAM cheAWS CloudFormationpresuppone quando si applica il changeset.
--notification-arns LIST Un elenco degli ARN tematici Amazon Simple Notification Service (Amazon SNS) cheAWS CloudFormationsi associa allo stack.
--tags LIST Un elenco di tag da associare allo stack creato o aggiornato.AWS CloudFormation, inoltre, propaga questi tag nelle risorse dello stack che li supportano.
--metadata Una mappa di metadati da allegare a tutti gli artefatti a cui fai riferimento nel tuo modello.

Examples (Esempi)

Esegui il comando seguente per avviare un processo che distribuisce automaticamente le modifiche dall'ambiente locale all'ambiente di sviluppo nelCloud AWS.

sam sync --stack-name sam-app --watch

Esegui il seguente comando per distribuire le modifiche al codice su una funzione Lambda e un layer Lambda specifici.AWS SAMutilizza le API Lambda per aggiornare il codice inCloud AWS.

sam sync --stack-name sam-app --code --resource-id HelloWorldFunction --resource-id HelloWorldLayer

Eseguire il comando seguente per distribuire le ultime modifiche locali nella applicazioneAWS CloudFormationpila.

sam sync --stack-name sam-app

Esempio di stack nidificato

Nota

Al momento supportiamo il riferimento a uno stack utilizzando i due metodi seguenti:!Ref LayerNameo!GetAttr Stack.Output.LayerName.

AWS SAMAccelerate ora supporta stack annidati. Per sincronizzare una risorsa da uno stack secondario, continua a fornire lo stack root per--stack-nameparametro. Per il--resource-idparametro, specifica lo stack secondario e la risorsa nel seguente formatoChildStack/resourceId. È possibile definire pile secondarie aggiuntive delineando successivamente il nome dello stack con un/. Per ulteriori informazioni sulla creazione di applicazioni nidificate, consultaUtilizzo di applicazioni nidificate.

sam sync --code --stack-name sam-app --resource-id mystack/HelloWorldFunction