Utilizzo di Lambda con l'infrastructure as code (IaC) - AWS Lambda

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

Utilizzo di Lambda con l'infrastructure as code (IaC)

Lambda offre diversi modi per implementare il codice e creare funzioni. Ad esempio, puoi usare la console Lambda o il AWS Command Line Interface (AWS CLI) per creare o aggiornare manualmente le funzioni Lambda. Oltre a queste opzioni manuali, AWS offre una serie di soluzioni per l'implementazione di funzioni Lambda e applicazioni serverless utilizzando l'infrastruttura come codice (IaC). Con l'IaC, puoi fornire e gestire funzioni Lambda e altre risorse AWS utilizzando il codice anziché servirti di processi e impostazioni manuali.

La maggior parte delle volte, le funzioni Lambda non vengono eseguite in modo isolato. Fanno invece parte di un'applicazione serverless con altre risorse come database, code e spazio di archiviazione. Con IaC, è possibile automatizzare i processi di distribuzione per distribuire e aggiornare in modo rapido e ripetibile intere applicazioni serverless che coinvolgono molte risorse separate. AWS Questo approccio accelera il ciclo di sviluppo, semplifica la gestione della configurazione e garantisce che le risorse vengano implementate sempre allo stesso modo.

Strumenti di IaC per Lambda

Per implementare funzioni Lambda e applicazioni serverless utilizzando IaC AWS , offre una serie di strumenti e servizi diversi.

AWS CloudFormation è stato il primo servizio offerto da AWS per creare e configurare risorse cloud. Con AWS CloudFormation, puoi creare modelli di testo per definire l'infrastruttura e il codice. Con l' AWS introduzione di nuovi servizi e l'aumento della complessità della creazione di AWS CloudFormation modelli, sono stati rilasciati altri due strumenti. AWS SAM è un altro framework basato su modelli per la definizione di applicazioni serverless. AWS Cloud Development Kit (AWS CDK) Si tratta di un approccio basato sul codice per la definizione e il provisioning dell'infrastruttura utilizzando costrutti di codice in molti linguaggi di programmazione popolari.

Con both AWS SAM and the AWS CDK, AWS CloudFormation opera dietro le quinte per creare e implementare l'infrastruttura. Il diagramma seguente illustra la relazione tra questi strumenti, mentre i paragrafi successivi al diagramma ne illustrano le funzionalità principali.

Diagramma che mostra come AWS SAM e come AWS CDK distribuire AWS risorse e codice utilizzando AWS CloudFormation
  • AWS CloudFormation- Modella e configura AWS le tue risorse usando un JSON modello YAML or che descrive le tue risorse e le loro proprietà. CloudFormation CloudFormation fornisce le risorse in modo sicuro e ripetibile, consentendoti di creare frequentemente l'infrastruttura e le applicazioni senza passaggi manuali. Quando si modifica la configurazione, CloudFormation determina le operazioni corrette da eseguire per aggiornare lo stack. CloudFormation può persino ripristinare le modifiche.

  • AWS Serverless Application Model (AWS SAM) - AWS SAM è un framework open source per la definizione di applicazioni serverless. AWS SAM i modelli utilizzano una sintassi abbreviata per definire funzioniAPIs, database e mappature delle sorgenti degli eventi con solo poche righe di testo () per risorsa. YAML Durante la distribuzione, AWS SAM trasforma ed espande la sintassi in sintassi. AWS SAM AWS CloudFormation Per questo motivo, è possibile aggiungere qualsiasi CloudFormation sintassi ai modelli. AWS SAM Ciò offre AWS SAM tutta la potenza di CloudFormation, ma con un minor numero di linee di configurazione.

  • AWS Cloud Development Kit (AWS CDK)- Con AWS CDK, definisci la tua infrastruttura utilizzando costrutti di codice e eseguendo AWS CloudFormation il provisioning della stessa. AWS CDK consente di modellare l'infrastruttura applicativa con Python TypeScript, Java,. NETe Go (in Developer Preview) utilizzando gli strumenti di test e i modelli di flusso di lavoro esistentiIDE. Ottieni tutti i vantaggi di AWS CloudFormation, tra cui l'implementazione ripetibile, il ripristino semplificato e il rilevamento delle deviazioni.

AWS fornisce anche un servizio chiamato Strumento AWS per la creazione di applicazioni a sviluppare modelli IaC utilizzando una semplice interfaccia grafica. Con Application Composer, puoi progettare un'architettura applicativa trascinandola, raggruppandola e connettendola in un'area di disegno visiva. AWS servizi Application Composer crea quindi uno o più AWS SAM AWS CloudFormation modelli dal tuo progetto che puoi utilizzare per distribuire l'applicazione.

Nella sezione Guida introduttiva all'IaC per Lambda seguente, utilizzi Strumento per la creazione di applicazioni per sviluppare un modello per un'applicazione serverless basata su una funzione Lambda esistente.

Guida introduttiva all'IaC per Lambda

In questo tutorial, puoi iniziare a utilizzare iAc con Lambda creando AWS SAM un modello da una funzione Lambda esistente e quindi creando un'applicazione serverless in Application Composer aggiungendo altre risorse. AWS

Se preferisci iniziare con un AWS SAM AWS CloudFormation tutorial per imparare a lavorare con i modelli senza usare Application Composer, troverai i link ad altre risorse nella Passaggi successivi sezione alla fine di questa pagina.

Man mano che svolgi questo tutorial, imparerai alcuni concetti fondamentali, ad esempio come vengono specificate AWS le risorse. AWS SAM Imparerai anche come usare Application Composer per creare un'applicazione serverless che puoi distribuire utilizzando or. AWS SAM AWS CloudFormation

Per completare questo tutorial, eseguirai le seguenti attività:

  • Creazione di una funzione Lambda di esempio

  • Usa la console Lambda per visualizzare il AWS SAM modello per la funzione

  • Esporta la configurazione della funzione Strumento AWS per la creazione di applicazioni e progetta una semplice applicazione serverless basata sulla configurazione della funzione

  • Salva un AWS SAM modello aggiornato che puoi utilizzare come base per distribuire la tua applicazione serverless

Nella Passaggi successivi sezione troverai le risorse che puoi utilizzare per saperne di più su Application AWS SAM Composer. Queste risorse includono collegamenti a tutorial più avanzati che insegnano come distribuire un'applicazione serverless utilizzando. AWS SAM

Prerequisiti

In questo tutorial, utilizzi la funzionalità di sincronizzazione locale di Strumento per la creazione di applicazioni per salvare i file di modello e codice sul computer di compilazione locale. Per utilizzare questa funzionalità, è necessario un browser che supporti il File System AccessAPI, che consente alle applicazioni Web di leggere, scrivere e salvare file nel file system locale. Ti consigliamo di utilizzare Google Chrome o Microsoft Edge. Per ulteriori informazioni sull'accesso al file systemAPI, vedete Cos'è l'accesso al file systemAPI?

Creazione di una funzione Lambda

In questo primo passaggio, creerai una funzione Lambda da utilizzare nei passaggi successivi del tutorial. Per semplicità, utilizzerai la console Lambda per creare una funzione di base "Hello world" tramite il runtime Python 3.11.

Creazione di una funzione Lambda "Hello world" tramite la console
  1. Aprire la console Lambda.

  2. Scegli Crea funzione.

  3. Lascia selezionato Crea da zero e, in Informazioni di base, immetti LambdaIaCDemo come Nome della funzione.

  4. In Runtime, scegli Python 3.11.

  5. Scegli Crea funzione.

Visualizza il AWS SAM modello per la tua funzione

Prima di esportare la configurazione della funzione in Strumento per la creazione di applicazioni, utilizza la console Lambda per visualizzare la configurazione corrente della funzione come modello AWS SAM . Seguendo i passaggi di questa sezione, imparerai a conoscere l'anatomia di un AWS SAM modello e a definire risorse come le funzioni Lambda per iniziare a specificare un'applicazione serverless.

Per visualizzare il modello per la tua funzione AWS SAM
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegli la funzione creata in precedenza (LambdaIaCDemo).

  3. Nel riquadro Panoramica della funzione, scegli Modello.

    Al posto del diagramma che rappresenta la configurazione della funzione, verrà visualizzato un AWS SAM modello per la funzione. Il modello avrà un aspetto simile al seguente.

    # This AWS SAM template has been generated from your function's # configuration. If your function has one or more triggers, note # that the AWS resources associated with these triggers aren't fully # specified in this template and include placeholder values.Open this template # in AWS Application Composer or your favorite IDE and modify # it to specify a serverless application with other AWS resources. AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Specification template describing your function. Resources: LambdaIaCDemo: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 128 Timeout: 3 Handler: lambda_function.lambda_handler Runtime: python3.11 Architectures: - x86_64 EventInvokeConfig: MaximumEventAgeInSeconds: 21600 MaximumRetryAttempts: 2 EphemeralStorage: Size: 512 RuntimeManagementConfig: UpdateRuntimeOn: Auto SnapStart: ApplyOn: None PackageType: Zip Policies: Statement: - Effect: Allow Action: - logs:CreateLogGroup Resource: arn:aws:logs:us-east-1:123456789012:* - Effect: Allow Action: - logs:CreateLogStream - logs:PutLogEvents Resource: - >- arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/LambdaIaCDemo:*

Dedichiamo un momento a esaminare il YAML modello della tua funzione e a comprendere alcuni concetti chiave.

Il modello inizia con la dichiarazione Transform: AWS::Serverless-2016-10-31. Questa dichiarazione è necessaria perché dietro le quinte vengono implementati dei AWS SAM modelli. AWS CloudFormation L'utilizzo dell'istruzione Transform identifica il modello come file di modello AWS SAM .

Dopo la dichiarazione Transform, arriva la sezione Resources. È qui che vengono AWS definite le risorse che si desidera distribuire con il AWS SAM modello. AWS SAM i modelli possono contenere una combinazione di AWS SAM risorse e AWS CloudFormation risorse. Questo perché durante la distribuzione, i AWS SAM modelli si espandono in AWS CloudFormation modelli, quindi è possibile aggiungere qualsiasi AWS CloudFormation sintassi valida a un AWS SAM modello.

Al momento, nella sezione Resources del modello è presente soltanto una risorsa definita, la funzione Lambda LambdaIaCDemo. Per aggiungere una funzione Lambda a un AWS SAM modello, si utilizza il tipo di AWS::Serverless::Function risorsa. La risorsa Properties di una funzione Lambda definisce il runtime della funzione, il gestore delle funzioni e altre opzioni di configurazione. Qui viene definito anche il percorso del codice sorgente della funzione da AWS SAM utilizzare per distribuire la funzione. Per ulteriori informazioni sulle risorse delle funzioni Lambda in AWS SAM, consulta AWS: :Serverless: :Function nella Developer Guide.AWS SAM

Oltre alle proprietà e alle configurazioni delle funzioni, il modello specifica anche una politica AWS Identity and Access Management () IAM per la funzione. Questa politica autorizza la tua funzione a scrivere log su Amazon CloudWatch Logs. Quando crei una funzione nella console Lambda, Lambda associa automaticamente questa policy alla tua funzione. Per ulteriori informazioni su come specificare una IAM policy per una funzione in un AWS SAM modello, consulta la policies proprietà nella pagina AWS: :Serverless: :Function della Developer Guide.AWS SAM

Per ulteriori informazioni sulla struttura dei modelli, consulta anatomia dei AWS SAM modelli.AWS SAM

Strumento AWS per la creazione di applicazioni Utilizzatelo per progettare un'applicazione serverless

Per iniziare a creare una semplice applicazione serverless utilizzando il AWS SAM modello della funzione come punto di partenza, esportate la configurazione della funzione in Application Composer e attivate la modalità di sincronizzazione locale di Application Composer. La sincronizzazione locale salva automaticamente il codice della funzione e il AWS SAM modello sulla macchina di compilazione locale e mantiene sincronizzato il modello salvato man mano che si aggiungono altre AWS risorse in Application Composer.

Esportazione della funzione in Strumento per la creazione di applicazioni
  1. Nel riquadro Panoramica della funzione, scegli Esporta in Strumento per la creazione di applicazioni.

    Per esportare la configurazione e il codice della funzione in Strumento per la creazione di applicazioni, Lambda crea un bucket Amazon S3 nel tuo account in cui archiviare temporaneamente questi dati.

  2. Nella finestra di dialogo, scegli Conferma e crea progetto per accettare il nome predefinito per questo bucket ed esportare la configurazione e il codice della funzione in Strumento per la creazione di applicazioni.

  3. (Facoltativo) Per scegliere un altro nome per il bucket Amazon S3 creato da Lambda, immetti un nuovo nome e scegli Conferma e crea progetto. I nomi dei bucket Amazon S3 devono essere univoci a livello globale e seguire le regole di denominazione dei bucket.

    Selezionando Conferma e crea progetto si apre la console Strumento per la creazione di applicazioni. Nel canvas vedrai la funzione Lambda.

  4. Dal menu a discesa Menu, scegli Attiva sincronizzazione locale.

  5. Nella finestra di dialogo che si apre, scegli Seleziona cartella e seleziona una cartella sul tuo computer di compilazione locale.

  6. Scegli Attiva per attivare la sincronizzazione locale.

Per esportare la funzione in Application Composer, è necessaria l'autorizzazione per utilizzare determinate azioni. API Se non sei in grado di esportare la funzione, consulta Autorizzazioni richieste e assicurati di disporre delle autorizzazioni necessarie.

Nota

Il bucket che Lambda crea quando esporti una funzione in Strumento per la creazione di applicazioni è soggetto ai prezzi di Amazon S3 standard. Gli oggetti che Lambda inserisce nel bucket vengono eliminati automaticamente dopo 10 giorni, ma il bucket in sé non viene eliminato.

Per evitare costi aggiuntivi Account AWS, segui le istruzioni riportate in Eliminazione di un bucket dopo aver esportato la funzione in Application Composer. Per ulteriori informazioni sul bucket Amazon S3 creato da Lambda, consulta la pagina Utilizzo AWS Lambda con Strumento AWS per la creazione di applicazioni.

Progettazione di un'applicazione serverless in Strumento per la creazione di applicazioni

Dopo aver attivato la sincronizzazione locale, le modifiche apportate in Application Composer si rifletteranno nel AWS SAM modello salvato sul computer di compilazione locale. Ora puoi trascinare e rilasciare AWS risorse aggiuntive sulla tela di Application Composer per creare la tua applicazione. In questo esempio, aggiungi una coda Amazon SQS simple come trigger per la tua funzione Lambda e una tabella DynamoDB per la funzione su cui scrivere i dati.

  1. Aggiungi un SQS trigger Amazon alla tua funzione Lambda effettuando le seguenti operazioni:

    1. Nel campo di ricerca della palette Risorse, immetti SQS.

    2. Trascina la risorsa SQSQueue sull'area di disegno e posizionala a sinistra della funzione Lambda.

    3. Seleziona Dettagli e per ID logico immetti LambdaIaCQueue.

    4. Seleziona Salva.

    5. Connetti le tue risorse Amazon SQS e Lambda facendo clic sulla porta Subscription sulla scheda di SQS coda e trascinandola sulla porta sinistra della scheda funzione Lambda. La comparsa di una linea tra le due risorse indica che la connessione è stabilita. Inoltre, nella parte inferiore del canvas, Strumento per la creazione di applicazioni visualizza un messaggio che indica che le due risorse sono state connesse correttamente.

  2. Per aggiungere una tabella Amazon DynamoDB in cui la funzione Lambda può scrivere dati, effettua le seguenti operazioni:

    1. Nel campo di ricerca della palette Risorse, immetti DynamoDB.

    2. Trascina la risorsa Tabella DynamoDB sul canvas e posizionala a destra della funzione Lambda.

    3. Seleziona Dettagli e per ID logico immetti LambdaIaCTable.

    4. Seleziona Salva.

    5. Connetti la tabella DynamoDB alla funzione Lambda facendo clic sulla porta destra della scheda della funzione Lambda e trascinandola sulla porta sinistra della scheda di DynamoDB.

Ora che hai aggiunto queste risorse extra, diamo un'occhiata al AWS SAM modello aggiornato creato da Application Composer.

Per visualizzare il modello aggiornato AWS SAM
  • Nel canvas di Strumento per la creazione di applicazioni, scegli Modello per passare dalla visualizzazione del canvas alla visualizzazione del modello.

Il AWS SAM modello dovrebbe ora contenere le seguenti risorse e proprietà aggiuntive:

  • Una SQS coda Amazon con l'identificatore LambdaIaCQueue

    LambdaIaCQueue: Type: AWS::SQS::Queue Properties: MessageRetentionPeriod: 345600

    Quando aggiungi una SQS coda Amazon utilizzando Application Composer, Application Composer imposta la proprietà. MessageRetentionPeriod Puoi anche impostare la FifoQueue proprietà selezionando Dettagli nella scheda SQS Queue e selezionando o deselezionando la coda Fifo.

    Per impostare altre proprietà per la coda, puoi modificare manualmente il modello per aggiungerle. Per ulteriori informazioni sulla AWS::SQS::Queue risorsa e sulle sue proprietà disponibili, consulta AWS::SQS: :Queue nella Guida per l'utente.AWS CloudFormation

  • Una Events proprietà nella definizione della funzione Lambda che specifica la SQS coda Amazon come trigger per la funzione

    Events: LambdaIaCQueue: Type: SQS Properties: Queue: !GetAtt LambdaIaCQueue.Arn BatchSize: 1

    La proprietà Events è composta da un tipo di evento e da un insieme di proprietà che dipendono dal tipo. Per saperne di più sulle diverse configurazioni AWS servizi che puoi configurare per attivare una funzione Lambda e sulle proprietà che puoi impostare, consulta la AWS SAM Developer EventSourceGuide.

  • Una tabella DynamoDB con l'identificatore LambdaIaCTable

    LambdaIaCTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: id AttributeType: S BillingMode: PAY_PER_REQUEST KeySchema: - AttributeName: id KeyType: HASH StreamSpecification: StreamViewType: NEW_AND_OLD_IMAGES

    Quando aggiungi una tabella DynamoDB utilizzando Strumento per la creazione di applicazioni, puoi impostare le chiavi della tabella scegliendo Dettagli nella scheda della tabella DynamoDB e modificando i valori delle chiavi. Strumento per la creazione di applicazioni imposta i valori predefiniti anche per una serie di altre proprietà, tra cui BillingMode e StreamViewType.

    Per saperne di più su queste proprietà e altre proprietà che puoi aggiungere al tuo AWS SAM modello, consulta AWS: :DynamoDB: :Table nella Guida per l'utente.AWS CloudFormation

  • Una nuova IAM policy che autorizza la funzione a eseguire CRUD operazioni sulla tabella DynamoDB che hai aggiunto.

    Policies: ... - DynamoDBCrudPolicy: TableName: !Ref LambdaIaCTable

Il AWS SAM modello finale completo dovrebbe essere simile al seguente.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Specification template describing your function. Resources: LambdaIaCDemo: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 128 Timeout: 3 Handler: lambda_function.lambda_handler Runtime: python3.11 Architectures: - x86_64 EventInvokeConfig: MaximumEventAgeInSeconds: 21600 MaximumRetryAttempts: 2 EphemeralStorage: Size: 512 RuntimeManagementConfig: UpdateRuntimeOn: Auto SnapStart: ApplyOn: None PackageType: Zip Policies: - Statement: - Effect: Allow Action: - logs:CreateLogGroup Resource: arn:aws:logs:us-east-1:594035263019:* - Effect: Allow Action: - logs:CreateLogStream - logs:PutLogEvents Resource: - arn:aws:logs:us-east-1:594035263019:log-group:/aws/lambda/LambdaIaCDemo:* - DynamoDBCrudPolicy: TableName: !Ref LambdaIaCTable Events: LambdaIaCQueue: Type: SQS Properties: Queue: !GetAtt LambdaIaCQueue.Arn BatchSize: 1 Environment: Variables: LAMBDAIACTABLE_TABLE_NAME: !Ref LambdaIaCTable LAMBDAIACTABLE_TABLE_ARN: !GetAtt LambdaIaCTable.Arn LambdaIaCQueue: Type: AWS::SQS::Queue Properties: MessageRetentionPeriod: 345600 LambdaIaCTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: id AttributeType: S BillingMode: PAY_PER_REQUEST KeySchema: - AttributeName: id KeyType: HASH StreamSpecification: StreamViewType: NEW_AND_OLD_IMAGES

Implementa la tua applicazione serverless utilizzando AWS SAM (opzionale)

Se desideri utilizzare AWS SAM per distribuire un'applicazione serverless utilizzando il modello appena creato in Application Composer, devi prima installare il. AWS SAM CLI A tale scopo, segui le istruzioni riportate in Installazione di. AWS SAM CLI

Inoltre, prima di implementare l'applicazione devi aggiornare il codice della funzione che Strumento per la creazione di applicazioni ha salvato insieme al modello. Al momento, il file lambda_function.py salvato da Strumento per la creazione di applicazioni contiene solo il codice di base "Hello world" fornito da Lambda al momento della creazione della funzione.

Per aggiornare il codice della funzione, copia il codice seguente e incollalo nel file lambda_function.py che Strumento per la creazione di applicazioni ha salvato sul computer di compilazione locale. Hai specificato la directory in cui Strumento per la creazione di applicazioni deve salvare questo file quando hai attivato la modalità di sincronizzazione locale.

Questo codice accetta una coppia chiave-valore in un messaggio dalla SQS coda Amazon creata in Application Composer. Se sia la chiave sia il valore sono stringhe, il codice li utilizza per scrivere un elemento nella tabella DynamoDB definita nel modello.

import boto3 import os import json # define the DynamoDB table that Lambda will connect to tablename = os.environ['LAMBDAIACTABLE_TABLE_NAME'] # create the DynamoDB resource dynamo = boto3.client('dynamodb') def lambda_handler(event, context): # get the message out of the SQS event message = event['Records'][0]['body'] data = json.loads(message) # write event data to DDB table if check_message_format(data): key = next(iter(data)) value = data[key] dynamo.put_item( TableName=tablename, Item={ 'id': {'S': key}, 'Value': {'S': value} } ) else: raise ValueError("Input data not in the correct format") # check that the event object contains a single key value # pair that can be written to the database def check_message_format(message): if len(message) != 1: return False key, value = next(iter(message.items())) if not (isinstance(key, str) and isinstance(value, str)): return False else: return True
Implementazione dell'applicazione serverless

Per distribuire la tua applicazione utilizzando il AWS SAM CLI, esegui i seguenti passaggi. Affinché la funzione venga compilata e implementata correttamente, sul computer di compilazione e nel PATH deve essere installata la versione 3.11 di Python.

  1. Esegui il seguente comando dalla directory in cui Strumento per la creazione di applicazioni ha salvato i tuoi file template.yaml e lambda_function.py.

    sam build

    Questo comando raccoglie gli artefatti di compilazione per l'applicazione e li colloca nel formato e nella posizione corretti per l'implementazione.

  2. Per distribuire l'applicazione e creare le risorse Lambda, SQS Amazon e DynamoDB specificate nel modello, AWS SAM esegui il comando seguente.

    sam deploy --guided

    L'uso del --guided flag significa che ti AWS SAM verranno mostrate le istruzioni per guidarti nel processo di distribuzione. Per questa implementazione, accetta le opzioni predefinite premendo Invio.

Durante il processo di distribuzione, AWS SAM crea le seguenti risorse nel tuo: Account AWS

  • Una AWS CloudFormation pila denominata sam-app

  • Una funzione Lambda con il formato del nome sam-app-LambdaIaCDemo-99VXPpYQVv1M

  • Una SQS coda Amazon con il formato del nome sam-app-LambdaIaCQueue-xL87VeKsGiIo

  • Una tabella DynamoDB con il formato del nome sam-app-LambdaIaCTable-CN0S66C0VLNV

AWS SAM crea anche IAM i ruoli e le policy necessari in modo che la funzione Lambda possa leggere i messaggi dalla SQS coda Amazon ed eseguire CRUD operazioni sulla tabella DynamoDB.

Per saperne di più sull'utilizzo AWS SAM per la distribuzione di applicazioni serverless, consulta le risorse nella sezione. Passaggi successivi

Test dell'applicazione implementata (facoltativo)

Per confermare che la tua applicazione serverless sia stata distribuita correttamente, invia un messaggio alla tua SQS coda Amazon contenente una coppia chiave-valore e verifica che Lambda scriva un elemento nella tua tabella DynamoDB utilizzando questi valori.

Test dell'applicazione serverless
  1. Apri la pagina Queues della SQS console Amazon e seleziona la coda AWS SAM creata dal tuo modello. Il formato del nome è sam-app-LambdaIaCQueue-xL87VeKsGiIo.

  2. Scegli Invia e ricevi messaggi e incolla quanto segue JSON nel corpo del messaggio nella sezione Invia messaggio.

    { "myKey": "myValue" }
  3. Scegliere Invia messaggio.

    L'invio del messaggio alla coda farà sì che Lambda chiami la funzione tramite lo strumento di mappatura dell'origine degli eventi definito nel modello AWS SAM . Per verificare che Lambda abbia chiamato la funzione come previsto, verifica che alla tabella DynamoDB sia stato aggiunto un elemento.

  4. Apri la pagina Tabelle della console DynamoDB e scegli la tabella. Il formato del nome è sam-app-LambdaIaCTable-CN0S66C0VLNV.

  5. Scegli Explore table items (Esplora elementi della tabella). Nel riquadro Elementi restituiti, dovresti vedere un elemento con l'id myKey e il valore myValue.

Passaggi successivi

Per ulteriori informazioni sull'utilizzo di Application Composer con AWS SAM e AWS CloudFormation, inizia con Utilizzo di Application Composer con AWS CloudFormation e. AWS SAM

Per un tutorial guidato che utilizza la distribuzione AWS SAM di un'applicazione serverless progettata in Application Composer, ti consigliamo anche di seguire il Strumento AWS per la creazione di applicazioni tutorial del Serverless Patterns Workshop.AWS

AWS SAM fornisce un'interfaccia a riga di comando (CLI) che è possibile utilizzare con AWS SAM modelli e integrazioni di terze parti supportate per creare ed eseguire applicazioni serverless. Con AWS SAM CLI, puoi creare e distribuire la tua applicazione, eseguire test e debug locali, configurare pipeline CI/CD e altro ancora. Per ulteriori informazioni sull'utilizzo di AWS SAM CLI, consulta la Guida introduttiva per gli sviluppatori. AWS SAMAWS Serverless Application Model

Per informazioni su come distribuire un'applicazione serverless con un AWS SAM modello utilizzando la AWS CloudFormation console, inizia con Utilizzo della AWS CloudFormation console nella Guida per l'AWS CloudFormation utente.

Regioni che supportano l'integrazione Lambda con Strumento per la creazione di applicazioni

L'integrazione Lambda con Application Composer è supportata nei seguenti casi: Regioni AWS

  • Stati Uniti orientali (Virginia settentrionale)

  • Stati Uniti orientali (Ohio)

  • Stati Uniti occidentali (California settentrionale)

  • Stati Uniti occidentali (Oregon)

  • Africa (Città del Capo)

  • Asia Pacifico (Hong Kong)

  • Asia Pacific (Hyderabad)

  • Asia Pacifico (Giacarta)

  • Asia Pacifico (Melbourne)

  • Asia Pacifico (Mumbai)

  • Asia Pacific (Osaka)

  • Asia Pacific (Seul)

  • Asia Pacifico (Singapore)

  • Asia Pacifico (Sydney)

  • Asia Pacifico (Tokyo)

  • Canada (Centrale)

  • Europa (Francoforte)

  • Europa (Zurigo)

  • Europa (Irlanda)

  • Europe (London)

  • Europa (Stoccolma)

  • Medio Oriente () UAE