

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::WebFunction
<a name="sam-resource-webfunction"></a>

 Cria uma função AWS Lambda Web, que atende solicitações HTTP por meio de um endpoint gerenciado. Ao contrário de uma função de evento Lambda, que é executada em resposta a invocações e eventos, uma função Web executa seu servidor web e recebe solicitações HTTP diretamente. A partir de uma única`AWS::Serverless::WebFunction`, AWS SAM gera a Função Web, uma revisão imutável que contém seu código e configuração, e um endpoint que direciona o tráfego para uma ou mais revisões. 

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

**Importante**  
Seu código de função deve executar um servidor HTTP que escuta o host e a porta na variável de `AWS_LAMBDA_HTTP_ENDPOINT` ambiente. O tempo de execução não está definido`PORT`. Por padrão, o tempo de execução é executado `index.js` na raiz do pacote de implantação. Use [EntryPoint](#sam-webfunction-entrypoint)para executar um arquivo diferente.

**Importante**  
O bucket do Amazon S3 que contém seu pacote de implantação deve atender aos seguintes requisitos:  
O controle de versão está ativado.
Uma política de bucket concede `lambda.amazonaws.com` `s3:GetObject` as `s3:GetObjectVersion` permissões e. Recomendamos que você defina o escopo da política com uma `ArnLike` condição `aws:SourceArn` que corresponda às revisões da função, por exemplo`arn:aws:lambda:{{us-east-1}}:{{111122223333}}:web-function/{{my-function}}/revision/*`.
Se o objeto for criptografado com SSE-KMS, ele usará uma chave gerenciada pelo cliente cuja política de chaves permite `lambda.amazonaws.com` a chamada`kms:Decrypt`. A chave AWS gerenciada do Amazon S3 (`aws/s3`) não é suportada, porque você não pode alterar sua política de chaves.
Para ver um exemplo de política de bucket, consulte [Política de bucket para Lambda](https://docs.aws.amazon.com/lambda/latest/dg/web-functions-code-s3.html#web-functions-code-s3-bucket-policy) no Guia do *AWS Lambda desenvolvedor*.  
`CodeUri`deve referenciar um objeto no Amazon S3. Os `sam package` comandos `sam build` and não oferecem suporte a caminhos locais para esse recurso.

## Sintaxe
<a name="sam-resource-webfunction-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-webfunction-syntax.yaml"></a>

```
Type: AWS::Serverless::WebFunction
Properties:
  [AuthType](#sam-webfunction-authtype): {{String}}
  [AutoDeploymentMode](#sam-webfunction-autodeploymentmode): {{String}}
  [CodeUri](#sam-webfunction-codeuri): {{String | CodeUri}}
  [EgressNetworkConnectorArn](#sam-webfunction-egressnetworkconnectorarn): {{String}}
  [EndpointDescription](#sam-webfunction-endpointdescription): {{String}}
  [EndpointName](#sam-webfunction-endpointname): {{String}}
  [EndpointType](#sam-webfunction-endpointtype): {{String}}
  [EntryPoint](#sam-webfunction-entrypoint): {{String}}
  [EnvironmentVariables](#sam-webfunction-environmentvariables): {{Map}}
  [ExecutionRoleArn](#sam-webfunction-executionrolearn): {{String}}
  [FunctionName](#sam-webfunction-functionname): {{String}}
  [InlineCode](#sam-webfunction-inlinecode): {{String}}
  [KmsKeyArn](#sam-webfunction-kmskeyarn): {{String}}
  [LoggingConfig](#sam-webfunction-loggingconfig): {{Map}}
  [MaxConcurrencyPerEnvironment](#sam-webfunction-maxconcurrencyperenvironment): {{Integer}}
  [ReplicaRegions](#sam-webfunction-replicaregions): {{List | ReplicaRegions}}
  [RevisionDescription](#sam-webfunction-revisiondescription): {{String}}
  [RevisionWeights](#sam-webfunction-revisionweights): {{RevisionWeights}}
  [Runtime](#sam-webfunction-runtime): {{String}}
  [ScalingConfig](#sam-webfunction-scalingconfig): {{Map}}
  [Tags](#sam-webfunction-tags): {{Map}}
  [ThrottleConfig](#sam-webfunction-throttleconfig): {{Map}}
  [Timeout](#sam-webfunction-timeout): {{Integer}}
```

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

 `AuthType`   <a name="sam-webfunction-authtype"></a>
Como o endpoint autoriza solicitações.  
+ `IamAuth`: O Lambda autoriza solicitações com Signature versão 4 e IAM. Os chamadores precisam da `lambda:InvokeWebFunctionEndpoint` permissão, concedida por meio de uma política baseada em recursos sobre a função.
+ `ApplicationManaged`: o endpoint é público. Sua função deve autorizar cada solicitação sozinha.
*Valores válidos*: `IamAuth`, `ApplicationManaged`  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-authtype)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. 

 `AutoDeploymentMode`   <a name="sam-webfunction-autodeploymentmode"></a>
Como o endpoint direciona o tráfego entre as revisões.  
+ `LatestRevision`: envia 100% do tráfego para a revisão que essa implantação cria.
+ `Disabled`: roteia o tráfego de acordo com [RevisionWeights](#sam-webfunction-revisionweights).
Os valores que você pode usar e se `RevisionWeights` são obrigatórios dependem de [EndpointType](#sam-webfunction-endpointtype):  
+ `HomeRegion`: use qualquer um dos valores. Com`Disabled`, `RevisionWeights` é obrigatório.
+ `MultiRegion`ou`PerRegion`: usar`Disabled`. Se você omitir`RevisionWeights`, o endpoint roteará 100% do tráfego para a revisão criada na mesma pilha, para que você possa criar o endpoint em uma única implantação. O tráfego não passa para as revisões criadas por implantações posteriores.
O valor deve ser resolvido ao AWS SAM transformar o modelo. Há suporte `Ref` para um parâmetro de A a. Outras funções intrínsecas não são suportadas.  
*Valores válidos*: `LatestRevision`, `Disabled`  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: `LatestRevision`  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `CodeUri`   <a name="sam-webfunction-codeuri"></a>
A localização do pacote de implantação no Amazon S3. Especifique um `s3://{{bucket}}/{{key}}` URI ou um objeto com `Bucket``Key`, e `Version` chaves opcionais. Para saber os requisitos do bucket, consulte a nota na parte superior desta página.  
*Tipo*: String \| [CodeUri](sam-property-webfunction-codeuri.md)  
*Obrigatório*: sim  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[BuildConfig.CodeConfig.S3Object](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-s3object.html)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. AWS SAM converte um `s3://` URI em `Bucket``Key`, e. `VersionId` 

 `EgressNetworkConnectorArn`   <a name="sam-webfunction-egressnetworkconnectorarn"></a>
O ARN qualificado para versão de um conector de rede que roteia o tráfego de saída da função por meio de sua VPC. O ARN deve terminar em um número de versão, por exemplo. `arn:aws:lambda:us-east-1:123456789012:network-connector:my-connector:1` Para usar a versão mais recente de um conector no mesmo modelo, especifique`!GetAtt {{MyConnector}}.LatestVersionArn`. O conector [ComputeTypes](sam-resource-networkconnector.md#sam-networkconnector-computetypes)deve ser`WebFunction`.  
Se você especificar uma string literal, AWS SAM verifique se é um ARN do conector de rede qualificado para a versão. As funções intrínsecas são transmitidas e validadas pelo serviço. A alteração desse valor cria uma nova revisão.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.EgressNetworkConnectorArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

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

 `EndpointName`   <a name="sam-webfunction-endpointname"></a>
O nome do endpoint. A alteração do nome substitui o endpoint. A alteração `EndpointType` também substitui o endpoint, portanto, mude `EndpointName` ao mesmo tempo. CloudFormation não é possível substituir um recurso com nome personalizado sem um novo nome.  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: `prod`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[EndpointName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointname)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. 

 `EndpointType`   <a name="sam-webfunction-endpointtype"></a>
Onde o endpoint atende ao tráfego.  
+ `HomeRegion`: serve da região da pilha.
+ `MultiRegion`: replica a função para as regiões [ReplicaRegions](#sam-webfunction-replicaregions)e encaminha cada solicitação para a região mais próxima.
+ `PerRegion`: expõe um endpoint separado em cada região de réplica.
`MultiRegion`e `PerRegion` exigir`AutoDeploymentMode: Disabled`.  
*Valores válidos*: `HomeRegion`, `MultiRegion`, `PerRegion`  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: `HomeRegion`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[EndpointType](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-endpointtype)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. 

 `EntryPoint`   <a name="sam-webfunction-entrypoint"></a>
O arquivo que o tempo de execução executa, em relação à raiz do pacote de implantação. AWS SAM passa para o tempo de execução na variável de `AWS_LAMBDA_NODEJS_ENTRYPOINT` ambiente reservada.  
Você não pode usar essa propriedade quando `EnvironmentVariables` é uma função intrínseca.  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: `index.js`  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `EnvironmentVariables`   <a name="sam-webfunction-environmentvariables"></a>
Key-value pares a serem definidos como variáveis de ambiente para a revisão.  
+ As teclas devem começar com uma letra e conter somente letras, números e sublinhados.
+ Os valores não devem estar vazios e ter no máximo 4.096 caracteres.
+ AWS SAM converte valores numéricos e booleanos em cadeias de caracteres.
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.EnvironmentVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-environmentvariables)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `ExecutionRoleArn`   <a name="sam-webfunction-executionrolearn"></a>
O ARN da função do IAM que a função assume quando é executada. Se você não especificar uma função, AWS SAM crie uma com a política `AWSLambdaBasicExecutionRole` gerenciada e uma ID lógica de`{{<resource-logical-id>}}Role`.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.ExecutionRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-executionrolearn)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `FunctionName`   <a name="sam-webfunction-functionname"></a>
Nome da função. Os nomes das funções devem ser exclusivos em uma conta em todas as regiões. Se você não especificar um nome, AWS SAM gera um a partir do ID lógico e do ID da pilha, com no máximo 64 caracteres. A alteração do nome substitui a função, sua revisão e seu endpoint.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-functionname)` propriedade dos `AWS::Lambda::WebFunctionEndpoint` recursos `AWS::Lambda::WebFunction``AWS::Lambda::WebFunctionRevision`, e. 

 `InlineCode`   <a name="sam-webfunction-inlinecode"></a>
Não suportado para`AWS::Serverless::WebFunction`. Use [CodeUri](#sam-webfunction-codeuri).  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `KmsKeyArn`   <a name="sam-webfunction-kmskeyarn"></a>
O ARN da AWS KMS chave usada para criptografar as variáveis de ambiente da revisão.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionrevision.html#cfn-lambda-webfunctionrevision-kmskeyarn)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `LoggingConfig`   <a name="sam-webfunction-loggingconfig"></a>
A configuração de registro para a revisão, como o grupo de registros e os níveis de registro.  
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.TelemetryConfig.LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-telemetryconfig.html#cfn-lambda-webfunctionrevision-telemetryconfig-loggingconfig)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `MaxConcurrencyPerEnvironment`   <a name="sam-webfunction-maxconcurrencyperenvironment"></a>
O número máximo de solicitações simultâneas que cada ambiente de execução processa.  
*Tipo*: inteiro  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.MaxConcurrencyPerEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-maxconcurrencyperenvironment)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `ReplicaRegions`   <a name="sam-webfunction-replicaregions"></a>
As regiões para as quais replicar a função. Use essa propriedade com `MultiRegion` `PerRegion` endpoints. Especifique uma lista de códigos de região e grupos de regiões, ou um objeto com `IncludeRegions` um opcional`ExcludeRegions`.  
*Tipo*: Lista \| [ReplicaRegions](sam-property-webfunction-replicaregions.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[Regions](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-regions)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. AWS SAM expande grupos de regiões e se aplica `ExcludeRegions` para produzir a lista de regiões. 

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

 `RevisionWeights`   <a name="sam-webfunction-revisionweights"></a>
Um mapa de IDs de revisão para pesos de tráfego. Use essa propriedade quando `AutoDeploymentMode` estiver`Disabled`. Especifique até duas revisões. Cada peso é um número inteiro de 1 a 100, e os pesos devem somar 100.  
*Digite*: [RevisionWeights](sam-property-webfunction-revisionweights.md)  
*Obrigatório:* condicional. Exigido quando `AutoDeploymentMode` é `Disabled` e `EndpointType` é`HomeRegion`.  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[RevisionWeights](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-revisionweights)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. AWS SAM converte o mapa em uma lista `RevisionId` de `Weight` objetos. 

 `Runtime`   <a name="sam-webfunction-runtime"></a>
O tempo de execução da função, por exemplo`nodejs24.x`.  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[BuildConfig.RuntimeConfig.Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-runtimeconfig.html#cfn-lambda-webfunctionrevision-runtimeconfig-runtime)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

 `ScalingConfig`   <a name="sam-webfunction-scalingconfig"></a>
A configuração de escalabilidade para o endpoint, como o número máximo de ambientes de execução.  
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-scalingconfig)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. 

 `Tags`   <a name="sam-webfunction-tags"></a>
Um mapa de pares de valores-chave que especifica as tags adicionadas à função e à função de execução gerada. AWS SAM   
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é semelhante à `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunction.html#cfn-lambda-webfunction-tags)` propriedade de um `AWS::Lambda::WebFunction` 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 à função e à função padrão que é gerada para ela. 

 `ThrottleConfig`   <a name="sam-webfunction-throttleconfig"></a>
A configuração de limitação do endpoint, como a taxa máxima de solicitação.  
*Tipo*: mapa  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ThrottleConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-webfunctionendpoint.html#cfn-lambda-webfunctionendpoint-throttleconfig)` propriedade de um `AWS::Lambda::WebFunctionEndpoint` recurso. 

 `Timeout`   <a name="sam-webfunction-timeout"></a>
O tempo máximo, em segundos, que a função pode ser executada por solicitação. Os valores válidos são de 3 a 900.  
*Tipo*: inteiro  
*Obrigatório*: não  
*Padrão*: `30`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[ServiceConfig.TimeoutSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-webfunctionrevision-serviceconfig.html#cfn-lambda-webfunctionrevision-serviceconfig-timeoutseconds)` propriedade de um `AWS::Lambda::WebFunctionRevision` recurso. 

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

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

Quando a ID lógica desse recurso é fornecida à função `Ref` intrínseca, ela retorna o ARN da função Web. Onde você precisar do nome da função, use o valor de `FunctionName` em vez disso.

Para obter mais informações sobre como usar a função `Ref`, consulte [`Ref`](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-webfunction-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 [`Fn::GetAtt`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) o *AWS CloudFormation Guia do usuário*.

`FunctionArn`  <a name="sam-webfunction-getatt-functionarn"></a>
O nome de recurso da Amazon (ARN) da função Web.

`State`  <a name="sam-webfunction-getatt-state"></a>
O estado atual da função Web.

`StateReason`  <a name="sam-webfunction-getatt-statereason"></a>
O motivo do estado atual da função Web.

`CreatedAt`  <a name="sam-webfunction-getatt-createdat"></a>
A hora em que a função Web foi criada.

`UpdatedAt`  <a name="sam-webfunction-getatt-updatedat"></a>
A hora em que a função Web foi atualizada pela última vez.

Para referenciar a revisão ou o endpoint que AWS SAM gera, use suas IDs lógicas `{{<resource-logical-id>}}Revision` e. `{{<resource-logical-id>}}Endpoint` Por exemplo, `!GetAtt MyWebFunctionEndpoint.DomainName` retorna o nome de domínio do endpoint para uma função Web com o ID `MyWebFunction` lógico. Para obter mais informações, consulte [CloudFormation recursos gerados quando AWS::Serverless::WebFunction é especificado](sam-specification-generated-resources-webfunction.md).

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

### Função básica da Web
<a name="sam-resource-webfunction-example-basic"></a>

O exemplo a seguir cria uma função Web com um IAM-authorized endpoint na região da pilha. AWS SAM gera a função de execução e o endpoint encaminha todo o tráfego para a revisão que essa implantação cria.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      Timeout: 30

Outputs:
  EndpointUrl:
    Value: !Sub https://${MyWebFunctionEndpoint.DomainName}
```

### Divida o tráfego entre duas revisões
<a name="sam-resource-webfunction-example-canary"></a>

O exemplo a seguir desativa a implantação automática e envia 90% do tráfego para uma revisão existente e 10% para outra. Ambas as revisões já devem existir.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri: s3://amzn-s3-demo-bucket/webfn-v2.zip
      AutoDeploymentMode: Disabled
      RevisionWeights:
        rev-abc123: 90
        rev-def456: 10
```

### Multi-Region Função Web
<a name="sam-resource-webfunction-example-multiregion"></a>

O exemplo a seguir replica a função para as regiões dos EUA, exceto `us-west-1` e encaminha cada solicitação para a região mais próxima. Como `RevisionWeights` é omitido, o endpoint roteia todo o tráfego para a revisão criada nessa pilha.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EndpointName: prodmr
      EndpointType: MultiRegion
      AutoDeploymentMode: Disabled
      ReplicaRegions:
        IncludeRegions:
          - US
        ExcludeRegions:
          - us-west-1
```

### Função Web com saída de VPC
<a name="sam-resource-webfunction-example-vpc-egress"></a>

O exemplo a seguir cria um conector de rede para Web Functions e roteia o tráfego de saída da função pelas sub-redes e grupos de segurança do conector.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  MyConnector:
    Type: AWS::Serverless::NetworkConnector
    Properties:
      ComputeTypes:
        - WebFunction
      VpcConfig:
        SubnetIds:
          - subnet-0abc123def4567890
          - subnet-0def456abc7890123
        SecurityGroupIds:
          - sg-0abc1234abcde0001
        NetworkProtocol: IPv4

  MyWebFunction:
    Type: AWS::Serverless::WebFunction
    Properties:
      Runtime: nodejs24.x
      AuthType: IamAuth
      CodeUri:
        Bucket: amzn-s3-demo-bucket
        Key: webfn.zip
        Version: {{object-version-id}}
      EgressNetworkConnectorArn: !GetAtt MyConnector.LatestVersionArn
```