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: :Funzione
Crea una AWS Lambda funzione, un ruolo di esecuzione AWS Identity and Access Management (IAM) e mappature dell'origine degli eventi che attivano la funzione.
La AWS::Serverless: :Funzione risorsa supporta anche l'attributo Metadata resource, quindi puoi indicare la creazione AWS SAM di runtime personalizzati richiesti dall'applicazione. Per ulteriori informazioni sulla creazione di runtime personalizzati, vedere. Creazione di funzioni Lambda con runtime personalizzati in AWS SAM
Nota
Quando esegui la distribuzione a AWS CloudFormation, AWS SAM trasforma le tue AWS SAM risorse in risorse. CloudFormation Per ulteriori informazioni, consulta Generato CloudFormation risorse 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:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCapacityProviderConfig:CapacityProviderConfigCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringDurableConfig:DurableConfigEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionScalingConfig:FunctionScalingConfigFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPublishToLatestPublished:BooleanPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTenancyConfig:TenancyConfigTimeout:IntegerTracing:StringVersionDescription:StringVersionDeletionPolicy:StringVpcConfig:VpcConfig
Properties
-
Architectures -
L'architettura del set di istruzioni per la funzione.
Per ulteriori informazioni su questa proprietà, consulta le architetture dei set di istruzioni Lambda nella Developer Guide. AWS Lambda
Valori validi: uno tra o
x86_64arm64Tipo: elenco
Obbligatorio: no
Default:
x86_64CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Architecturesproprietà di unaAWS::Lambda::Functionrisorsa. -
AssumeRolePolicyDocument -
Aggiunge un AssumeRolePolicyDocument valore predefinito creato
Roleper questa funzione. Se questa proprietà non è specificata, AWS SAM aggiunge un ruolo di assunzione predefinito per questa funzione.Type: JSON
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
AssumeRolePolicyDocumentproprietà di unaAWS::IAM::Rolerisorsa. AWS SAM aggiunge questa proprietà al ruolo IAM generato per questa funzione. Se viene fornito Amazon Resource Name (ARN) di un ruolo per questa funzione, questa proprietà non fa nulla. -
AutoPublishAlias -
Il nome dell'alias Lambda. Per ulteriori informazioni sugli alias Lambda, consulta gli alias delle funzioni Lambda nella Developer Guide. AWS Lambda Per esempi che utilizzano questa proprietà, consulta. Implementazione graduale di applicazioni serverless con AWS SAM
AWS SAM genera AWS::Lambda::Version AWS::Lambda::Alias risorse quando questa proprietà è impostata. Per informazioni su questo scenario, vedereAutoPublishAlias la proprietà è specificata. Per informazioni generali sulle CloudFormation risorse generate, vedereGenerato CloudFormation risorse per AWS SAM.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
AutoPublishAliasAllProperties -
Specifica quando ne
AWS::Lambda::Versionviene creato uno nuovo. Quandotrue, viene creata una nuova versione Lambda quando viene modificata una proprietà nella 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
Codeproprietà, ad esempioCodeDict,ImageUri, oInlineCode.
Questa proprietà
AutoPublishAliasdeve essere definita.Se
AutoPublishCodeSha256viene anche specificato, il suo comportamento ha la precedenza suAutoPublishAliasAllProperties: true.Tipo: Booleano
Obbligatorio: no
Valore predefinito:
falseCloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
-
AutoPublishCodeSha256 -
Se utilizzata, questa stringa funziona con il
CodeUrivalore 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 laCodeUriproprietà rimane invariata (al contrario del nuovo pacchetto di distribuzione che viene caricato in una nuova posizione Amazon S3 e modificato nella nuova posizione).CodeUriQuesto problema è caratterizzato da un modello con le seguenti caratteristiche: AWS SAM
L'
DeploymentPreferenceoggetto è configurato per distribuzioni graduali (come descritto in) Implementazione graduale di applicazioni serverless con AWS SAMLa
AutoPublishAliasproprietà è impostata e non cambia tra le distribuzioniLa
CodeUriproprietà è impostata e non cambia tra le distribuzioni.
In questo scenario, l'aggiornamento
AutoPublishCodeSha256comporta la creazione di una nuova versione Lambda con successo. Tuttavia, il nuovo codice funzionale distribuito su Amazon S3 non verrà riconosciuto. Per riconoscere il nuovo codice funzionale, valuta la possibilità di utilizzare il controllo delle versioni nel bucket Amazon S3. Specifica laVersionproprietà per la tua funzione Lambda e configura il bucket in modo che utilizzi 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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
CapacityProviderConfig -
Configura il fornitore di capacità a cui verranno collegate le versioni pubblicate della funzione. Ciò consente alla funzione di essere eseguita su istanze EC2 di proprietà del cliente gestite da Lambda Managed Instances.
Tipo: CapacityProviderConfig
Obbligatorio: no
CloudFormation compatibilità: SAM appiattisce la proprietà passata alla proprietà di una risorsa e ricostruisce la
CapacityProviderConfigstruttura annidata.AWS::Lambda::Function -
CodeSigningConfigArn -
L'ARN della AWS::Lambda::CodeSigningConfig risorsa, utilizzato 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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
CodeSigningConfigArnproprietà di unaAWS::Lambda::Functionrisorsa. -
CodeUri -
Il codice della funzione. I valori accettati includono:
-
L'URI Amazon S3 della funzione. 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, utilizza il AWS SAMCLI 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 utilizzi funzioni intrinseche nella
CodeUriproprietà, non AWS SAM sarai in grado di analizzare correttamente i valori. Considera invece l'utilizzo di transform AWS::LanguageExtensions .Tipo: [String |FunctionCode]
Obbligatorio: condizionale. Quando
PackageTypeè impostato suZip, uno dei valoriCodeUrioInlineCodeè obbligatorio.CloudFormation compatibilità: questa proprietà è simile alla
Codeproprietà di unaAWS::Lambda::Functionrisorsa. 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à delle code per le lettere morte, consulta le code nella Developer Guide. Dead-letter AWS Lambda
Nota
Se l'origine degli eventi della tua funzione Lambda è una coda Amazon SQS, configura una coda di lettere morte 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. https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
Tipo: Mappa | DeadLetterQueue
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
DeadLetterConfigproprietà di unaAWS::Lambda::Functionrisorsa. CloudFormation Nel tipo è derivato daTargetArn, mentre in è AWS SAM necessario passare il tipo insieme aTargetArn. -
DeploymentPreference -
Le impostazioni per abilitare le distribuzioni graduali di Lambda.
Se viene specificato un
DeploymentPreferenceoggetto, ne AWS SAM crea un AWS::CodeDeploy::Application chiamatoServerlessDeploymentApplication(uno per stack), un AWS::CodeDeploy::DeploymentGroup chiamato e un chiamato. AWS::IAM::Role<function-logical-id>DeploymentGroupCodeDeployServiceRoleTipo: DeploymentPreference
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
Vedi anche: Per ulteriori informazioni su questa proprietà, vedereImplementazione graduale di applicazioni serverless con AWS SAM.
-
Description -
Una descrizione della funzione.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Descriptionproprietà di unaAWS::Lambda::Functionrisorsa. -
DurableConfig -
Configurazione per funzioni durevoli. Consente l'esecuzione stateful con funzionalità di checkpoint e replay automatici.
Tipo: DurableConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation
-
Environment -
La configurazione per l'ambiente di runtime.
Type: Environment
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Environmentproprietà di unaAWS::Lambda::Functionrisorsa. -
EphemeralStorage -
Un oggetto che specifica lo spazio su disco, in MB, disponibile per la funzione Lambda in.
/tmpPer ulteriori informazioni su questa proprietà, consulta l'ambiente di esecuzione Lambda nella Developer Guide. AWS Lambda
Tipo: EphemeralStorage
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
EphemeralStorageproprietà di unaAWS::Lambda::Functionrisorsa. -
EventInvokeConfig -
L'oggetto che descrive la configurazione degli invocazioni di eventi su una funzione Lambda.
Tipo: EventInvokeConfiguration
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
Events -
Specifica 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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
FileSystemConfigs -
Elenco di FileSystemConfig oggetti che specificano le impostazioni di connessione per un file system Amazon Elastic File System (Amazon EFS) o un file system Amazon S3 Files. Puoi collegare un punto di accesso Amazon EFS o un punto di accesso S3 Files, ma non entrambi.
Ogni
FileSystemConfigoggetto contiene unArn(l'ARN del punto di accesso) e unLocalMountPath(il percorso in cui il file system è montato nella funzione). Per Amazon EFS, l'ARN è un punto di accesso ARN di Amazon EFS. Per i file S3, l'ARN è un ARN.AWS::S3Files::AccessPointSe il modello contiene una AWS::EFS::MountTarget risorsa, è necessario specificare anche un attributo di
DependsOnrisorsa per garantire che il target di montaggio venga creato o aggiornato prima della funzione. Analogamente, se il modello contiene unaAWS::S3Files::MountTargetrisorsa, è necessario specificare unDependsOnattributo per la destinazione di montaggio dei file S3.Tipo: elenco
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FileSystemConfigsproprietà di unaAWS::Lambda::Functionrisorsa. -
FunctionName -
Nome per la funzione. Se non specifichi un nome, viene generato un nome univoco per te.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FunctionNameproprietà di unaAWS::Lambda::Functionrisorsa. -
FunctionScalingConfig -
Configura il comportamento di ridimensionamento per le funzioni Lambda in esecuzione su fornitori di capacità. Definisce il numero minimo e massimo di ambienti di esecuzione.
Tipo: FunctionScalingConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FunctionScalingConfigproprietà di unaAWS::Lambda::Functionrisorsa. -
FunctionUrlConfig -
L'oggetto che descrive l'URL di una funzione. L'URL di una funzione è un endpoint HTTPS che puoi usare per richiamare la tua funzione.
Per ulteriori informazioni, consulta URL delle funzioni nella Guida per gli AWS Lambda sviluppatori.
Tipo: FunctionUrlConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
Handler -
La funzione all'interno del codice che viene chiamata per iniziare l'esecuzione. Questa proprietà è obbligatoria solo se è impostata su
Zip.PackageType▬Tipo: stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Handlerproprietà di unaAWS::Lambda::Functionrisorsa. -
ImageConfig -
L'oggetto utilizzato per configurare le impostazioni dell'immagine del contenitore Lambda. Per ulteriori informazioni, consulta Usare le immagini dei container con Lambda nella AWS Lambda Developer Guide.
Tipo: ImageConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ImageConfigproprietà di unaAWS::Lambda::Functionrisorsa. -
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.PackageTypePer ulteriori informazioni, consulta Usare le immagini dei contenitori con Lambda nella AWS Lambda Developer Guide.Nota
Se la
PackageTypeproprietà è impostata suImage,ImageUriè obbligatoria oppure è necessario creare l'applicazione conMetadatale voci necessarie nel file AWS SAM modello. Per ulteriori informazioni, consulta Compilazione predefinita con AWS SAM.La compilazione dell'applicazione con
Metadatale voci necessarie ha la precedenza suImageUri, quindi se si specificano entrambe le vociImageUriviene ignorata.▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ImageUriproprietà del tipo diAWS::Lambda::FunctionCodedati. -
InlineCode -
Il codice della funzione Lambda scritto direttamente nel modello. Questa proprietà si applica solo se è impostata su
Zip, altrimenti viene ignorata.PackageTypeNota
Se la
PackageTypeproprietà è impostata suZip(impostazione predefinita),InlineCodeè richiesto uno dei valoriCodeUrio.▬Tipo: stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ZipFileproprietà del tipo diAWS::Lambda::FunctionCodedati. -
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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà di una risorsa.
KmsKeyArnAWS::Lambda::Function -
Layers -
L'elenco degli
LayerVersionARN 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 a aLayerVersionsarà!Ref MyLayermentre lo sarà un ARN completo che include la versione.arn:aws:lambda:region:account-id:layer:layer-name:versionTipo: elenco
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Layersproprietà di unaAWS::Lambda::Functionrisorsa. -
LoggingConfig -
Le impostazioni di configurazione di Amazon CloudWatch Logs della funzione.
Tipo: LoggingConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
LoggingConfigproprietà di unaAWS::Lambda::Functionrisorsa. -
MemorySize -
La dimensione della memoria in MB allocata per chiamata della funzione.
Tipo: integer
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
MemorySizeproprietà 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 Developer Guide. AWS Lambda
Note:
1. Se questa proprietà è impostata su
Zip(impostazione predefinita), alloraCodeUrioInlineCodesi applica eImageUriviene ignorata.2. Se questa proprietà è impostata su
Image, siImageUriapplica soloCodeUried entrambeInlineCodevengono 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:
ZipoImage▬Tipo: stringa
Obbligatorio: no
Default:
ZipCloudFormation compatibilità: questa proprietà viene passata direttamente alla
PackageTypeproprietà di unaAWS::Lambda::Functionrisorsa. -
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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
PermissionsBoundaryproprietà di unaAWS::IAM::Rolerisorsa. -
Policies -
Politiche di autorizzazione per questa funzione. Le policy 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:
-
ARNAppartiene AWS a una politica gestita o a una politica gestita dal cliente.
-
Il nome di una politica AWS gestita dall'elenco seguente
. -
Una policy IAM in linea formattata YAML come mappa.
Nota
Se imposti la
Roleproprietà, questa proprietà viene ignorata.Tipo: Stringa | Elenco | Mappa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
Policiesproprietà di unaAWS::IAM::Rolerisorsa. -
PublishToLatestPublished -
Specifica se pubblicare la versione più recente della funzione quando la funzione viene aggiornata.
Tipo: Booleano
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
PublishToLatestPublishedproprietà di unaAWS::Lambda::Functionrisorsa. -
Indica se passare o meno i tag dalla
Tagsproprietà alle risorse AWS::Serverless::Function generate. SpecificaTruedi propagare i tag nelle risorse generate.Tipo: Booleano
Obbligatorio: no
Default:
FalseCloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
ProvisionedConcurrencyConfig -
La configurazione di concorrenza predisposta per l'alias di una funzione.
Nota
ProvisionedConcurrencyConfigpuò essere specificato solo se è impostato.AutoPublishAliasIn caso contrario, si verifica un errore.Tipo: ProvisionedConcurrencyConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ProvisionedConcurrencyConfigproprietà di unaAWS::Lambda::Aliasrisorsa. -
RecursiveLoop -
Lo stato della configurazione di rilevamento del ciclo ricorsivo della funzione.
Quando questo valore è impostato su
Allowe Lambda rileva che la funzione viene richiamata come parte di un ciclo ricorsivo, non esegue alcuna azione.Quando questo valore è impostato su
Terminatee Lambda rileva che la funzione viene richiamata come parte di un ciclo ricorsivo, interrompe il richiamo della funzione e invia una notifica all'utente.▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà della risorsa.
RecursiveLoopAWS::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
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ReservedConcurrentExecutionsproprietà di unaAWS::Lambda::Functionrisorsa. -
Role -
L'ARN di un ruolo IAM da utilizzare come ruolo di esecuzione di questa funzione.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
Roleproprietà di unaAWS::Lambda::Functionrisorsa. Questo è obbligatorio 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
Roleproprietà.▬Tipo: stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Pathproprietà di unaAWS::IAM::Rolerisorsa. -
Runtime -
L'identificatore del runtime della funzione. Questa proprietà è obbligatoria solo se la
PackageTypeproprietà è impostata suZip.Nota
Se si specifica l'
providedidentificatore di questa proprietà, è possibile utilizzare l'attributoMetadataresource to istruition AWS SAM per 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 SAM▬Tipo: stringa
Required: Conditional
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Runtimeproprietà di unaAWS::Lambda::Functionrisorsa. -
RuntimeManagementConfig -
Configura le opzioni di gestione del runtime per le tue 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 Lambda nella Developer Guide. AWS Lambda
Tipo: RuntimeManagementConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
RuntimeManagementConfigproprietà di unaAWS::Lambda::Functionrisorsa. -
SnapStart -
Crea un'istantanea di qualsiasi 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 chiamate future, migliorando le prestazioni dell'applicazione riducendo il numero di volte in cui la funzione deve essere inizializzata. Per saperne di più, consulta Migliorare le prestazioni di avvio con Lambda nella Developer Guide. SnapStart AWS Lambda
Tipo: SnapStart
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SnapStartproprietà di unaAWS::Lambda::Functionrisorsa. -
SourceKMSKeyArn -
Rappresenta una chiave ARN KMS utilizzata per crittografare il codice funzionale ZIP del cliente.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SourceKMSKeyArnproprietà di unAWS::Lambda::FunctionCodetipo di dati. -
Una mappa (da stringa a stringa) che specifica i tag aggiunti a questa funzione. Per informazioni dettagliate sulle chiavi e sui valori validi per i tag, consulta Requisiti relativi alle chiavi e ai valori dei tag nella Guida per gli AWS Lambda sviluppatori.
Quando lo stack viene creato, aggiunge AWS SAM automaticamente un
lambda:createdBy:SAMtag a questa funzione Lambda e ai ruoli predefiniti generati per questa funzione.Tipo: Mappa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
Tagsproprietà di unaAWS::Lambda::Functionrisorsa. LaTagsproprietà in AWS SAM è costituita da coppie chiave-valore (mentre in CloudFormation questa proprietà è costituita da un elenco diTagoggetti). Inoltre, aggiunge AWS SAM automaticamente unlambda:createdBy:SAMtag a questa funzione Lambda e ai ruoli predefiniti generati per questa funzione. -
TenancyConfig -
Configurazione per la modalità di isolamento dei tenant Lambda. Assicura che gli ambienti di esecuzione non siano mai condivisi tra diversi ID tenant, fornendo isolamento a livello di calcolo per le applicazioni multi-tenant.
Tipo: TenancyConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà di una risorsa.
TenancyConfigAWS::Lambda::Function -
Timeout -
Il tempo massimo in secondi che la funzione può essere eseguita prima di essere interrotta.
Tipo: integer
Obbligatorio: no
Di default: 3
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Timeoutproprietà di unaAWS::Lambda::Functionrisorsa. -
Tracing -
La stringa che specifica la modalità di X-Ray tracciamento della funzione.
-
Active— Attiva il X-Ray tracciamento della funzione. -
Disabled— Si disattiva X-Ray per la funzione. -
PassThrough— Attiva il X-Ray tracciamento della funzione. La decisione di campionamento è delegata ai servizi a valle.
Se specificato come
ActiveoPassThroughe laRoleproprietà non è impostata, AWS SAM aggiunge laarn:aws:iam::aws:policy/AWSXrayWriteOnlyAccesspolicy al ruolo di esecuzione Lambda che crea per te.Per ulteriori informazioni X-Ray, consulta Using AWS Lambda with AWS X-Ray nella AWS Lambda Developer Guide.
Valori validi: [
Active|Disabled|PassThrough]▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è simile alla
TracingConfigproprietà di unaAWS::Lambda::Functionrisorsa. -
-
VersionDescription -
Specifica il
Descriptioncampo che viene aggiunto alla nuova risorsa della versione Lambda.▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Descriptionproprietà di unaAWS::Lambda::Versionrisorsa. -
VersionDeletionPolicy -
Specifica la politica di eliminazione per la risorsa della versione Lambda creata quando
AutoPublishAliasè impostata. Questo controlla se la risorsa della versione viene mantenuta o eliminata quando lo stack viene eliminato.Valori validi:
Delete,RetainoSnapshot▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente. Imposta l'
DeletionPolicyattributo sullaAWS::Lambda::Versionrisorsa generata. -
VpcConfig -
La configurazione che consente a questa funzione di accedere alle risorse private all'interno del cloud privato virtuale (VPC).
Tipo: VpcConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
VpcConfigproprietà di unaAWS::Lambda::Functionrisorsa.
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, vedere 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'usoFn::GetAtt, consultare Fn::GetAtt la Guida per l'AWS CloudFormation utente.
Arn-
L'ARN della funzione Lambda sottostante.
Esempi
Funzione semplice
Quello che segue è un esempio di base di una AWS::Serverless: :Funzione risorsa di tipo di pacchetto Zip (predefinito) e codice funzionale 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à della funzione
Di seguito è riportato un esempio di un tipo AWS::Serverless: :Funzione di pacchetto Zip (predefinito) che utilizzaInlineCode,Layers,Tracing,Policies, un Amazon EFS file system e una fonte 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:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfig esempio
Di seguito è riportato un esempio di una ImageConfig funzione 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-nameImageConfig: 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
SnapStart esempi
Esempio di una funzione Lambda SnapStart attivata per le versioni future:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions
TenancyConfig esempi
Esempio di una funzione Lambda con la modalità di isolamento dei tenant attivata:
TestFunction Type: AWS::Serverless::Function Properties: ... TenancyConfig: TenantIsolationMode: PER_TENANT
Esempio di file system S3 Files
L'esempio seguente crea una funzione Lambda che monta un file system Amazon S3 Files. Il modello crea un bucket S3, un file system S3 Files supportato da quel bucket, una destinazione di montaggio in una sottorete VPC e un punto di accesso. La funzione monta il punto di accesso /mnt/s3files e può leggere e scrivere file che si sincronizzano con il bucket S3.
Nota
Puoi collegare un file system Amazon EFS o un file system S3 Files a una funzione Lambda, ma non entrambi contemporaneamente.
YAML
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: Lambda function with S3 Files file system Resources: # VPC and networking MyVpc: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 EnableDnsSupport: true EnableDnsHostnames: true MySubnet: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVpc CidrBlock: 10.0.1.0/24 AvailabilityZone: !Select [0, !GetAZs ''] MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Security group for Lambda and S3 Files VpcId: !Ref MyVpc SecurityGroupIngress: - IpProtocol: tcp FromPort: 2049 ToPort: 2049 CidrIp: 10.0.0.0/16 # S3 bucket for file storage MyS3Bucket: Type: AWS::S3::Bucket # IAM role for S3 Files to access the bucket S3FilesRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: elasticfilesystem.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: S3FilesBucketAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:PutObject - s3:DeleteObject - s3:ListBucket Resource: - !GetAtt MyS3Bucket.Arn - !Sub '${MyS3Bucket.Arn}/*' # S3 Files resources MyS3FilesFileSystem: Type: AWS::S3Files::FileSystem Properties: Bucket: !GetAtt MyS3Bucket.Arn RoleArn: !GetAtt S3FilesRole.Arn MyS3FilesMountTarget: Type: AWS::S3Files::MountTarget Properties: FileSystemId: !Ref MyS3FilesFileSystem SubnetId: !Ref MySubnet SecurityGroups: - !Ref MySecurityGroup MyS3FilesAccessPoint: Type: AWS::S3Files::AccessPoint Properties: FileSystemId: !Ref MyS3FilesFileSystem PosixUser: Uid: '1000' Gid: '1000' RootDirectory: Path: /lambda CreationInfo: OwnerUid: '1000' OwnerGid: '1000' Permissions: '750' # Lambda function with S3 Files mount MyFunction: Type: AWS::Serverless::Function DependsOn: MyS3FilesMountTarget Properties: Handler: index.handler Runtime: python3.12 Timeout: 120 VpcConfig: SecurityGroupIds: - !Ref MySecurityGroup SubnetIds: - !Ref MySubnet FileSystemConfigs: - Arn: !GetAtt MyS3FilesAccessPoint.AccessPointArn LocalMountPath: /mnt/s3files Policies: - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3files:ClientMount - s3files:ClientWrite Resource: !GetAtt MyS3FilesAccessPoint.AccessPointArn InlineCode: | import os def handler(event, context): # Write a file to the S3 Files mount with open('/mnt/s3files/hello.txt', 'w') as f: f.write('Hello from Lambda!') # List files at the mount path files = os.listdir('/mnt/s3files') return {'files': files}