As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS::Serverless::Function
Cria uma AWS Lambda função, uma função de execução AWS Identity and Access Management (IAM) e mapeamentos de origem de eventos que acionam a função.
O AWS::Serverless::Function recurso também oferece suporte ao atributo Metadata resource, para que você possa AWS SAM instruir a criar tempos de execução personalizados que seu aplicativo exija. Para obter mais informações sobre a criação de tempos de execução personalizados, consulte Como criar funções do Lambda com runtimes personalizados no AWS SAM.
nota
Quando você implanta AWS CloudFormation, AWS SAM transforma seus AWS SAM recursos em CloudFormation recursos. Para obter mais informações, consulte Recursos gerados do CloudFormation para o AWS SAM.
Sintaxe
Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.
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
Propriedades
-
Architectures -
A arquitetura do conjunto de instruções para a função.
Para obter mais informações sobre esta propriedade, consulte Arquiteturas de conjuntos de instruções do Lambda no AWS Lambda Guia do desenvolvedor.
Valores válidos: Um de
x86_64ouarm64.Tipo: lista
Obrigatório: não
Padrão:
x86_64CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Architecturespropriedade de umAWS::Lambda::Functionrecurso. -
AssumeRolePolicyDocument -
Adiciona um AssumeRolePolicyDocument para o padrão criado
Rolepara essa função. Se essa propriedade não for especificada, AWS SAM adicionará uma função assume padrão para essa função.Type: JSON
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
AssumeRolePolicyDocumentpropriedade de umAWS::IAM::Rolerecurso. AWS SAM adiciona essa propriedade à função IAM gerada para essa função. Se o nome de recurso da Amazon (ARN) de um perfil é fornecido para essa função, essa propriedade não faz nada. -
AutoPublishAlias -
O nome do alias do Lambda. Para obter mais informações sobre aliases do Lambda, consulte Aliases de funções do Lambda no AWS Lambda Guia do desenvolvedor. Para obter exemplos que usam essa propriedade, consulte Implantação gradual de aplicações sem servidor com o AWS SAM.
AWS SAM gera AWS::Lambda::Versione fornece AWS::Lambda::Aliasrecursos quando essa propriedade é definida. Para obter informações sobre esse cenário, consulte A propriedade AutoPublishAlias é especificada. Para obter informações gerais sobre CloudFormation os recursos gerados, consulteRecursos gerados do CloudFormation para o AWS SAM.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
AutoPublishAliasAllProperties -
Especifica quando um novo
AWS::Lambda::Versioné criado. Quandotrue, uma nova versão do Lambda é criada quando qualquer propriedade na função do Lambda é modificada. Quandofalse, uma nova versão do Lambda é criada somente quando qualquer uma das seguintes propriedades é modificada:-
Environment,MemorySize, ouSnapStart. -
Qualquer alteração que resulte em uma atualização da propriedade
Code, comoCodeDict,ImageUri, ouInlineCode.
Essa propriedade precisa do
AutoPublishAliaspara ser definida.Se
AutoPublishCodeSha256também for especificado, seu comportamento terá precedência sobreAutoPublishAliasAllProperties: true.Tipo: booliano
Obrigatório: não
Valor padrão:
falseCloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
-
AutoPublishCodeSha256 -
Quando usada, essa string trabalha com o valor
CodeUripara determinar se uma nova versão do Lambda precisa ser publicada. Essa propriedade muitas vezes é usada para resolver o seguinte problema de implantação: um pacote de implantação está armazenado em um local do Amazon S3 e é substituído por um novo pacote de implantação que contém o código de função do Lambda atualizado, mas a propriedadeCodeUripermanece inalterada (ao contrário do novo pacote de implantação que está sendo carregado em um novo local do Amazon S3 e oCodeUrisendo transferido para o novo local).Esse problema é marcado por um AWS SAM modelo com as seguintes características:
O objeto
DeploymentPreferenceestá configurado para implantações graduais (conforme descrito em Implantação gradual de aplicações sem servidor com o AWS SAM)A propriedade
AutoPublishAliasestá definida e não muda entre as implantaçõesA propriedade
CodeUriestá definida e não muda entre as implantações.
Nesse cenário, a atualização do
AutoPublishCodeSha256resulta na criação bem-sucedida de uma nova versão do Lambda. No entanto, o novo código de função implantado no Amazon S3 não será reconhecido. Para reconhecer o novo código de função, considere usar o controle de versionamento em seu bucket do Amazon S3. Especifique a propriedadeVersionda sua função do Lambda e configure seu bucket para sempre usar o pacote de implantação mais recente.Nesse cenário, para acionar a implantação gradual com êxito, você deve fornecer um valor exclusivo para
AutoPublishCodeSha256.Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
CapacityProviderConfig -
Configura o provedor de capacidade ao qual as versões publicadas da função serão anexadas. Isso permite que a função seja executada em instâncias de propriedade do cliente EC2 gerenciadas pelas Instâncias Gerenciadas Lambda.
Digite: CapacityProviderConfig
Obrigatório: não
CloudFormation compatibilidade: o SAM nivela a propriedade passada para a
CapacityProviderConfigpropriedade de umAWS::Lambda::Functionrecurso e reconstrói a estrutura aninhada. -
CodeSigningConfigArn -
O ARN do recurso AWS::Lambda::CodeSigningConfig, usado para habilitar a assinatura de código para essa função. Para obter mais informações sobre assinatura de código, consulte Configurar a assinatura de código para a aplicação do AWS SAM.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
CodeSigningConfigArnpropriedade de umAWS::Lambda::Functionrecurso. -
CodeUri -
O código da função. Os valores aceitos são:
-
O URI do Amazon S3 da função. Por exemplo,
s3://bucket-123456789/sam-app/1234567890abcdefg. -
O caminho local para a função. Por exemplo,
hello_world/. -
Um objeto FunctionCode.
nota
Se você fornecer o URI ou objeto FunctionCode do Amazon S3 de uma função, deverá fazer referência a um pacote de implantação do Lambda válido.
Se você fornecer um caminho de arquivo local, use o AWS SAMCLI para carregar o arquivo local na implantação. Para saber mais, consulte Como o AWS SAM faz upload de arquivos locais na implantação.
Se você usar funções intrínsecas na
CodeUripropriedade, não AWS SAM será capaz de analisar corretamente os valores. Em vez disso, considere usar a transformação de AWS::Language extensões.Tipo: [ String | FunctionCode ]
Obrigatório: condicional. Quando
PackageTypeestá definido comoZip, um dosCodeUriouInlineCodeé obrigatório.CloudFormation compatibilidade: essa propriedade é semelhante à
Codepropriedade de umAWS::Lambda::Functionrecurso. As propriedades aninhadas do Amazon S3 têm nomes diferentes. -
-
DeadLetterQueue -
Configura um tópico do Amazon Simple Notification Service (Amazon SNS) ou uma fila do Amazon Simple Queue Service (Amazon SQS) em que o Lambda envia eventos que não são processados. Para obter mais informações sobre a funcionalidade de fila de mensagens não entregues, consulte Filas de mensagens não entregues de AWS Lambda função no Guia do desenvolvedor.
nota
Se a origem do evento da função do Lambda for uma fila do Amazon SQS, configure uma fila de mensagens não entregues para a fila de origem, não para a função do Lambda. A fila de mensagens não entregues que você configura para uma função é usada para a fila de invocação assíncrona da função, e não para filas de origem de evento.
Tipo: Mapa | DeadLetterQueue
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
DeadLetterConfigpropriedade de umAWS::Lambda::Functionrecurso. CloudFormation No tipo é derivado doTargetArn, enquanto em AWS SAM você deve passar o tipo junto comTargetArno. -
DeploymentPreference -
As configurações para permitir implantações graduais do Lambda.
Se um
DeploymentPreferenceobjeto for especificado, AWS SAM cria um AWS::CodeDeploy::ApplicationchamadoServerlessDeploymentApplication(um por pilha), um AWS::CodeDeploy::DeploymentGroupchamadoe um AWS::IAM::Rolechamado<function-logical-id>DeploymentGroupCodeDeployServiceRole.Digite: DeploymentPreference
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
Consulte, também: Para obter mais informações sobre essa propriedade, consulte Implantação gradual de aplicações sem servidor com o AWS SAM.
-
Description -
Uma descrição da função.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Descriptionpropriedade de umAWS::Lambda::Functionrecurso. -
DurableConfig -
Configuração para funções duráveis. Permite a execução em estado com recursos automáticos de verificação e repetição.
Digite: DurableConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
Environment -
A configuração para o ambiente de runtime.
Type: Environment
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Environmentpropriedade de umAWS::Lambda::Functionrecurso. -
EphemeralStorage -
Um objeto que especifica o espaço em disco, em MB, disponível para sua função do Lambda no
/tmp.Para obter mais informações sobre essa propriedade, consulte Ambiente de execução do AWS Lambda Lambda no Guia do desenvolvedor.
Digite: EphemeralStorage
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
EphemeralStoragepropriedade de umAWS::Lambda::Functionrecurso. -
EventInvokeConfig -
O objeto que descreve a configuração de invocação de eventos em uma função do Lambda.
Digite: EventInvokeConfiguration
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
Events -
Especifica os eventos que acionam essa função. Os eventos consistem de um tipo e um conjunto de propriedades que dependem desse tipo.
Digite: EventSource
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
FileSystemConfigs -
Lista de FileSystemConfigobjetos que especificam as configurações de conexão para um sistema de arquivos do Amazon Elastic File System (Amazon EFS).
Se o seu modelo contiver um AWS::EFS::MountTarget recurso, você também deverá especificar um
DependsOnatributo de recurso para garantir que o ponto de acesso NFS seja criado ou atualizado antes da função.Tipo: lista
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FileSystemConfigspropriedade de umAWS::Lambda::Functionrecurso. -
FunctionName -
Um nome para a função. Se você não especificar um nome, um nome exclusivo é gerado para você.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FunctionNamepropriedade de umAWS::Lambda::Functionrecurso. -
FunctionScalingConfig -
Configura o comportamento de escalabilidade das funções Lambda executadas em provedores de capacidade. Define o número mínimo e máximo de ambientes de execução.
Digite: FunctionScalingConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FunctionScalingConfigpropriedade de umAWS::Lambda::Functionrecurso. -
FunctionUrlConfig -
O objeto que descreve o URL da função. O URL da função é um endpoint HTTP(S) que você pode usar para invocar a função.
Para obter mais informações, consulte Função URLs no Guia do AWS Lambda desenvolvedor.
Digite: FunctionUrlConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
Handler -
A função em seu código que é chamada para iniciar a execução. Esta propriedade só será necessária se a
PackageTypepropriedade estiver definida comoZip.Tipo: string
Obrigatório: Condicional
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Handlerpropriedade de umAWS::Lambda::Functionrecurso. -
ImageConfig -
O objeto usado para definir as configurações da imagem do contêiner Lambda. Para obter mais informações, consulte Uso de imagens do contêiner com o Lambda no AWS Lambda Guia do desenvolvedor.
Digite: ImageConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ImageConfigpropriedade de umAWS::Lambda::Functionrecurso. -
ImageUri -
O URI do repositório Amazon Elastic Container Registry (Amazon ECR) para a imagem de contêiner da função do Lambda. Essa propriedade só se aplica se a propriedade
PackageTypeestiver definida comoImage, caso contrário, ela será ignorada. Para obter mais informações, consulte Uso de imagens do contêiner com o Lambda no AWS Lambda Guia do desenvolvedor.nota
Se a
PackageTypepropriedade estiver definida comoImage, ela será obrigatória ou você deverá criar seu aplicativo comMetadataas entradas necessárias no arquivo AWS SAM de modelo.ImageUriPara obter mais informações, consulte Compilação padrão com o AWS SAM.A criação de seu aplicativo com as entradas
Metadatanecessárias tem precedência sobreImageUri, portanto, se você especificar ambas,ImageUriserá ignorada.Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ImageUripropriedade do tipo deAWS::Lambda::FunctionCodedados. -
InlineCode -
O código da função do Lambda que é escrito diretamente no modelo. Essa propriedade só se aplica se a propriedade
PackageTypeestiver definida comoZip, caso contrário, ela será ignorada.nota
Se a propriedade
PackageTypeestiver definida comoZip(padrão), uma dasCodeUriouInlineCodeserá obrigatória.Tipo: string
Obrigatório: Condicional
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ZipFilepropriedade do tipo deAWS::Lambda::FunctionCodedados. -
KmsKeyArn -
O ARN de uma chave AWS Key Management Service (AWS KMS) que o Lambda usa para criptografar e descriptografar as variáveis de ambiente da sua função.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
KmsKeyArnpropriedade de umAWS::Lambda::Functionrecurso. -
Layers -
A lista do
LayerVersionARNs que essa função deve usar. A ordem especificada aqui é a ordem na qual eles serão importados ao executar a função do Lambda. A versão é um ARN completo, incluindo a versão, ou uma referência a um LayerVersion recurso. Por exemplo, uma referência para aLayerVersionserá!Ref MyLayer, enquanto um ARN completo, incluindo a versão, seráarn:aws:lambda:.region:account-id:layer:layer-name:versionTipo: lista
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Layerspropriedade de umAWS::Lambda::Functionrecurso. -
LoggingConfig -
As configurações da função Amazon CloudWatch Logs.
Digite: LoggingConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
LoggingConfigpropriedade de umAWS::Lambda::Functionrecurso. -
MemorySize -
O tamanho da memória em MB alocado por invocação da função.
Tipo: inteiro
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
MemorySizepropriedade de umAWS::Lambda::Functionrecurso. -
PackageType -
O tipo de pacote de implantação da função do Lambda. Para obter mais informações, consulte Pacote de implantação do Lambda no AWS Lambda Guia do desenvolvedor.
Observações:
1. Se essa propriedade for definida como
Zip(padrão), então umaCodeUriou outraInlineCodese aplica eImageUrié ignorada.2. Se essa propriedade for definida como
Image, entãoImageUrisó se aplica,CodeUrie ambasInlineCodesão ignoradas. O repositório Amazon ECR necessário para armazenar a imagem do contêiner da função pode ser criado automaticamente pelo. AWS SAMCLI Para obter mais informações, consulte sam deploy.Valores válidos:
ZipouImageTipo: string
Obrigatório: não
Padrão:
ZipCloudFormation compatibilidade: essa propriedade é passada diretamente para a
PackageTypepropriedade de umAWS::Lambda::Functionrecurso. -
PermissionsBoundary -
O ARN de um limite de permissões a ser usado para a função de execução dessa função. Essa propriedade funciona somente se a função for gerada para você.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
PermissionsBoundarypropriedade de umAWS::IAM::Rolerecurso. -
Policies -
Políticas de permissão para essa função. As políticas serão anexadas à função de execução padrão AWS Identity and Access Management (IAM) da função.
Essa propriedade aceita um único valor ou uma lista de valores. Os valores permitidos incluem:
-
O ARN de uma política AWS gerenciada ou política gerenciada pelo cliente.
-
O nome de uma política AWS gerenciada da lista
a seguir. -
Uma política do IAM em linha formatada em YAML como um mapa.
nota
Se você especificar a propriedade
Role, essa propriedade será ignorada.Tipo: String | List | Map
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
Policiespropriedade de umAWS::IAM::Rolerecurso. -
PublishToLatestPublished -
Especifica se a última versão da função deve ser publicada quando a função for atualizada.
Tipo: booliano
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
PublishToLatestPublishedpropriedade de umAWS::Lambda::Functionrecurso. -
Indique se deseja ou não passar as tags da propriedade
Tagspara os recursos AWS::Serverless::Function gerados. EspecifiqueTruepara propagar as tags nos recursos gerados.Tipo: booliano
Obrigatório: não
Padrão:
FalseCloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.
-
ProvisionedConcurrencyConfig -
A configuração de simultaneidade provisionada do alias de uma função.
nota
ProvisionedConcurrencyConfigsó pode ser especificado se estiverAutoPublishAliasdefinido. Caso contrário, ocorrerá um erro.Digite: ProvisionedConcurrencyConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ProvisionedConcurrencyConfigpropriedade de umAWS::Lambda::Aliasrecurso. -
RecursiveLoop -
O status da configuração de detecção de loops recursivos da função.
Quando esse valor é definido como
Allowe o Lambda detecta que a função está sendo invocada como parte de um loop recursivo, ele não executa qualquer ação.Quando esse valor é definido como
Terminatee o Lambda detecta a invocação da função como parte de um loop recursivo, ele interrompe a invocação da função e notifica você.Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
RecursiveLooppropriedade doAWS::Lambda::Functionrecurso. -
ReservedConcurrentExecutions -
O número máximo de execuções simultâneas que você deseja reservar para a função.
Para obter mais informações sobre essa propriedade, consulte Escalabilidade da Função do Lambda no AWS Lambda Guia do desenvolvedor.
Tipo: inteiro
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ReservedConcurrentExecutionspropriedade de umAWS::Lambda::Functionrecurso. -
Role -
O ARN de um perfil do IAM a ser usado como perfil de execução dessa função.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
Rolepropriedade de umAWS::Lambda::Functionrecurso. Isso é necessário em CloudFormation , mas não em AWS SAM. Se uma função não for especificada, uma será criada para você com uma ID lógica de.<function-logical-id>Role -
RolePath -
O caminho para a função de execução do IAM da função.
Use essa propriedade quando a função for gerada para você. Não use quando a função for especificada com a propriedade
Role.Tipo: string
Obrigatório: Condicional
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Pathpropriedade de umAWS::IAM::Rolerecurso. -
Runtime -
O identificador do runtime da função. Esta propriedade só será necessária se a
PackageTypepropriedade estiver definida comoZip.nota
Se você especificar o
providedidentificador dessa propriedade, poderá usar o atributoMetadataresource para AWS SAM instruir a criar o tempo de execução personalizado que essa função exige. Para obter mais informações sobre a criação de tempos de execução personalizados, consulte Como criar funções do Lambda com runtimes personalizados no AWS SAM.Tipo: string
Obrigatório: Condicional
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Runtimepropriedade de umAWS::Lambda::Functionrecurso. -
RuntimeManagementConfig -
Configure opções de gerenciamento de runtime para suas funções do Lambda, como atualizações do ambiente de runtime, comportamento de reversão e seleção de uma versão de runtime específica. Para saber mais, consulte as atualizações de runtime do Lambda no Guia do desenvolvedor do AWS Lambda .
Digite: RuntimeManagementConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
RuntimeManagementConfigpropriedade de umAWS::Lambda::Functionrecurso. -
SnapStart -
Crie uma captura de tela de qualquer nova versão da função do Lambda. Uma captura de tela é um estado em cachê da sua função inicializada, incluindo todas as suas dependências. A função é inicializada apenas uma vez e o estado em cachê é reutilizado para todas as futuras invocações, melhorando o desempenho do aplicativo ao reduzir o número de vezes que sua função deve ser inicializada. Para saber mais, consulte Melhorando o desempenho de startups com o Lambda SnapStart no Guia do AWS Lambda desenvolvedor.
Digite: SnapStart
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SnapStartpropriedade de umAWS::Lambda::Functionrecurso. -
SourceKmsKeyArn -
Representa o ARN da chave do KMS usada para criptografar o código da função do CEP do cliente.
Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SourceKmsKeyArnpropriedade de um tipo deAWS::Lambda::FunctionCodedados. -
Um mapa (string para string) que especifica as tags a serem adicionadas a esse estágio do API Gateway. Para obter detalhes sobre chaves e valores válidos para tags, consulte Requisitos de chave e valor de tags no AWS Lambda Guia do desenvolvedor.
Quando a pilha é criada, adiciona AWS SAM automaticamente uma
lambda:createdBy:SAMtag a essa função Lambda e às funções padrão que são geradas para essa função.Tipo: mapa
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
Tagspropriedade de umAWS::Lambda::Functionrecurso. ATagspropriedade in AWS SAM consiste em pares de valores-chave (enquanto CloudFormation nessa propriedade consiste em uma lista deTagobjetos). Além disso, adiciona AWS SAM automaticamente umalambda:createdBy:SAMtag a essa função Lambda e às funções padrão que são geradas para essa função. -
TenancyConfig -
Configuração para o modo de isolamento de inquilinos do Lambda. Garante que os ambientes de execução nunca sejam compartilhados entre diferentes locatários IDs, fornecendo isolamento em nível de computação para aplicativos multilocatários.
Digite: TenancyConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
TenancyConfigpropriedade de umAWS::Lambda::Functionrecurso. -
Timeout -
O tempo máximo em segundos em que a função pode ser executada até ser interrompida.
Tipo: inteiro
Obrigatório: não
Padrão: 3
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Timeoutpropriedade de umAWS::Lambda::Functionrecurso. -
Tracing -
A sequência de caracteres que especifica o modo de rastreamento do X-Ray da função.
-
Active— Ativa o rastreamento do X-Ray para a função. -
Disabled— Desativa o X-Ray para a função. -
PassThrough— Ativa o rastreamento do X-Ray para a função. A decisão de amostragem é delegada aos serviços posteriores.
Se especificada como
ActiveouPassThroughe a propriedadeRolenão estiver definida, o AWS SAM adiciona a políticaarn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessà função de execução do Lambda que ela cria para você.Para obter mais informações sobre o X-Ray, consulte Usando AWS Lambda com AWS X-Ray no Guia do AWS Lambda Desenvolvedor.
Valores válidos: [
Active|Disabled|PassThrough]Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é semelhante à
TracingConfigpropriedade de umAWS::Lambda::Functionrecurso. -
-
VersionDescription -
Especifica o campo
Descriptionque é adicionado ao novo recurso da versão do Lambda.Tipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Descriptionpropriedade de umAWS::Lambda::Versionrecurso. -
VersionDeletionPolicy -
Especifica a política de exclusão para o recurso da versão Lambda que é criado quando definido.
AutoPublishAliasIsso controla se o recurso da versão é retido ou excluído quando a pilha é excluída.Valores válidos:
Delete,RetainouSnapshotTipo: string
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente. Ele define o
DeletionPolicyatributo noAWS::Lambda::Versionrecurso gerado. -
VpcConfig -
A configuração que permite que essa função acesse recursos privados em sua nuvem privada virtual (VPC).
Digite: VpcConfig
Obrigatório: não
CloudFormation compatibilidade: essa propriedade é passada diretamente para a
VpcConfigpropriedade de umAWS::Lambda::Functionrecurso.
Valores de retorno
Ref.
Quando o ID lógico desse recurso é fornecido à função intrínseca do Ref, ele retorna o nome do recurso da função do Lambda subjacente.
Para obter mais informações sobre como usar a função Ref, consulte Ref no Guia do usuário do AWS CloudFormation .
Fã:: GetAtt
Fn::GetAtt retorna um valor para um atributo especificado deste tipo. Estes são os atributos disponíveis e os valores de retorno de amostra.
Para obter mais informações sobre o uso do Fn::GetAtt, consulte Fn::GetAtt no AWS CloudFormation Guia do usuário.
Arn-
O ARN da função do Lambda subjacente.
Exemplos
Função simples
Veja a seguir um exemplo básico de um recurso AWS::Serverless::Function do tipo de pacote Zip (padrão) e código de função em um bucket do Amazon S3.
YAML
Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name
Exemplo de propriedades da função
Veja a seguir um exemplo de um AWS::Serverless::Function tipo de pacote Zip (padrão) que usa InlineCode,Layers,Tracing, Policies, Amazon EFS, e uma fonte de eventos Api.
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
Exemplo de ImageConfig
Veja a seguir um exemplo de uma ImageConfig para uma função do Lambda do tipo de pacote 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 exemplos
Uma função do Lambda configurada para atualizar seu ambiente de runtime de acordo com o comportamento atual:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto
Uma função do Lambda configurada para atualizar seu ambiente de runtime quando a função é atualizada:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate
Uma função do Lambda configurada para atualizar seu ambiente de runtime manualmente:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual
Exemplos do SnapStart
Exemplo de uma função Lambda SnapStart ativada para futuras versões:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions
TenancyConfig exemplos
Exemplo de uma função Lambda com o modo de isolamento de inquilino ativado:
TestFunction Type: AWS::Serverless::Function Properties: ... TenancyConfig: TenantIsolationMode: PER_TENANT