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 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 funzioni Lambda con runtime personalizzati in AWS SAM
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 CloudFormation Risorse generate per AWS SAM.
Sintassi
Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.
YAML
Type: AWS::Serverless::Function
Properties:
Architectures: List
AssumeRolePolicyDocument: JSON
AutoPublishAlias: String
AutoPublishAliasAllProperties: Boolean
AutoPublishCodeSha256: String
CodeSigningConfigArn: String
CodeUri: String | FunctionCode
DeadLetterQueue: Map | DeadLetterQueue
DeploymentPreference: DeploymentPreference
Description: String
Environment: Environment
EphemeralStorage: EphemeralStorage
EventInvokeConfig: EventInvokeConfiguration
Events: EventSource
FileSystemConfigs: List
FunctionName: String
FunctionUrlConfig: FunctionUrlConfig
Handler: String
ImageConfig: ImageConfig
ImageUri: String
InlineCode: String
KmsKeyArn: String
Layers: List
LoggingConfig: LoggingConfig
MemorySize: Integer
PackageType: String
PermissionsBoundary: String
Policies: String | List | Map
PropagateTags: Boolean
ProvisionedConcurrencyConfig: ProvisionedConcurrencyConfig
RecursiveLoop: String
ReservedConcurrentExecutions: Integer
Role: String
RolePath: String
Runtime: String
RuntimeManagementConfig: RuntimeManagementConfig
SnapStart: SnapStart
SourceKMSKeyArn: String
Tags: Map
Timeout: Integer
Tracing: String
VersionDescription: String
VpcConfig: VpcConfig
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 unaAWS::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 unaAWS::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à, vedere. Implementazione graduale di applicazioni serverless con AWS SAM
AWS SAM genera AWS::Lambda::Version e 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 CloudFormation Risorse generate per AWS SAM.
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::Version
viene 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
, oppureSnapStart
. -
Qualsiasi modifica che comporti un aggiornamento della
Code
proprietà, ad esempioCodeDict
ImageUri
, oInlineCode
.
Questa proprietà
AutoPublishAlias
deve essere definita.Se
AutoPublishCodeSha256
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 sostituito da un nuovo pacchetto di distribuzione con codice funzione Lambda aggiornato, ma laCodeUri
proprietà rimane invariata (al contrario del nuovo pacchetto di distribuzione caricato in una nuova posizione Amazon S3 eCodeUri
trasferito nella nuova posizione).Questo problema è contrassegnato da un AWS SAM modello con le seguenti caratteristiche:
L'
DeploymentPreference
oggetto è configurato per distribuzioni graduali (come descritto in) Implementazione graduale di applicazioni serverless con AWS SAMLa
AutoPublishAlias
proprietà è impostata e non cambia tra le distribuzioniLa
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 laVersion
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 del AWS::Lambda::CodeSigningConfigrisorsa, utilizzata per abilitare la firma del codice per questa funzione. Per ulteriori informazioni sulla firma del codice, vedereConfigura la firma del codice per la tua AWS SAM applicazione.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
CodeSigningConfigArn
proprietà di unaAWS::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 SAM CLI per caricare il file locale al momento della distribuzione. Per ulteriori informazioni, consulta Come AWS SAM vengono caricati i file locali al momento della distribuzione.
Se si utilizzano funzioni intrinseche nella
CodeUri
proprietà, non AWS SAM sarà in grado di 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 diCodeUri
o.AWS CloudFormation compatibilità: questa proprietà è simile alla
Code
proprietà di unaAWS::Lambda::Function
risorsa. Le proprietà annidate di Amazon S3 hanno nomi diversi. -
-
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 unaAWS::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, crea un AWS SAM AWS::CodeDeploy::ApplicationchiamatoServerlessDeploymentApplication
(uno per pila), un AWS::CodeDeploy::DeploymentGroupchiamato
, e un AWS::IAM::Rolechiamato<function-logical-id>
DeploymentGroupCodeDeployServiceRole
.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 con AWS SAM.
-
Description
-
Una descrizione della funzione.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Description
proprietà di unaAWS::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 unaAWS::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 unaAWS::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 un AWS::EFS::MountTargetresource, è inoltre necessario specificare un attributo di
DependsOn
risorsa per garantire che il target di montaggio venga creato o aggiornato prima della funzione.Tipo: Elenco
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FileSystemConfigs
proprietà di unaAWS::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 unaAWS::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 Function URLs nella AWS Lambda Developer Guide.
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 su
Zip
.PackageType
Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Handler
proprietà di unaAWS::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 unaAWS::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 su
Image
, 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 dueImageUri
è obbligatoria oppure è necessario creare l'applicazione conMetadata
le voci necessarie nel file AWS SAM modello. Per ulteriori informazioni, consulta Compilazione predefinita con AWS SAM.La creazione dell'applicazione con
Metadata
le voci necessarie ha la precedenza sulla creazione dell'applicazioneImageUri
, quindi se si specificano entrambe le vociImageUri
viene ignorata.Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ImageUri
proprietà del tipo diAWS::Lambda::Function
Code
dati. -
InlineCode
-
Il codice della funzione Lambda scritto direttamente nel modello. Questa proprietà si applica solo se è impostata su
Zip
, altrimenti viene ignorata.PackageType
Nota
Se la
PackageType
proprietà è impostata suZip
(impostazione predefinita),InlineCode
è richiesta una delleCodeUri
o.Tipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ZipFile
proprietà del tipo diAWS::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 di ciò
LayerVersion
ARNs che questa funzione dovrebbe usare. L'ordine specificato qui è l'ordine in cui verranno importati durante l'esecuzione della funzione Lambda. La versione è un ARN completo che include la versione o un riferimento a una LayerVersion risorsa. Ad esempio, un riferimento aLayerVersion
sarà!Ref MyLayer
mentre lo sarà un ARN completo, inclusa la versione.arn:aws:lambda:
region
:account-id
:layer:layer-name
:version
Tipo: Elenco
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Layers
proprietà di unaAWS::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
LoggingConfig
proprietà di unaAWS::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), alloraInlineCode
si applicaCodeUri
oImageUri
viene ignorata.2. Se questa proprietà è impostata su
Image
, vieneImageUri
applicata soloCodeUri
ed entrambe le proprietàInlineCode
vengono ignorate. L'archivio Amazon ECR necessario per archiviare l'immagine del contenitore della funzione può essere creato automaticamente dal AWS SAM CLI. Per ulteriori informazioni, vederesam deploy.Valori validi:
Zip
oImage
Tipo: Stringa
Required: No
Default:
Zip
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
PackageType
proprietà di unaAWS::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 unaAWS::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:
-
Il ARN di una politica AWS gestita o di una politica gestita dal cliente.
-
Il nome di una politica AWS gestita dall'elenco
seguente. -
Una politica IAM in linea formattata in YAML come mappa.
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 unaAWS::IAM::Role
risorsa. -
Indica se passare o meno i tag dalla
Tags
proprietà alle risorse AWS::Serverless::Function generate.True
Specificate 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
ProvisionedConcurrencyConfig
può 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 unaAWS::Lambda::Alias
risorsa. -
RecursiveLoop
-
Lo stato della configurazione di rilevamento ricorsivo del loop della funzione.
Quando questo valore è impostato su
Allow
e Lambda rileva che la funzione viene richiamata come parte di un ciclo ricorsivo, non esegue alcuna azione.Quando questo valore è impostato su
Terminate
e Lambda rileva che la funzione viene richiamata come parte di un ciclo ricorsivo, interrompe la chiamata della funzione e invia una notifica all'utente.Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà della risorsa.
RecursiveLoop
AWS::Lambda::Function
-
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 unaAWS::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 unaAWS::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 unaAWS::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'
provided
identificatore per questa proprietà, è possibile utilizzare l'attributoMetadata
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 funzioni Lambda con runtime personalizzati in AWS SAMTipo: Stringa
Required: Conditional
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Runtime
proprietà di unaAWS::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 unaAWS::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 unaAWS::Lambda::Function
risorsa. -
SourceKmsKeyArn
-
Rappresenta una chiave ARN KMS utilizzata per crittografare il codice della funzione ZIP del cliente.
Tipo: Stringa
Required: No
AWS CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SourceKmsKeyArn
proprietà di unAWS::Lambda::Function
Code
tipo di dati. -
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 unaAWS::Lambda::Function
risorsa. LaTags
proprietà in AWS SAM è costituita da coppie chiave-valore (mentre in AWS CloudFormation questa proprietà è costituita da un elenco diTag
oggetti). Inoltre, aggiunge AWS SAM automaticamente unlambda: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 unaAWS::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 sul campionamento è delegata ai servizi a valle.
Se specificato come
Active
oPassThrough
e laRole
proprietà non è impostata, AWS SAM aggiunge laarn: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 unaAWS::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 unaAWS::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 unaAWS::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 Ref
la 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::GetAtt
la 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 InlineCode
Layers
,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:::amzn-s3-demo-bucket
/*'
Events:
ApiEvent:
Type: Api
Properties:
Path: /path
Method: get
ImageConfig Esempio
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
Esempi di SnapStart
Esempio di una funzione Lambda SnapStart attivata per le versioni future:
TestFunc
Type: AWS::Serverless::Function
Properties:
...
SnapStart:
ApplyOn: PublishedVersions