AWS::Serverless::Function - AWS Serverless Application Model

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:

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_64 ou arm64.

Tipo: lista

Obrigatório: não

Padrão: x86_64

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade Architectures de um recurso AWS::Lambda::Function.

AssumeRolePolicyDocument

Adiciona um AssumeRolePolicyDocument para o Role padrã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 à AssumeRolePolicyDocument propriedade de um AWS::IAM::Role recurso. 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. Quando true, uma nova versão do Lambda é criada quando qualquer propriedade na função do Lambda é modificada. Quando false, uma nova versão do Lambda é criada somente quando qualquer uma das seguintes propriedades é modificada:

  • Environment, MemorySize, ou SnapStart.

  • Qualquer alteração que resulte em uma atualização da propriedade Code, como CodeDict, ImageUri, ou InlineCode.

Essa propriedade precisa do ‭AutoPublishAlias para ser definida.

Se AutoPublishCodeSha256 também for especificado, seu comportamento terá precedência sobre AutoPublishAliasAllProperties: true.

Tipo: booliano

Obrigatório: não

Valor padrão: false

Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.

AutoPublishCodeSha256

Quando usada, essa string trabalha com o valor CodeUri para 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 propriedade CodeUri permanece inalterada (ao contrário do novo pacote de implantação que está sendo carregado em um novo local do Amazon S3 e o CodeUri sendo transferido para o novo local).

Esse problema é marcado por um modelo do AWS SAM com as seguintes características:

Nesse cenário, a atualização do AutoPublishCodeSha256 resulta 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 propriedade Version da 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 CodeSigningConfigArn de um recurso AWS::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 PackageType está definido como Zip, um dos CodeUri ou InlineCode é obrigatório.

Compatibilidade CloudFormation: essa propriedade é semelhante à Code propriedade de um AWS::Lambda::Function recurso. 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 à DeadLetterConfig propriedade de um AWS::Lambda::Function recurso. No CloudFormation tipo é derivado do TargetArn, enquanto em AWS SAM você deve passar o tipo junto com o TargetArn.

DeploymentPreference

As configurações para permitir implantações graduais do Lambda.

Se um objeto DeploymentPreference for especificado, o AWS SAM cria um AWS::CodeDeploy::Application chamado ServerlessDeploymentApplication (um por pilha), um AWS::CodeDeploy::DeploymentGroup chamado <function-logical-id>DeploymentGroup e um AWS::IAM::Role chamado CodeDeployServiceRole.

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 Description de um recurso AWS::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 Environment de um recurso AWS::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 EphemeralStorage de um recurso AWS::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 DependsOn atributo 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 FileSystemConfigs de um recurso AWS::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 FunctionName de um recurso AWS::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 PackageType propriedade estiver definida como Zip.

Tipo: string

Obrigatório: Condicional

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade Handler de um recurso AWS::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 ImageConfig de um recurso AWS::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 PackageType estiver definida como Image, 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 PackageType estiver definida como Image, ela será ImageUri obrigatória ou você deverá criar seu aplicativo com as entradas Metadata necessá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 Metadata necessárias tem precedência sobre ImageUri, portanto, se você especificar ambas, ImageUri será ignorada.

Tipo: string

Obrigatório: não

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade ImageUri do tipo de dados AWS::Lambda::Function Code.

InlineCode

O código da função do Lambda que é escrito diretamente no modelo. Essa propriedade só se aplica se a propriedade PackageType estiver definida como Zip, caso contrário, ela será ignorada.

nota

Se a propriedade PackageType estiver definida como Zip (padrão), uma das CodeUri ou InlineCode será obrigatória.

Tipo: string

Obrigatório: Condicional

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade ZipFile do tipo de dados AWS::Lambda::Function Code.

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 KmsKeyArn de um recurso AWS::Lambda::Function.

Layers

A lista de ARNs LayerVersion 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 recurso LayerVersion. Por exemplo, uma referência para a LayerVersion será !Ref MyLayer, enquanto um ARN completo, incluindo a versão, será arn:aws:lambda:region:account-id:layer:layer-name:version.

Tipo: lista

Obrigatório: não

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade Layers de um recurso AWS::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 LoggingConfig de um recurso AWS::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 MemorySize de um recurso AWS::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 uma CodeUri ou outra InlineCode se aplica e ImageUri é ignorada.

2. Se essa propriedade for definida como Image, então ImageUri só se aplica, CodeUri e ambas InlineCode sã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: Zip ou Image

Tipo: string

Obrigatório: não

Padrão: Zip

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade PackageType de um recurso AWS::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 PermissionsBoundary de um recurso AWS::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:

nota

Se você especificar a propriedade Role, essa propriedade será ignorada.

Tipo: String | List | Map

Obrigatório: não

Compatibilidade CloudFormation: essa propriedade é semelhante à Policies propriedade de um AWS::IAM::Role recurso.

PropagateTags

Indique se deseja ou não passar as tags da propriedade Tags para os recursos AWS::Serverless::Function gerados. Especifique True para propagar as tags nos recursos gerados.

Tipo: booliano

Obrigatório: não

Padrão: False

Compatibilidade 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

ProvisionedConcurrencyConfig só pode ser especificado se estiver AutoPublishAlias definido. Caso contrário, ocorrerá um erro.

Tipo: ProvisionedConcurrencyConfig

Obrigatório: não

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade ProvisionedConcurrencyConfig de um recurso AWS::Lambda::Alias.

RecursiveLoop

O status da configuração de detecção de loops recursivos da função.

Quando esse valor é definido como Allow e 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 Terminate e 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 RecursiveLoop de um recurso AWS::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 ReservedConcurrentExecutions de um recurso AWS::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 à Role propriedade de um AWS::Lambda::Function recurso. 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 Path de um recurso AWS::IAM::Role.

Runtime

O identificador do runtime da função. Esta propriedade só será necessária se a PackageType propriedade estiver definida como Zip.

nota

Se você especificar o identificador provided para essa propriedade, poderá usar o atributo do recurso Metadata para 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 Runtime de um recurso AWS::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 RuntimeManagementConfig de um recurso AWS::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 SnapStart de um recurso AWS::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 SourceKmsKeyArn de um tipo de dados AWS::Lambda::Function Code.

Tags

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:SAM a 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 à Tags propriedade de um AWS::Lambda::Function recurso. A propriedade Tags no AWS SAM consiste em pares de valores-chave (enquanto no CloudFormation essa propriedade consiste em uma lista de objetos Tag). Também, o AWS SAM adiciona automaticamente uma tag lambda:createdBy:SAM a 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 Timeout de um recurso AWS::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 Active ou PassThrough e a propriedade Role não estiver definida, o AWS SAM adiciona a política arn: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 à TracingConfig propriedade de um AWS::Lambda::Function recurso.

VersionDescription

Especifica o campo Description que é adicionado ao novo recurso da versão do Lambda.

Tipo: string

Obrigatório: não

Compatibilidade CloudFormation: essa propriedade é passada diretamente para a propriedade Description de um recurso AWS::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 VpcConfig de um recurso AWS::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-name ImageConfig: 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