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á.
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 Criação de funções Lambda com tempos de execução personalizados no AWS SAM.
nota
Quando você implanta AWS CloudFormation, AWS SAM transforma seus AWS SAM recursos em AWS CloudFormation recursos. Para obter mais informações, consulte AWS CloudFormation Recursos gerados para 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: List
AssumeRolePolicyDocument: JSON
AutoPublishAlias: String
AutoPublishAliasAllProperties: Boolean
AutoPublishCodeSha256: String
CodeSigningConfigArn: String
CodeUri: String | FunctionCode
DeadLetterQueue: Map | DeadLetterQueue
DeploymentPreference: DeploymentPreference
Description: String
Environment: Environment
EphemeralStorage: EphemeralStorage
EventInvokeConfig: EventInvokeConfiguration
Events: EventSource
FileSystemConfigs: List
FunctionName: String
FunctionUrlConfig: FunctionUrlConfig
Handler: String
ImageConfig: ImageConfig
ImageUri: String
InlineCode: String
KmsKeyArn: String
Layers: List
LoggingConfig: LoggingConfig
MemorySize: Integer
PackageType: String
PermissionsBoundary: String
Policies: String | List | Map
PropagateTags: Boolean
ProvisionedConcurrencyConfig: ProvisionedConcurrencyConfig
RecursiveLoop: String
ReservedConcurrentExecutions: Integer
Role: String
RolePath: String
Runtime: String
RuntimeManagementConfig: RuntimeManagementConfig
SnapStart: SnapStart
SourceKMSKeyArn: String
Tags: Map
Timeout: Integer
Tracing: String
VersionDescription: String
VpcConfig: VpcConfig
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_64
ouarm64
.Tipo: lista
Obrigatório: não
Padrão:
x86_64
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Architectures
propriedade de umAWS::Lambda::Function
recurso. -
AssumeRolePolicyDocument
-
Adiciona um AssumeRolePolicyDocument para o padrão criado
Role
para essa função. Se essa propriedade não for especificada, AWS SAM adicionará uma função de suposição padrão para essa função.Type: JSON
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
AssumeRolePolicyDocument
propriedade de umAWS::IAM::Role
recurso. 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 Implantando aplicativos sem servidor gradualmente com AWS SAM.
AWS SAM gera AWS::Lambda::Version e AWS::Lambda::Aliasrecursos quando essa propriedade é definida. Para obter informações sobre esse cenário, consulte AutoPublishAlias propriedade é especificada. Para obter informações gerais sobre AWS CloudFormation os recursos gerados, consulteAWS CloudFormation Recursos gerados para AWS SAM.
Type: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS 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
AutoPublishAlias
para ser definida.Se
AutoPublishCodeSha256
também for especificado, seu comportamento terá precedência sobreAutoPublishAliasAllProperties: true
.Tipo: booliano
Obrigatório: não
Valor padrão:
false
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS 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 propriedadeCodeUri
permanece inalterada (ao contrário do novo pacote de implantação que está sendo carregado em um novo local do Amazon S3 e oCodeUri
sendo transferido para o novo local).Esse problema é marcado por um AWS SAM modelo com as seguintes características:
O objeto
DeploymentPreference
está configurado para implantações graduais (conforme descrito em Implantando aplicativos sem servidor gradualmente com AWS SAM)A propriedade
AutoPublishAlias
está definida e não muda entre as implantaçõesA propriedade
CodeUri
está definida e não muda entre as implantações.
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 propriedadeVersion
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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
-
CodeSigningConfigArn
-
O ARN do AWS::Lambda::CodeSigningConfigrecurso, usado para habilitar a assinatura de código para essa função. Para obter mais informações sobre assinatura de código, consulte Configure a assinatura de código para seu AWS SAM aplicativo.
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
CodeSigningConfigArn
propriedade de umAWS::Lambda::Function
recurso. -
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 AWS SAM carrega arquivos locais na implantação.
Se você usar funções intrínsecas na
CodeUri
propriedade, 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
PackageType
está definido comoZip
, um dosCodeUri
ouInlineCode
é obrigatório.AWS CloudFormation compatibilidade: essa propriedade é semelhante à
Code
propriedade de umAWS::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
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
DeadLetterConfig
propriedade de umAWS::Lambda::Function
recurso. AWS CloudFormation No tipo é derivado doTargetArn
, enquanto em AWS SAM você deve passar o tipo junto comTargetArn
o. -
DeploymentPreference
-
As configurações para permitir implantações graduais do Lambda.
Se um
DeploymentPreference
objeto for especificado, AWS SAM cria um AWS::CodeDeploy::ApplicationchamadoServerlessDeploymentApplication
(um por pilha), um AWS::CodeDeploy::DeploymentGroupchamado
, e um AWS::IAM::Rolechamado<function-logical-id>
DeploymentGroupCodeDeployServiceRole
.Digite: DeploymentPreference
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
Consulte, também: Para obter mais informações sobre essa propriedade, consulte Implantando aplicativos sem servidor gradualmente com AWS SAM.
-
Description
-
Uma descrição da função.
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Description
propriedade de umAWS::Lambda::Function
recurso. -
Environment
-
A configuração para o ambiente de tempo de execução.
Type: Environment
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Environment
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
EphemeralStorage
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS 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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS 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::MountTargetrecurso, você também deve especificar um atributo de
DependsOn
recurso para garantir que o destino de montagem seja criado ou atualizado antes da função.Tipo: lista
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FileSystemConfigs
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FunctionName
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS 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 comoZip
.Tipo: string
Obrigatório: Condicional
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Handler
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ImageConfig
propriedade de umAWS::Lambda::Function
recurso. -
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 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
PackageType
propriedade estiver definida comoImage
, ela será obrigatória ou você deverá criar seu aplicativo comMetadata
as entradas necessárias no arquivo AWS SAM de modelo.ImageUri
Para obter mais informações, consulte Compilação padrão com AWS SAM.A criação de seu aplicativo com as entradas
Metadata
necessárias tem precedência sobreImageUri
, portanto, se você especificar ambas,ImageUri
será ignorada.Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ImageUri
propriedade do tipo deAWS::Lambda::Function
Code
dados. -
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 comoZip
, caso contrário, ela será ignorada.nota
Se a propriedade
PackageType
estiver definida comoZip
(padrão), uma dasCodeUri
ouInlineCode
será obrigatória.Tipo: string
Obrigatório: Condicional
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ZipFile
propriedade do tipo deAWS::Lambda::Function
Code
dados. -
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.
Type: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
KmsKeyArn
propriedade de umAWS::Lambda::Function
recurso. -
Layers
-
A lista do
LayerVersion
ARNs 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 a aLayerVersion
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Layers
propriedade de umAWS::Lambda::Function
recurso. -
LoggingConfig
-
As configurações da função Amazon CloudWatch Logs.
Digite: LoggingConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
LoggingConfig
propriedade de umAWS::Lambda::Function
recurso. -
MemorySize
-
O tamanho da memória em MB alocado por invocação da função.
Tipo: inteiro
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
MemorySize
propriedade de umAWS::Lambda::Function
recurso. -
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 umaCodeUri
ou outraInlineCode
se aplica eImageUri
é ignorada.2. Se essa propriedade for definida como
Image
, entãoImageUri
só se aplica,CodeUri
e ambasInlineCode
sã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 SAM CLI. Para obter mais informações, consultesam deploy.Valores válidos:
Zip
ouImage
Tipo: string
Obrigatório: não
Padrão:
Zip
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
PackageType
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
PermissionsBoundary
propriedade de umAWS::IAM::Role
recurso. -
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:
-
A ferramenta 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 de 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
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
Policies
propriedade de umAWS::IAM::Role
recurso. -
Indique se deseja ou não passar as tags da propriedade
Tags
para os recursos AWS::Serverless::Function gerados. EspecifiqueTrue
para propagar as tags nos recursos gerados.Tipo: booliano
Obrigatório: não
Padrão:
False
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
-
ProvisionedConcurrencyConfig
-
A configuração de simultaneidade provisionada do alias de uma função.
nota
ProvisionedConcurrencyConfig
só pode ser especificado se estiverAutoPublishAlias
definido. Caso contrário, ocorrerá um erro.Digite: ProvisionedConcurrencyConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ProvisionedConcurrencyConfig
propriedade de umAWS::Lambda::Alias
recurso. -
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ê.Type: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
RecursiveLoop
propriedade doAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ReservedConcurrentExecutions
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
Role
propriedade de umAWS::Lambda::Function
recurso. Isso é necessário em AWS 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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Path
propriedade de umAWS::IAM::Role
recurso. -
Runtime
-
O identificador do runtime da função. Esta propriedade só será necessária se a
PackageType
propriedade estiver definida comoZip
.nota
Se você especificar o
provided
identificador dessa propriedade, poderá usar o atributoMetadata
resource 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 Criação de funções Lambda com tempos de execução personalizados no AWS SAM.Tipo: string
Obrigatório: Condicional
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Runtime
propriedade de umAWS::Lambda::Function
recurso. -
RuntimeManagementConfig
-
Configure opções de gerenciamento de tempo de execução para suas funções do Lambda, como atualizações do ambiente de tempo de execução, comportamento de reversão e seleção de uma versão de tempo de execução específica. Para saber mais, consulte as atualizações de tempo de execução do Lambda no Guia do desenvolvedor do AWS Lambda .
Digite: RuntimeManagementConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
RuntimeManagementConfig
propriedade de umAWS::Lambda::Function
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SnapStart
propriedade de umAWS::Lambda::Function
recurso. -
SourceKmsKeyArn
-
Representa um ARN de chave KMS usado para criptografar o código da função CEP do cliente.
Type: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SourceKmsKeyArn
propriedade de um tipo deAWS::Lambda::Function
Code
dados. -
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:SAM
tag 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
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
Tags
propriedade de umAWS::Lambda::Function
recurso. ATags
propriedade in AWS SAM consiste em pares de valores-chave (enquanto AWS CloudFormation nessa propriedade consiste em uma lista deTag
objetos). Além disso, adiciona AWS SAM automaticamente umalambda:createdBy:SAM
tag a essa função 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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Timeout
propriedade de umAWS::Lambda::Function
recurso. -
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
ouPassThrough
e a propriedadeRole
nã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
AWS CloudFormation compatibilidade: essa propriedade é semelhante à
TracingConfig
propriedade de umAWS::Lambda::Function
recurso. -
-
VersionDescription
-
Especifica o campo
Description
que é adicionado ao novo recurso da versão do Lambda.Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Description
propriedade de umAWS::Lambda::Version
recurso. -
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
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
VpcConfig
propriedade de umAWS::Lambda::Function
recurso.
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:::amzn-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
"
RuntimeManagementConfig exemplos
Uma função do Lambda configurada para atualizar seu ambiente de tempo de execução 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 tempo de execução 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 tempo de execução 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