

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
<a name="sam-resource-function"></a>

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](#sam-resource-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](building-custom-runtimes.md).

**nota**  
Quando você implanta AWS CloudFormation, AWS SAM transforma seus AWS SAM recursos em CloudFormation recursos. Para obter mais informações, consulte [CloudFormation Recursos gerados para AWS SAM](sam-specification-generated-resources.md).

## Sintaxe
<a name="sam-resource-function-syntax"></a>

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

### YAML
<a name="sam-resource-function-syntax.yaml"></a>

```
Type: AWS::Serverless::Function
Properties:
  [Architectures](#sam-function-architectures): {{List}}
  [AssumeRolePolicyDocument](#sam-function-assumerolepolicydocument): {{JSON}}
  [AutoPublishAlias](#sam-function-autopublishalias): {{String}}
  AutoPublishAliasAllProperties: {{Boolean}}
  [AutoPublishCodeSha256](#sam-function-autopublishcodesha256): {{String}}
  [CapacityProviderConfig](#sam-function-capacityproviderconfig): {{CapacityProviderConfig}}
  [CodeSigningConfigArn](#sam-function-codesigningconfigarn): {{String}}
  [CodeUri](#sam-function-codeuri): {{String | FunctionCode}}
  [DeadLetterQueue](#sam-function-deadletterqueue): {{Map | DeadLetterQueue}}
  [DeploymentPreference](#sam-function-deploymentpreference): {{DeploymentPreference}}
  [Description](#sam-function-description): {{String}}
  [DurableConfig](#sam-function-durableconfig): {{DurableConfig}}
  [Environment](#sam-function-environment): {{[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)}}
  [EphemeralStorage](#sam-function-ephemeralstorage): {{[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)}}
  [EventInvokeConfig](#sam-function-eventinvokeconfig): {{EventInvokeConfiguration}}
  [Events](#sam-function-events): {{EventSource}}
  [FileSystemConfigs](#sam-function-filesystemconfigs): {{List}}
  [FunctionName](#sam-function-functionname): {{String}}
  [FunctionScalingConfig](#sam-function-functionscalingconfig): {{FunctionScalingConfig}}
  [FunctionUrlConfig](#sam-function-functionurlconfig): {{FunctionUrlConfig}}
  [Handler](#sam-function-handler): {{String}}
  [ImageConfig](#sam-function-imageconfig): {{[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)}}
  [ImageUri](#sam-function-imageuri): {{String}}
  [InlineCode](#sam-function-inlinecode): {{String}}
  [KmsKeyArn](#sam-function-kmskeyarn): {{String}}
  [Layers](#sam-function-layers): {{List}}
  LoggingConfig: {{[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)}}
  [MemorySize](#sam-function-memorysize): {{Integer}}
  [PackageType](#sam-function-packagetype): {{String}}
  [PermissionsBoundary](#sam-function-permissionsboundary): {{String}}
  [Policies](#sam-function-policies): {{String | List | Map}}
  [PublishToLatestPublished](#sam-function-publishtolatestpublished): {{Boolean}}
  PropagateTags: {{Boolean}}
  [ProvisionedConcurrencyConfig](#sam-function-provisionedconcurrencyconfig): {{[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)}}
  RecursiveLoop: {{String}}
  [ReservedConcurrentExecutions](#sam-function-reservedconcurrentexecutions): {{Integer}}
  [Role](#sam-function-role): {{String}}
  [RolePath](#sam-function-rolepath): {{String}}
  [Runtime](#sam-function-runtime): {{String}}
  RuntimeManagementConfig: {{[RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)}}
  SnapStart: {{[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)}}
  [SourceKMSKeyArn](#sam-function-sourcekmskeyarn): {{String}}
  [Tags](#sam-function-tags): {{Map}}
  [TenancyConfig](#sam-function-tenancyconfig): {{TenancyConfig}}
  [Timeout](#sam-function-timeout): {{Integer}}
  [Tracing](#sam-function-tracing): {{String}}
  [VersionDescription](#sam-function-versiondescription): {{String}}
  [VersionDeletionPolicy](#sam-function-versiondeletionpolicy): {{String}}
  [VpcConfig](#sam-function-vpcconfig): {{[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)}}
```

## Propriedades
<a name="sam-resource-function-properties"></a>

 `Architectures`   <a name="sam-function-architectures"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) no *AWS Lambda Guia do desenvolvedor*.  
*Valores válidos*: Um de `x86_64` ou `arm64`.  
*Tipo*: lista  
*Obrigatório*: não  
*Padrão*: `x86_64`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures)` propriedade de um `AWS::Lambda::Function` recurso.

 `AssumeRolePolicyDocument`   <a name="sam-function-assumerolepolicydocument"></a>
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  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[AssumeRolePolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument)` propriedade de um `AWS::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`   <a name="sam-function-autopublishalias"></a>
O nome do alias do Lambda. Para obter mais informações sobre aliases do Lambda, consulte [Aliases de funções do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) no *AWS Lambda Guia do desenvolvedor*. Para obter exemplos que usam essa propriedade, consulte [Implantando aplicativos sem servidor gradualmente com AWS SAM](automating-updates-to-serverless-apps.md).  
AWS SAM gera [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)e fornece [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)recursos quando essa propriedade é definida. Para obter informações sobre esse cenário, consulte [AutoPublishAlias propriedade é especificada](sam-specification-generated-resources-function.md#sam-specification-generated-resources-function-autopublishalias). Para obter informações gerais sobre CloudFormation os recursos gerados, consulte[CloudFormation Recursos gerados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `AutoPublishAliasAllProperties`   <a name="sam-function-autopublishaliasallproperties"></a>
Especifica quando um novo [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html) é 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`  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `AutoPublishCodeSha256`   <a name="sam-function-autopublishcodesha256"></a>
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 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](automating-updates-to-serverless-apps.md))
+ A propriedade `AutoPublishAlias` está definida e não muda entre as implantações
+ A 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 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  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `CapacityProviderConfig`   <a name="sam-function-capacityproviderconfig"></a>
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 EC2 de propriedade do cliente gerenciadas por instâncias gerenciadas Lambda.  
*Digite*: [CapacityProviderConfig](sam-property-function-capacityproviderconfig.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: o SAM nivela a propriedade passada para a `[CapacityProviderConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-capacityproviderconfig)` propriedade de um `AWS::Lambda::Function` recurso e reconstrói a estrutura aninhada.

 `CodeSigningConfigArn`   <a name="sam-function-codesigningconfigarn"></a>
O ARN do recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html), 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](authoring-codesigning.md).  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[CodeSigningConfigArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn)` propriedade de um `AWS::Lambda::Function` recurso.

 `CodeUri`   <a name="sam-function-codeuri"></a>
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](sam-property-function-functioncode.md).
Se você fornecer o URI ou objeto [FunctionCode](sam-property-function-functioncode.md) do Amazon S3 de uma função, deverá fazer referência a um [pacote de implantação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) 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 AWS SAM carrega arquivos locais na implantação](deploy-upload-local-files.md).  
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-languageextensions.html).
*Tipo*: [ String \| [FunctionCode](sam-property-function-functioncode.md) ]  
*Obrigatório:* condicional. Quando `PackageType` está definido como `Zip`, um dos `CodeUri` ou `InlineCode` é obrigatório.  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[ Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code)` propriedade de um `AWS::Lambda::Function` recurso. As propriedades aninhadas do Amazon S3 têm nomes diferentes.

 `DeadLetterQueue`   <a name="sam-function-deadletterqueue"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq) de *AWS Lambda função no Guia do desenvolvedor*.  
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) da função, e não para filas de origem de evento.
*Tipo*: Mapa \| [DeadLetterQueue](sam-property-function-deadletterqueue.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html)` propriedade de um `AWS::Lambda::Function` recurso. CloudFormation No tipo é derivado do`TargetArn`, enquanto em AWS SAM você deve passar o tipo junto com `TargetArn` o.

 `DeploymentPreference`   <a name="sam-function-deploymentpreference"></a>
As configurações para permitir implantações graduais do Lambda.  
Se um `DeploymentPreference` objeto for especificado, AWS SAM cria um [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)chamado `ServerlessDeploymentApplication` (um por pilha), um [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)chamado `{{<function-logical-id>}}DeploymentGroup` e um [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)chamado`CodeDeployServiceRole`.  
*Digite*: [DeploymentPreference](sam-property-function-deploymentpreference.md)  
*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 [Implantando aplicativos sem servidor gradualmente com AWS SAM](automating-updates-to-serverless-apps.md).

 `Description`   <a name="sam-function-description"></a>
Uma descrição da função.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-description)` propriedade de um `AWS::Lambda::Function` recurso.

 `DurableConfig`   <a name="sam-function-durableconfig"></a>
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](sam-property-function-durableconfig.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Environment`   <a name="sam-function-environment"></a>
A configuração para o ambiente de runtime.  
*Type*: [Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)` propriedade de um `AWS::Lambda::Function` recurso.

 `EphemeralStorage`   <a name="sam-function-ephemeralstorage"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html) do *AWS Lambda Lambda no Guia do desenvolvedor*.  
*Digite*: [EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)` propriedade de um `AWS::Lambda::Function` recurso.

 `EventInvokeConfig`   <a name="sam-function-eventinvokeconfig"></a>
O objeto que descreve a configuração de invocação de eventos em uma função do Lambda.  
*Digite*: [EventInvokeConfiguration](sam-property-function-eventinvokeconfiguration.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Events`   <a name="sam-function-events"></a>
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](sam-property-function-eventsource.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `FileSystemConfigs`   <a name="sam-function-filesystemconfigs"></a>
Lista de [FileSystemConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html)objetos que especificam as configurações de conexão para um sistema de arquivos Amazon Elastic File System (Amazon EFS) ou um sistema de arquivos Amazon S3 Files. Você pode anexar um ponto de acesso do Amazon EFS ou um ponto de acesso do S3 Files, mas não ambos.  
Cada `FileSystemConfig` objeto contém um `Arn` (o ARN do ponto de acesso) e um `LocalMountPath` (o caminho em que o sistema de arquivos está montado na função). Para o Amazon EFS, o ARN é um ARN do ponto de acesso do Amazon EFS. Para arquivos S3, o ARN é um `AWS::S3Files::AccessPoint` ARN.  
Se o seu modelo contiver um [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html) 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. Da mesma forma, se seu modelo contiver um `AWS::S3Files::MountTarget` recurso, você deverá especificar um `DependsOn` atributo para o destino de montagem do S3 Files.  
*Tipo*: lista  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[FileSystemConfigs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs)` propriedade de um `AWS::Lambda::Function` recurso.

 `FunctionName`   <a name="sam-function-functionname"></a>
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 `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname)` propriedade de um `AWS::Lambda::Function` recurso.

 `FunctionScalingConfig`   <a name="sam-function-functionscalingconfig"></a>
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](sam-property-function-functionscalingconfig.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[FunctionScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig)` propriedade de um `AWS::Lambda::Function` recurso.

 `FunctionUrlConfig`   <a name="sam-function-functionurlconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) no *Guia do AWS Lambda desenvolvedor*.  
*Digite*: [FunctionUrlConfig](sam-property-function-functionurlconfig.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Handler`   <a name="sam-function-handler"></a>
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  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Handler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler)` propriedade de um `AWS::Lambda::Function` recurso.

 `ImageConfig`   <a name="sam-function-imageconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) no *AWS Lambda Guia do desenvolvedor*.  
*Digite*: [ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)` propriedade de um `AWS::Lambda::Function` recurso.

 `ImageUri`   <a name="sam-function-imageuri"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) no *AWS Lambda Guia do desenvolvedor*.  
Se a `PackageType` propriedade estiver definida como`Image`, ela será obrigatória ou você deverá criar seu aplicativo com `Metadata` as entradas necessárias no arquivo AWS SAM de modelo. `ImageUri` Para obter mais informações, consulte [Compilação padrão com AWS SAM](serverless-sam-cli-using-build.md).
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  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ImageUri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri)` propriedade do tipo de `AWS::Lambda::Function` `Code` dados.

 `InlineCode`   <a name="sam-function-inlinecode"></a>
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.  
Se a propriedade `PackageType` estiver definida como `Zip` (padrão), uma das `CodeUri` ou `InlineCode` será obrigatória.
*Tipo:* string  
*Obrigatório*: Condicional  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ZipFile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile)` propriedade do tipo de `AWS::Lambda::Function` `Code` dados.

 `KmsKeyArn`   <a name="sam-function-kmskeyarn"></a>
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 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn)` propriedade de um `AWS::Lambda::Function` recurso.

 `Layers`   <a name="sam-function-layers"></a>
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 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  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Layers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers)` propriedade de um `AWS::Lambda::Function` recurso.

 `LoggingConfig`   <a name="sam-function-loggingconfig"></a>
As configurações da função Amazon CloudWatch Logs.  
*Digite*: [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig)propriedade de um `AWS::Lambda::Function` recurso.

 `MemorySize`   <a name="sam-function-memorysize"></a>
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 `[MemorySize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize)` propriedade de um `AWS::Lambda::Function` recurso.

 `PackageType`   <a name="sam-function-packagetype"></a>
O tipo de pacote de implantação da função do Lambda. Para obter mais informações, consulte [Pacote de implantação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) 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 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](sam-cli-command-reference-sam-deploy.md).  
*Valores válidos*: `Zip` ou `Image`  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: `Zip`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[PackageType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-packagetype)` propriedade de um `AWS::Lambda::Function` recurso.

 `PermissionsBoundary`   <a name="sam-function-permissionsboundary"></a>
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 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propriedade de um `AWS::IAM::Role` recurso.

 `Policies`   <a name="sam-function-policies"></a>
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:  
+ [Modelos de políticas AWS SAM](serverless-policy-templates.md).
+ O ARN de uma [política AWS gerenciada ou ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) [política gerenciada pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies).
+ O nome de uma política AWS gerenciada da [lista](https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json) a seguir.
+ Uma [política do IAM em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) formatada em YAML como um mapa.
Se você especificar a propriedade `Role`, essa propriedade será ignorada.
*Tipo*: String \| List \| Map  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[Policies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies)` propriedade de um `AWS::IAM::Role` recurso.

 `PublishToLatestPublished`   <a name="sam-function-publishtolatestpublished"></a>
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 `[PublishToLatestPublished](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-publishtolatestpublished)` propriedade de um `AWS::Lambda::Function` recurso.

`PropagateTags`  <a name="sam-function-propagatetags"></a>
Indique se deseja ou não passar as tags da propriedade `Tags` para os recursos [AWS::Serverless::Function](sam-specification-generated-resources-function.md) gerados. Especifique `True` para propagar as tags nos recursos gerados.  
*Tipo*: booliano  
*Obrigatório*: não  
*Padrão*: `False`  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `ProvisionedConcurrencyConfig`   <a name="sam-function-provisionedconcurrencyconfig"></a>
A configuração de simultaneidade provisionada do alias de uma função.  
`ProvisionedConcurrencyConfig` só pode ser especificado se estiver `AutoPublishAlias` definido. Caso contrário, ocorrerá um erro.
*Digite*: [ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)` propriedade de um `AWS::Lambda::Alias` recurso.

 `RecursiveLoop`   <a name="sam-function-recursiveloop"></a>
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  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[RecursiveLoop](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop)` propriedade do `AWS::Lambda::Function` recurso.

 `ReservedConcurrentExecutions`   <a name="sam-function-reservedconcurrentexecutions"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html) no *AWS Lambda Guia do desenvolvedor*.  
*Tipo*: inteiro  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ReservedConcurrentExecutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions)` propriedade de um `AWS::Lambda::Function` recurso.

 `Role`   <a name="sam-function-role"></a>
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 à `[Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role)` propriedade de um `AWS::Lambda::Function` recurso. 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`   <a name="sam-function-rolepath"></a>
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 `[Path](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path)` propriedade de um `AWS::IAM::Role` recurso.

 `Runtime`   <a name="sam-function-runtime"></a>
O identificador do [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) da função. Esta propriedade só será necessária se a `PackageType` propriedade estiver definida como `Zip`.  
Se você especificar o `provided` identificador dessa propriedade, poderá usar o atributo `Metadata` 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](building-custom-runtimes.md).
*Tipo:* string  
*Obrigatório*: Condicional  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime)` propriedade de um `AWS::Lambda::Function` recurso.

 `RuntimeManagementConfig`   <a name="sam-function-runtimemanagementconfig"></a>
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](https://docs.aws.amazon.com//lambda/latest/dg/runtimes-update.html) no Guia do desenvolvedor do *AWS Lambda *.  
*Digite*: [RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)` propriedade de um `AWS::Lambda::Function` recurso.

 `SnapStart`   <a name="sam-function-snapstart"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) no Guia do *AWS Lambda desenvolvedor*.  
*Digite*: [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)` propriedade de um `AWS::Lambda::Function` recurso.

 `SourceKMSKeyArn`   <a name="sam-function-sourcekmskeyarn"></a>
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 `[SourceKMSKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-sourcekmskeyarn)` propriedade de um tipo de `AWS::Lambda::Function` `Code` dados.

 `Tags`   <a name="sam-function-tags"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html#configuration-tags-restrictions) 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  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags)` propriedade de um `AWS::Lambda::Function` recurso. A `Tags` propriedade in AWS SAM consiste em pares de valores-chave (enquanto CloudFormation nessa propriedade consiste em uma lista de `Tag` objetos). Além disso, 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.

 `TenancyConfig`   <a name="sam-function-tenancyconfig"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tenancyconfig.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tenancyconfig)` propriedade de um `AWS::Lambda::Function` recurso.

 `Timeout`   <a name="sam-function-timeout"></a>
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 `[Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout)` propriedade de um `AWS::Lambda::Function` recurso.

 `Tracing`   <a name="sam-function-tracing"></a>
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 [Usando AWS Lambda com AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) no *Guia do AWS Lambda Desenvolvedor*.  
*Valores válidos*: [`Active`\|`Disabled`\|`PassThrough`]  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[TracingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig)` propriedade de um `AWS::Lambda::Function` recurso.

 `VersionDescription`   <a name="sam-function-versiondescription"></a>
Especifica o campo `Description` que é adicionado ao novo recurso da versão do Lambda.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description)` propriedade de um `AWS::Lambda::Version` recurso.

 `VersionDeletionPolicy`   <a name="sam-function-versiondeletionpolicy"></a>
Especifica a política de exclusão para o recurso da versão Lambda que é criado quando definido. `AutoPublishAlias` Isso controla se o recurso da versão é retido ou excluído quando a pilha é excluída.  
*Valores válidos*: `Delete`, `Retain` ou `Snapshot`  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente. Ele define o `DeletionPolicy` atributo no `AWS::Lambda::Version` recurso gerado.

 `VpcConfig`   <a name="sam-function-vpcconfig"></a>
A configuração que permite que essa função acesse recursos privados em sua nuvem privada virtual (VPC).  
*Digite*: [VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)` propriedade de um `AWS::Lambda::Function` recurso.

## Valores de retorno
<a name="sam-resource-function-return-values"></a>

### Ref.
<a name="sam-resource-function-return-values-ref"></a>

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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) no * Guia do usuário do AWS CloudFormation *. 

### Fã:: GetAtt
<a name="sam-resource-function-return-values-fn--getatt"></a>

`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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) no *AWS CloudFormation Guia do usuário*. 

`Arn`  <a name="Arn-fn::getatt"></a>
O ARN da função do Lambda subjacente.

## Exemplos
<a name="sam-resource-function-examples"></a>

### Função simples
<a name="sam-resource-function-examples-simple-function"></a>

Veja a seguir um exemplo básico de um recurso [AWS::Serverless::Function](#sam-resource-function) do tipo de pacote `Zip` (padrão) e código de função em um bucket do Amazon S3.

#### YAML
<a name="sam-resource-function-examples-simple-function--yaml"></a>

```
Type: AWS::Serverless::Function
Properties:
  Handler: index.handler
  Runtime: python3.9
  CodeUri: s3://{{bucket-name}}/{{key-name}}
```

### Exemplo de propriedades da função
<a name="sam-resource-function-examples-function-properties-example"></a>

Veja a seguir um exemplo de um tipo [AWS::Serverless::Function](#sam-resource-function) de pacote `Zip` (padrão) que usa`InlineCode`,,`Layers`, `Tracing``Policies`, sistema de `Amazon EFS` arquivos e uma fonte de `Api` eventos.

#### YAML
<a name="sam-resource-function-examples-function-properties-example--yaml"></a>

```
Type: AWS::Serverless::Function
DependsOn: MyMountTarget        # This is needed if an AWS::EFS::MountTarget resource is declared for EFS
Properties:
  Handler: index.handler
  Runtime: python3.9
  InlineCode: |
    def handler(event, context):
      print("Hello, world!")
  ReservedConcurrentExecutions: 30
  Layers:
    - Ref: MyLayer
  Tracing: Active
  Timeout: 120
  FileSystemConfigs:
    - Arn: !Ref MyEfsFileSystem
      LocalMountPath: /mnt/EFS
  Policies:
    - AWSLambdaExecute
    - Version: '2012-10-17		 	 	 ' 
      Statement:
        - Effect: Allow
          Action:
            - s3:GetObject
            - s3:GetObjectACL
          Resource: 'arn:aws:s3:::{{sam-s3-demo-bucket}}/*'
  Events:
    ApiEvent:
      Type: Api
      Properties:
        Path: /path
        Method: get
```

### ImageConfig exemplo
<a name="sam-resource-function-examples-imageconfig-example"></a>

Veja a seguir um exemplo de uma `ImageConfig` para uma função do Lambda do tipo de pacote `Image`.

#### YAML
<a name="sam-resource-function-examples-imageconfig-example--yaml"></a>

```
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
<a name="sam-resource-function-examples-runtimemanagementconfig-examples"></a>

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
```

### SnapStart exemplos
<a name="sam-resource-function-examples-snapstart-examples"></a>

Exemplo de uma função Lambda SnapStart ativada para futuras versões:

```
TestFunc
  Type: AWS::Serverless::Function
  Properties:
    ...
    SnapStart:
      ApplyOn: PublishedVersions
```

### TenancyConfig exemplos
<a name="sam-resource-function-examples-tenancyconfig-examples"></a>

Exemplo de uma função Lambda com o modo de isolamento de inquilino ativado:

```
TestFunction
  Type: AWS::Serverless::Function
  Properties:
    ...
    TenancyConfig:
      TenantIsolationMode: PER_TENANT
```

### Exemplo de sistema de arquivos S3 Files
<a name="sam-resource-function-examples-s3files-example"></a>

O exemplo a seguir cria uma função Lambda que monta um sistema de arquivos Amazon S3 Files. O modelo cria um bucket S3, um sistema de arquivos S3 Files suportado por esse bucket, um destino de montagem em uma sub-rede VPC e um ponto de acesso. A função monta o ponto de acesso `/mnt/s3files` e pode ler e gravar arquivos que são sincronizados com o bucket do S3.

**nota**  
Você pode anexar um sistema de arquivos Amazon EFS ou um sistema de arquivos S3 Files a uma função Lambda, mas não os dois ao mesmo tempo.

#### YAML
<a name="sam-resource-function-examples-s3files-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Lambda function with S3 Files file system

Resources:
  # VPC and networking
  MyVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true

  MySubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref MyVpc
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: !Select [0, !GetAZs '']

  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Security group for Lambda and S3 Files
      VpcId: !Ref MyVpc
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 2049
          ToPort: 2049
          CidrIp: 10.0.0.0/16

  # S3 bucket for file storage
  MyS3Bucket:
    Type: AWS::S3::Bucket

  # IAM role for S3 Files to access the bucket
  S3FilesRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: elasticfilesystem.amazonaws.com
            Action: sts:AssumeRole
      Policies:
        - PolicyName: S3FilesBucketAccess
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - s3:GetObject
                  - s3:PutObject
                  - s3:DeleteObject
                  - s3:ListBucket
                Resource:
                  - !GetAtt MyS3Bucket.Arn
                  - !Sub '${MyS3Bucket.Arn}/*'

  # S3 Files resources
  MyS3FilesFileSystem:
    Type: AWS::S3Files::FileSystem
    Properties:
      Bucket: !GetAtt MyS3Bucket.Arn
      RoleArn: !GetAtt S3FilesRole.Arn

  MyS3FilesMountTarget:
    Type: AWS::S3Files::MountTarget
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      SubnetId: !Ref MySubnet
      SecurityGroups:
        - !Ref MySecurityGroup

  MyS3FilesAccessPoint:
    Type: AWS::S3Files::AccessPoint
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      PosixUser:
        Uid: '1000'
        Gid: '1000'
      RootDirectory:
        Path: /lambda
        CreationInfo:
          OwnerUid: '1000'
          OwnerGid: '1000'
          Permissions: '750'

  # Lambda function with S3 Files mount
  MyFunction:
    Type: AWS::Serverless::Function
    DependsOn: MyS3FilesMountTarget
    Properties:
      Handler: index.handler
      Runtime: python3.12
      Timeout: 120
      VpcConfig:
        SecurityGroupIds:
          - !Ref MySecurityGroup
        SubnetIds:
          - !Ref MySubnet
      FileSystemConfigs:
        - Arn: !GetAtt MyS3FilesAccessPoint.AccessPointArn
          LocalMountPath: /mnt/s3files
      Policies:
        - Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Action:
                - s3files:ClientMount
                - s3files:ClientWrite
              Resource: !GetAtt MyS3FilesAccessPoint.AccessPointArn
      InlineCode: |
        import os

        def handler(event, context):
            # Write a file to the S3 Files mount
            with open('/mnt/s3files/hello.txt', 'w') as f:
                f.write('Hello from Lambda!')

            # List files at the mount path
            files = os.listdir('/mnt/s3files')
            return {'files': files}
```