AWS::Serverless::Function
Cria uma função AWS Lambda, uma função de execução (IAM) AWS Identity and Access Management e mapeamentos da origem do evento que acionam a função.
O AWS::Serverless::Function recurso também suporta o atributo do recurso Metadata, para que você possa instruir AWS SAM a criação de runtime personalizados exigidos pelo seu aplicativo. 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 o 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 esta entidade no modelo do AWS Serverless Application Model (AWS SAM), use a seguinte sintaxe:
YAML
Type: AWS::Serverless::Function Properties: Architectures:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTimeout:IntegerTracing:StringVersionDescription: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 LambdaGuia do desenvolvedor.
Valores válidos: Um de
x86_64ouarm64.Tipo: lista
Obrigatório: não
Padrão:
x86_64Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Architecturesde um recursoAWS::Lambda::Function. -
AssumeRolePolicyDocument -
Adiciona um AssumeRolePolicyDocument para o
Rolepadrão criado para essa função. Se essa propriedade não for especificada, o AWS SAM adicionará uma função de suposição padrão para essa função.Type: JSON
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é semelhante à
AssumeRolePolicyDocumentpropriedade de umAWS::IAM::Rolerecurso. AWS SAM adiciona essa propriedade à perfil do 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.
O AWS SAM gera AWS::Lambda::Version e fornece recursos AWS::Lambda::Alias quando essa propriedade é definida. Para obter informações sobre esse cenário, consulte A propriedade AutoPublishAlias é especificada. Para obter informações gerais sobre recursos gerados do CloudFormation, consulte Recursos gerados do CloudFormation para o AWS SAM.
Tipo: string
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do 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:
falseCompatibilidade CloudFormation: Essa propriedade é exclusiva do 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 modelo do AWS SAM 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
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.
-
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
CodeSigningConfigArnde um recursoAWS::Lambda::Function. -
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 SAM CLI 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 propriedade
CodeUri, o AWS SAM não será capaz de analisar corretamente os valores. Em vez disso, considere usar a transformação AWS::LanguageExtensions.Tipo: [ String | FunctionCode ]
Obrigatório: condicional. Quando
PackageTypeestá definido comoZip, um dosCodeUriouInlineCodeé obrigatório.Compatibilidade CloudFormation: 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
Compatibilidade CloudFormation: essa propriedade é semelhante à
DeadLetterConfigpropriedade de umAWS::Lambda::Functionrecurso. No CloudFormation tipo é derivado doTargetArn, enquanto em AWS SAM você deve passar o tipo junto com oTargetArn. -
DeploymentPreference -
As configurações para permitir implantações graduais do Lambda.
Se um objeto
DeploymentPreferencefor especificado, o AWS SAM cria um AWS::CodeDeploy::Application chamadoServerlessDeploymentApplication(um por pilha), um AWS::CodeDeploy::DeploymentGroup chamadoe um AWS::IAM::Role chamado<function-logical-id>DeploymentGroupCodeDeployServiceRole.Tipo: DeploymentPreference
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Descriptionde um recursoAWS::Lambda::Function. -
Environment -
A configuração para o ambiente de runtime.
Type: Environment
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Environmentde um recursoAWS::Lambda::Function. -
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.
Tipo: EphemeralStorage
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
EphemeralStoragede um recursoAWS::Lambda::Function. -
EventInvokeConfig -
O objeto que descreve a configuração de invocação de eventos em uma função do Lambda.
Tipo: EventInvokeConfiguration
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do 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.
Type: EventSource
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.
-
FileSystemConfigs -
Lista de objetos FileSystemConfig que são as configurações de conexão para um sistema de arquivos 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
FileSystemConfigsde um recursoAWS::Lambda::Function. -
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
FunctionNamede um recursoAWS::Lambda::Function. -
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 URLs da função no AWS Lambda Guia do desenvolvedor.
Tipo: FunctionUrlConfig
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Handlerde um recursoAWS::Lambda::Function. -
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.
Type: ImageConfig
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
ImageConfigde um recursoAWS::Lambda::Function. -
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 propriedade
PackageTypeestiver definida comoImage, ela seráImageUriobrigatória ou você deverá criar seu aplicativo com as entradasMetadatanecessárias no arquivo AWS SAM de modelo. Para 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
ImageUrido tipo de dadosAWS::Lambda::FunctionCode. -
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
ZipFiledo tipo de dadosAWS::Lambda::FunctionCode. -
KmsKeyArn -
O ARN de uma chave AWS Key Management Service (AWS KMS) que o Lambda usa para criptografar as variáveis de ambiente da sua função.
Tipo: string
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
KmsKeyArnde um recursoAWS::Lambda::Function. -
Layers -
A lista de ARNs
LayerVersionque 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 recurso LayerVersion. 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Layersde um recursoAWS::Lambda::Function. -
LoggingConfig -
As configurações do Amazon CloudWatch Logs da função.
Type: LoggingConfig
Obrigatório: não
Compatibilidade do CloudFormation: essa propriedade é passada diretamente para a propriedade
LoggingConfigde um recursoAWS::Lambda::Function. -
MemorySize -
O tamanho da memória em MB alocado por invocação da função.
Tipo: inteiro
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
MemorySizede um recursoAWS::Lambda::Function. -
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 do Amazon ECR necessário para armazenar a imagem do contêiner da função pode ser criado automaticamente pelo AWS SAM CLI. Para obter mais informações, consulte sam deploy.Valores válidos:
ZipouImageTipo: string
Obrigatório: não
Padrão:
ZipCompatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
PackageTypede um recursoAWS::Lambda::Function. -
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
PermissionsBoundaryde um recursoAWS::IAM::Role. -
Policies -
Políticas de permissão para essa função. As políticas serão anexadas à função de execução padrão da função AWS Identity and Access Management (IAM).
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 gerenciada AWS da lista list
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
Compatibilidade CloudFormation: essa propriedade é semelhante à
Policiespropriedade de umAWS::IAM::Rolerecurso. -
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:
FalseCompatibilidade CloudFormation: Essa propriedade é exclusiva do 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.Tipo: ProvisionedConcurrencyConfig
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
ProvisionedConcurrencyConfigde um recursoAWS::Lambda::Alias. -
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
Compatibilidade com o CloudFormation: essa propriedade é passada diretamente para a propriedade
RecursiveLoopde um recursoAWS::Lambda::Function. -
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 LambdaGuia do desenvolvedor.
Tipo: inteiro
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
ReservedConcurrentExecutionsde um recursoAWS::Lambda::Function. -
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
Compatibilidade CloudFormation: essa propriedade é semelhante à
Rolepropriedade de umAWS::Lambda::Functionrecurso. Isso é necessário no CloudFormation, mas não no 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Pathde um recursoAWS::IAM::Role. -
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 identificador
providedpara essa propriedade, poderá usar o atributo do recursoMetadatapara instruir o AWS SAM a criar o runtime 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Runtimede um recursoAWS::Lambda::Function. -
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.
Tipo: RuntimeManagementConfig
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
RuntimeManagementConfigde um recursoAWS::Lambda::Function. -
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 AWS LambdaGuia do desenvolvedor.
Tipo: SnapStart
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
SnapStartde um recursoAWS::Lambda::Function. -
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
SourceKmsKeyArnde um tipo de dadosAWS::Lambda::FunctionCode. -
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 LambdaGuia do desenvolvedor.
Quando a pilha for criada, o AWS SAM adiciona automaticamente uma tag
lambda:createdBy:SAMa essa função do Lambda e às funções padrão que são geradas para essa função.Tipo: mapa
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é semelhante à
Tagspropriedade de umAWS::Lambda::Functionrecurso. A propriedadeTagsno AWS SAM consiste em pares de valores-chave (enquanto no CloudFormation essa propriedade consiste em uma lista de objetosTag). Também, o AWS SAM adiciona automaticamente uma taglambda:createdBy:SAMa essa função do Lambda e às funções padrão que são geradas para essa função. -
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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Timeoutde um recursoAWS::Lambda::Function. -
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 Como usar AWS Lambda no AWS X-RayAWS LambdaGuia do desenvolvedor.
Valores válidos: [
Active|Disabled|PassThrough]Tipo: string
Obrigatório: não
Compatibilidade CloudFormation: 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
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
Descriptionde um recursoAWS::Lambda::Version. -
VpcConfig -
A configuração que permite que essa função acesse recursos privados em sua nuvem privada virtual (VPC).
Type: VpcConfig
Obrigatório: não
Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade
VpcConfigde um recursoAWS::Lambda::Function.
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.
Fn::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"
exemplos de RuntimeManagementConfig
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 do Lambda com o SnapStart ativado para futuras versões:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions