AWS::Serverless::Function - 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à.

AWS::Serverless::Function

Crea una AWS Lambda funzione, un ruolo di esecuzione AWS Identity and Access Management (IAM) e mappature delle sorgenti degli eventi che attivano la funzione.

La AWS::Serverless::Function risorsa supporta anche l'attributo Metadata resource, quindi puoi indicare di AWS SAM creare runtime personalizzati richiesti dall'applicazione. Per ulteriori informazioni sulla creazione di runtime personalizzati, consulta. Creazione di runtime personalizzati

Nota

Quando esegui la distribuzione su AWS CloudFormation, AWS SAM trasforma le tue AWS SAM risorse in risorse. AWS CloudFormation Per ulteriori informazioni, consulta AWS CloudFormationRisorse generate.

Sintassi

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

Proprietà

Architectures

L'architettura del set di istruzioni per la funzione.

Per ulteriori informazioni su questa proprietà, consulta Architetture dei set di istruzioni Lambda nella Guida per gli sviluppatori.AWS Lambda

Valori validi: uno dei o x86_64 arm64

Tipo: Elenco

Required: No

Default: x86_64

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Architectures proprietà di una AWS::Lambda::Function risorsa.

AssumeRolePolicyDocument

Aggiunge un AssumeRolePolicyDocument valore predefinito creato Role per questa funzione. Se questa proprietà non è specificata, AWS SAM aggiunge un ruolo di assunzione predefinito per questa funzione.

Type: JSON

Required: No

AWS CloudFormation compatibilità: questa proprietà è simile alla AssumeRolePolicyDocument proprietà di una AWS::IAM::Role risorsa. AWS SAM aggiunge questa proprietà al ruolo IAM generato per questa funzione. Se per questa funzione viene fornito l'Amazon Resource Name (ARN) di un ruolo, questa proprietà non fa nulla.

AutoPublishAlias

Il nome dell'alias Lambda. Per ulteriori informazioni sugli alias Lambda, consulta Alias delle funzioni Lambda nella Developer Guide.AWS Lambda Per esempi che utilizzano questa proprietà, consulta. Implementazione graduale di applicazioni serverless

AWS SAM genera AWS::Lambda::Versione AWS::Lambda::Aliasrisorse quando questa proprietà è impostata. Per informazioni su questo scenario, vedereAutoPublishAlias la proprietà è specificata. Per informazioni generali sulle AWS CloudFormation risorse generate, vedereAWS CloudFormationRisorse generate.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

AutoPublishAliasAllProperties

Specifica quando ne AWS::Lambda::Versionviene creato uno nuovo. Quandotrue, viene creata una nuova versione Lambda quando viene modificata una proprietà della funzione Lambda. Quandofalse, viene creata una nuova versione Lambda solo quando viene modificata una delle seguenti proprietà:

  • Environment, MemorySize, oppure SnapStart.

  • Qualsiasi modifica che comporti un aggiornamento della Code proprietà, ad esempio CodeDictImageUri, oInlineCode.

Questa proprietà AutoPublishAlias deve essere definita.

Se AutoPublishSha256 viene specificato anche, il suo comportamento ha la precedenza suAutoPublishAliasAllProperties: true.

Tipo: Booleano

Required: No

Valore predefinito: false

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

AutoPublishCodeSha256

Se utilizzata, questa stringa funziona con il CodeUri valore per determinare se è necessario pubblicare una nuova versione di Lambda. Questa proprietà viene spesso utilizzata per risolvere il seguente problema di distribuzione: un pacchetto di distribuzione viene archiviato in una posizione Amazon S3 e viene sostituito da un nuovo pacchetto di distribuzione con codice funzione Lambda aggiornato, ma la CodeUri proprietà rimane invariata (al contrario del caricamento del nuovo pacchetto di distribuzione in una nuova posizione Amazon S3 e del passaggio alla CodeUri nuova posizione).

Questo problema è contrassegnato da un AWS SAM modello con le seguenti caratteristiche:

  • L'DeploymentPreferenceoggetto è configurato per distribuzioni graduali (come descritto in) Implementazione graduale di applicazioni serverless

  • La AutoPublishAlias proprietà è impostata e non cambia tra le distribuzioni

  • La CodeUri proprietà è impostata e non cambia tra le distribuzioni.

In questo scenario, l'aggiornamento AutoPublishCodeSha256 comporta la creazione corretta di una nuova versione Lambda. Tuttavia, il nuovo codice funzionale distribuito su Amazon S3 non verrà riconosciuto. Per riconoscere il nuovo codice funzionale, prendi in considerazione l'utilizzo del controllo delle versioni nel tuo bucket Amazon S3. Specificate la Version proprietà per la funzione Lambda e configurate il bucket per utilizzare sempre il pacchetto di distribuzione più recente.

In questo scenario, per attivare correttamente la distribuzione graduale, è necessario fornire un valore univoco per. AutoPublishCodeSha256

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

CodeSigningConfigArn

L'ARN della AWS::Lambda::CodeSigningConfigrisorsa, utilizzato per abilitare la firma del codice per questa funzione. Per ulteriori informazioni sulla firma del codice, vedereConfigurazione della firma del codice per le applicazioni AWS SAM.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla CodeSigningConfigArn proprietà di una AWS::Lambda::Function risorsa.

CodeUri

Il codice della funzione. I valori accettati includono:

  • L'URI della funzione è Amazon S3. Ad esempio, s3://bucket-123456789/sam-app/1234567890abcdefg.

  • Il percorso locale della funzione. Ad esempio, hello_world/.

  • Oggetto FunctionCode.

Nota

Se fornisci l'URI o l'FunctionCodeoggetto Amazon S3 di una funzione, devi fare riferimento a un pacchetto di distribuzione Lambda valido.

Se fornisci un percorso di file locale, usa il AWS SAMCLI per caricare il file locale al momento della distribuzione. Per ulteriori informazioni, consulta Utilizzo di AWS SAMCLI per caricare file locali durante la distribuzione.

Se si utilizzano funzioni intrinseche nella CodeUri proprietà, non AWS SAM sarà possibile analizzare correttamente i valori. Prendi invece in considerazione l'utilizzo di AWS::LanguageExtensions transform.

Tipo: [String |FunctionCode]

Obbligatorio: condizionale. Quando PackageType è impostato suZip, InlineCode è richiesto uno dei CodeUri o.

AWS CloudFormation compatibilità: questa proprietà è simile alla Code proprietà di una AWS::Lambda::Function risorsa. Le proprietà annidate di Amazon S3 sono denominate in modo diverso.

DeadLetterQueue

Configura un argomento Amazon Simple Notification Service (Amazon SNS) o una coda Amazon Simple Queue Service (Amazon SQS) in cui Lambda invia eventi che non può elaborare. Per ulteriori informazioni sulla funzionalità Dead-letter queue, consulta Dead-letter queues nella Developer Guide.AWS Lambda

Nota

Se l'origine degli eventi della tua funzione Lambda è una coda Amazon SQS, configura una coda di lettere non scritte per la coda di origine, non per la funzione Lambda. La coda di lettere morte configurata per una funzione viene utilizzata per la coda di invocazione asincrona della funzione, non per le code di origine degli eventi.

Tipo: Mappa | DeadLetterQueue

Required: No

AWS CloudFormation compatibilità: Questa proprietà è simile alla DeadLetterConfig proprietà di una AWS::Lambda::Function risorsa. AWS CloudFormation Nel tipo è derivato daTargetArn, mentre in è AWS SAM necessario passare il tipo insieme aTargetArn.

DeploymentPreference

Le impostazioni per abilitare le distribuzioni Lambda graduali.

Se viene specificato un DeploymentPreference oggetto, AWS SAM crea un AWS::CodeDeploy::Applicationchiamato ServerlessDeploymentApplication (uno per stack), un AWS::CodeDeploy::DeploymentGroupchiamato e un chiamato<function-logical-id>DeploymentGroup. AWS::IAM::RoleCodeDeployServiceRole

Tipo: DeploymentPreference

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Vedi anche: Per ulteriori informazioni su questa proprietà, vediImplementazione graduale di applicazioni serverless.

Description

Una descrizione della funzione.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Description proprietà di una AWS::Lambda::Function risorsa.

Environment

La configurazione per l'ambiente di runtime.

Type: Environment

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Environment proprietà di una AWS::Lambda::Function risorsa.

EphemeralStorage

Un oggetto che specifica lo spazio su disco, in MB, disponibile per la funzione Lambda in. /tmp

Per ulteriori informazioni su questa proprietà, consulta l'ambiente di esecuzione Lambda nella AWS Lambda Developer Guide.

Tipo: EphemeralStorage

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla EphemeralStorage proprietà di una AWS::Lambda::Function risorsa.

EventInvokeConfig

L'oggetto che descrive la configurazione Event Invoke su una funzione Lambda.

Tipo: EventInvokeConfiguration

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Events

Speciifica gli eventi che attivano questa funzione. Gli eventi sono costituiti da un tipo e da un insieme di proprietà che dipendono dal tipo.

Tipo: EventSource

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

FileSystemConfigs

Elenco di FileSystemConfigoggetti che specificano le impostazioni di connessione per un file system Amazon Elastic File System (Amazon EFS).

Se il modello contiene una AWS::EFS::MountTargetrisorsa, è necessario specificare anche un attributo di DependsOn risorsa per garantire che la destinazione di montaggio venga creata o aggiornata prima della funzione.

Tipo: Elenco

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla FileSystemConfigs proprietà di una AWS::Lambda::Function risorsa.

FunctionName

Nome per la funzione. Se non specifichi un nome, viene generato un nome univoco.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla FunctionName proprietà di una AWS::Lambda::Function risorsa.

FunctionUrlConfig

L'oggetto che descrive l'URL di una funzione. L'URL di una funzione è un endpoint HTTPS che puoi utilizzare per richiamare la tua funzione.

Per ulteriori informazioni, consulta gli URL delle funzioni nella Guida per gli AWS Lambda sviluppatori.

Tipo: FunctionUrlConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Handler

La funzione all'interno del codice che viene chiamata per iniziare l'esecuzione. Questa proprietà è richiesta solo se è impostata suZip. PackageType

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Handler proprietà di una AWS::Lambda::Function risorsa.

ImageConfig

L'oggetto utilizzato per configurare le impostazioni dell'immagine del contenitore Lambda. Per ulteriori informazioni, consulta Using container images with Lambda nella AWS Lambda Developer Guide.

Tipo: ImageConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla ImageConfig proprietà di una AWS::Lambda::Function risorsa.

ImageUri

L'URI del repository Amazon Elastic Container Registry (Amazon ECR) per l'immagine del contenitore della funzione Lambda. Questa proprietà si applica solo se è impostata suImage, altrimenti viene ignorata. PackageType Per ulteriori informazioni, consulta Using container images with Lambda nella AWS Lambda Developer Guide.

Nota

Se la PackageType proprietà è impostata suImage, allora una delle due ImageUri è obbligatoria oppure è necessario creare l'applicazione con Metadata le voci necessarie nel file AWS SAM modello. Per ulteriori informazioni, consulta Applicazioni edili.

La creazione dell'applicazione con Metadata le voci necessarie ha la precedenza sulla creazione dell'applicazioneImageUri, quindi se si specificano entrambe le voci ImageUri viene ignorata.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla ImageUri proprietà del tipo di AWS::Lambda::Function Code dati.

InlineCode

Il codice della funzione Lambda scritto direttamente nel modello. Questa proprietà si applica solo se è impostata suZip, altrimenti viene ignorata. PackageType

Nota

Se la PackageType proprietà è impostata su Zip (impostazione predefinita), InlineCode è richiesta una delle CodeUri o.

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla ZipFile proprietà del tipo di AWS::Lambda::Function Code dati.

KmsKeyArn

L'ARN di una chiave AWS Key Management Service (AWS KMS) utilizzata da Lambda per crittografare e decrittografare le variabili di ambiente della funzione.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà di una risorsa. KmsKeyArn AWS::Lambda::Function

Layers

L'elenco degli LayerVersion ARN che questa funzione dovrebbe utilizzare. L'ordine specificato qui è l'ordine in cui verranno importati durante l'esecuzione della funzione Lambda.

Tipo: Elenco

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Layers proprietà di una AWS::Lambda::Function risorsa.

LoggingConfig

Le impostazioni di configurazione Amazon CloudWatch Logs della funzione.

Tipo: LoggingConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla LoggingConfigproprietà di una AWS::Lambda::Function risorsa.

MemorySize

La dimensione della memoria in MB allocata per invocazione della funzione.

Tipo: integer

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla MemorySize proprietà di una risorsa. AWS::Lambda::Function

PackageType

Il tipo di pacchetto di distribuzione della funzione Lambda. Per ulteriori informazioni, consulta i pacchetti di distribuzione Lambda nella AWS Lambda Developer Guide.

Note:

1. Se questa proprietà è impostata su Zip (impostazione predefinita), allora InlineCode si applica CodeUri o ImageUri viene ignorata.

2. Se questa proprietà è impostata suImage, viene ImageUri applicata solo CodeUri ed entrambe le proprietà InlineCode vengono ignorate. Il repository Amazon ECR necessario per archiviare l'immagine del contenitore della funzione può essere creato automaticamente da. AWS SAMCLI Per ulteriori informazioni, consulta sam deploy.

Valori validi: Zip o Image

Tipo: stringa

Required: No

Default: Zip

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla PackageType proprietà di una AWS::Lambda::Function risorsa.

PermissionsBoundary

L'ARN di un limite di autorizzazioni da utilizzare per il ruolo di esecuzione di questa funzione. Questa proprietà funziona solo se il ruolo viene generato automaticamente.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla PermissionsBoundary proprietà di una AWS::IAM::Role risorsa.

Policies

Politiche di autorizzazione per questa funzione. Le politiche verranno aggiunte al ruolo di esecuzione predefinito AWS Identity and Access Management (IAM) della funzione.

Questa proprietà accetta un singolo valore o un elenco di valori. I valori autorizzati includono:

Nota

Se si imposta la Role proprietà, questa proprietà viene ignorata.

Tipo: Stringa | Elenco | Mappa

Required: No

AWS CloudFormation compatibilità: Questa proprietà è simile alla Policies proprietà di una AWS::IAM::Role risorsa.

PropagateTags

Indica se passare o meno i tag dalla Tags proprietà alle risorse AWS::Serverless::Function generate. TrueSpecificate di propagare i tag nelle risorse generate.

Tipo: Booleano

Required: No

Default: False

AWS CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

ProvisionedConcurrencyConfig

La configurazione simultanea fornita dell'alias di una funzione.

Nota

ProvisionedConcurrencyConfigpuò essere specificato solo se è impostato. AutoPublishAlias In caso contrario, si verifica un errore.

Tipo: ProvisionedConcurrencyConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla ProvisionedConcurrencyConfig proprietà di una AWS::Lambda::Alias risorsa.

ReservedConcurrentExecutions

Il numero massimo di esecuzioni simultanee che si desidera riservare per la funzione.

Per ulteriori informazioni su questa proprietà, consulta Lambda Function Scaling nella Developer Guide.AWS Lambda

Tipo: integer

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla ReservedConcurrentExecutions proprietà di una AWS::Lambda::Function risorsa.

Role

L'ARN di un ruolo IAM da utilizzare come ruolo di esecuzione di questa funzione.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà è simile alla Role proprietà di una AWS::Lambda::Function risorsa. È obbligatorio in AWS CloudFormation ma non in AWS SAM. Se non viene specificato un ruolo, ne viene creato uno con un ID logico di<function-logical-id>Role.

RolePath

Il percorso del ruolo di esecuzione IAM della funzione.

Usa questa proprietà quando il ruolo viene generato per te. Non utilizzare quando il ruolo è specificato con la Role proprietà.

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Path proprietà di una AWS::IAM::Role risorsa.

Runtime

L'identificatore del runtime della funzione. Questa proprietà è richiesta solo se la PackageType proprietà è impostata suZip.

Nota

Se si specifica l'providedidentificatore per questa proprietà, è possibile utilizzare l'attributo Metadata resource per indicare di AWS SAM creare il runtime personalizzato richiesto da questa funzione. Per ulteriori informazioni sulla creazione di runtime personalizzati, vedere. Creazione di runtime personalizzati

Tipo: stringa

Required: Conditional

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Runtime proprietà di una AWS::Lambda::Function risorsa.

RuntimeManagementConfig

Configura le opzioni di gestione del runtime per le funzioni Lambda, come gli aggiornamenti dell'ambiente di runtime, il comportamento di rollback e la selezione di una versione di runtime specifica. Per saperne di più, consulta gli aggiornamenti del runtime di Lambda nella AWS Lambda Developer Guide.

Tipo: RuntimeManagementConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla RuntimeManagementConfig proprietà di una AWS::Lambda::Function risorsa.

SnapStart

Crea un'istantanea di ogni nuova versione della funzione Lambda. Un'istantanea è uno stato memorizzato nella cache della funzione inizializzata, incluse tutte le sue dipendenze. La funzione viene inizializzata una sola volta e lo stato memorizzato nella cache viene riutilizzato per tutte le future chiamate, migliorando le prestazioni dell'applicazione riducendo il numero di volte in cui la funzione deve essere inizializzata. Per ulteriori informazioni, consulta Migliorare le prestazioni di avvio con Lambda SnapStart nella Guida per gli AWS Lambda sviluppatori.

Tipo: SnapStart

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla SnapStart proprietà di una AWS::Lambda::Function risorsa.

Tags

Una mappa (da stringa a stringa) che specifica i tag aggiunti a questa funzione. Per informazioni dettagliate sulle chiavi e i valori validi per i tag, consulta Tag Key and Value Requirements nella AWS Lambda Developer Guide.

Quando lo stack viene creato, aggiunge AWS SAM automaticamente un lambda:createdBy:SAM tag a questa funzione Lambda e ai ruoli predefiniti generati per questa funzione.

Tipo: Mappa

Required: No

AWS CloudFormation compatibilità: questa proprietà è simile alla Tags proprietà di una AWS::Lambda::Function risorsa. La Tags proprietà in AWS SAM è costituita da coppie chiave-valore (mentre in AWS CloudFormation questa proprietà è costituita da un elenco di Tag oggetti). Inoltre, aggiunge AWS SAM automaticamente un lambda:createdBy:SAM tag a questa funzione Lambda e ai ruoli predefiniti generati per questa funzione.

Timeout

Il tempo massimo in secondi in cui la funzione può essere eseguita prima che venga interrotta.

Tipo: integer

Required: No

Di default: 3

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Timeout proprietà di una AWS::Lambda::Function risorsa.

Tracing

La stringa che specifica la modalità di tracciamento X-Ray della funzione.

  • Active— Attiva il tracciamento a raggi X per la funzione.

  • Disabled— Disattiva X-Ray per la funzione.

  • PassThrough— Attiva il tracciamento a raggi X per la funzione. La decisione di campionamento è delegata ai servizi a valle.

Se specificato come Active o PassThrough e la Role proprietà non è impostata, AWS SAM aggiunge la arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess politica al ruolo di esecuzione Lambda che crea per te.

Per ulteriori informazioni su X-Ray, consulta Using AWS Lambda with AWS X-Ray nella AWS Lambda Developer Guide.

Valori validi: [Active| Disabled |PassThrough]

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà è simile alla TracingConfig proprietà di una AWS::Lambda::Function risorsa.

VersionDescription

Speciifica il Description campo che viene aggiunto alla nuova risorsa della versione Lambda.

Tipo: stringa

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla Description proprietà di una AWS::Lambda::Version risorsa.

VpcConfig

La configurazione che consente a questa funzione di accedere alle risorse private all'interno del tuo cloud privato virtuale (VPC).

Tipo: VpcConfig

Required: No

AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla VpcConfig proprietà di una AWS::Lambda::Function risorsa.

Valori restituiti

Ref

Quando l'ID logico di questa risorsa viene fornito alla funzione Ref intrinseca, restituisce il nome della risorsa della funzione Lambda sottostante.

Per ulteriori informazioni sull'uso della Ref funzione, consulta Refla Guida per l'AWS CloudFormation utente.

Fn:: GetAtt

Fn::GetAtt restituisce un valore per un attributo specificato di questo tipo. Di seguito sono riportati gli attributi disponibili e i valori restituiti di esempio.

Per ulteriori informazioni sull'utilizzoFn::GetAtt, consulta Fn::GetAttla Guida per l'AWS CloudFormation utente.

Arn

L'ARN della funzione Lambda sottostante.

Esempi

Funzione semplice

Di seguito è riportato un esempio di base di una AWS::Serverless::Function risorsa di tipo di pacchetto Zip (impostazione predefinita) e codice funzione in un bucket Amazon S3.

YAML

Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name

Esempio di proprietà delle funzioni

Di seguito è riportato un esempio di un tipo AWS::Serverless::Function di pacchetto Zip (impostazione predefinita) che utilizza InlineCodeLayers,Tracing,Policies,Amazon EFS, e un'origine di Api eventi.

YAML

Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::my-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get

ImageConfigesempio

Di seguito è riportato un esempio di una funzione ImageConfig for a Lambda di tipo pacchetto. Image

YAML

HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri: account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-name ImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"

RuntimeManagementConfig esempi

Una funzione Lambda configurata per aggiornare il suo ambiente di runtime in base al comportamento corrente:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto

Una funzione Lambda configurata per aggiornare il suo ambiente di runtime quando la funzione viene aggiornata:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate

Una funzione Lambda configurata per aggiornare manualmente il suo ambiente di runtime:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual

SnapStartesempi

Esempio di una funzione Lambda SnapStart attivata per le versioni future:

TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions