

# PublishVersion
<a name="API_PublishVersion"></a>

Cria uma [versão](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) do código atual e a configuração de uma função. Use versões para criar um snapshot de seu código de função e a configuração não será alterada.

 O AWS Lambda não publica uma versão se a configuração e o código da função não tiverem sido alterados desde a última versão. Use [UpdateFunctionCode](API_UpdateFunctionCode.md) ou [UpdateFunctionConfiguration](API_UpdateFunctionConfiguration.md) para atualizar a função antes de publicar uma versão.

Os clientes podem invocar versões diretamente ou com um alias. Para criar um alias, use [CreateAlias](API_CreateAlias.md).

## Sintaxe da Solicitação
<a name="API_PublishVersion_RequestSyntax"></a>

```
POST /2015-03-31/functions/FunctionName/versions HTTP/1.1
Content-type: application/json

{
   "CodeSha256": "string",
   "Description": "string",
   "RevisionId": "string"
}
```

## Parâmetros da Solicitação de URI
<a name="API_PublishVersion_RequestParameters"></a>

A solicitação usa os seguintes parâmetros de URI:

 ** [FunctionName](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-FunctionName"></a>
O nome da função do Lambda.  

**Formatos de nome**
+  **Nome da função** - `MyFunction`.
+  **ARN da função** - `arn:aws:lambda:us-west-2:123456789012:function:MyFunction`.
+  **ARN parcial**: `123456789012:function:MyFunction`.
A restrição de comprimento se aplica apenas ao ARN completo. Se você especificar apenas o nome da função, ele será limitado a 64 caracteres.  
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 140.  
Padrão: `(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?`   
Exigido: Sim

## Corpo da Solicitação
<a name="API_PublishVersion_RequestBody"></a>

A solicitação aceita os dados a seguir no formato JSON.

 ** [CodeSha256](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-CodeSha256"></a>
Publique uma versão somente se o valor de hash corresponder ao valor especificado. Use essa opção para evitar a publicação de uma versão se o código da função tiver sido alterado desde a última atualização. Você pode obter o hash para a versão que você enviou por upload a partir da saída de [UpdateFunctionCode](API_UpdateFunctionCode.md).  
Tipo: string  
Exigido: não

 ** [Description](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-Description"></a>
Uma descrição da versão para substituir a descrição na configuração da função.  
Tipo: string  
Restrições de comprimento: comprimento mínimo 0. Comprimento máximo de 256.  
Obrigatório: não

 ** [RevisionId](#API_PublishVersion_RequestSyntax) **   <a name="lambda-PublishVersion-request-RevisionId"></a>
Atualize a função somente se o ID da revisão corresponder ao ID especificado. Use essa opção para evitar a publicação de uma versão se a configuração da função tiver sido alterada desde a última atualização.  
Tipo: string  
Exigido: não

## Sintaxe da Resposta
<a name="API_PublishVersion_ResponseSyntax"></a>

```
HTTP/1.1 201
Content-type: application/json

{
   "Architectures": [ "string" ],
   "CodeSha256": "string",
   "CodeSize": number,
   "DeadLetterConfig": { 
      "TargetArn": "string"
   },
   "Description": "string",
   "Environment": { 
      "Error": { 
         "ErrorCode": "string",
         "Message": "string"
      },
      "Variables": { 
         "string" : "string" 
      }
   },
   "EphemeralStorage": { 
      "Size": number
   },
   "FileSystemConfigs": [ 
      { 
         "Arn": "string",
         "LocalMountPath": "string"
      }
   ],
   "FunctionArn": "string",
   "FunctionName": "string",
   "Handler": "string",
   "ImageConfigResponse": { 
      "Error": { 
         "ErrorCode": "string",
         "Message": "string"
      },
      "ImageConfig": { 
         "Command": [ "string" ],
         "EntryPoint": [ "string" ],
         "WorkingDirectory": "string"
      }
   },
   "KMSKeyArn": "string",
   "LastModified": "string",
   "LastUpdateStatus": "string",
   "LastUpdateStatusReason": "string",
   "LastUpdateStatusReasonCode": "string",
   "Layers": [ 
      { 
         "Arn": "string",
         "CodeSize": number,
         "SigningJobArn": "string",
         "SigningProfileVersionArn": "string"
      }
   ],
   "LoggingConfig": { 
      "ApplicationLogLevel": "string",
      "LogFormat": "string",
      "LogGroup": "string",
      "SystemLogLevel": "string"
   },
   "MasterArn": "string",
   "MemorySize": number,
   "PackageType": "string",
   "RevisionId": "string",
   "Role": "string",
   "Runtime": "string",
   "RuntimeVersionConfig": { 
      "Error": { 
         "ErrorCode": "string",
         "Message": "string"
      },
      "RuntimeVersionArn": "string"
   },
   "SigningJobArn": "string",
   "SigningProfileVersionArn": "string",
   "SnapStart": { 
      "ApplyOn": "string",
      "OptimizationStatus": "string"
   },
   "State": "string",
   "StateReason": "string",
   "StateReasonCode": "string",
   "Timeout": number,
   "TracingConfig": { 
      "Mode": "string"
   },
   "Version": "string",
   "VpcConfig": { 
      "Ipv6AllowedForDualStack": boolean,
      "SecurityGroupIds": [ "string" ],
      "SubnetIds": [ "string" ],
      "VpcId": "string"
   }
}
```

## Elementos de Resposta
<a name="API_PublishVersion_ResponseElements"></a>

Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP 201.

Os dados a seguir são retornados no formato JSON pelo serviço.

 ** [Architectures](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Architectures"></a>
A arquitetura do conjunto de instruções compatível com a função. A arquitetura é uma matriz de strings com um dos valores válidos. O valor da arquitetura padrão é `x86_64`.  
Tipo: matriz de strings  
Membros da matriz: número fixo de 1 item.  
Valores Válidos: `x86_64 | arm64` 

 ** [CodeSha256](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-CodeSha256"></a>
O hash SHA256 do pacote de implantação da função.  
Tipo: string

 ** [CodeSize](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-CodeSize"></a>
O tamanho do pacote de implantação da função em bytes.  
Tipo: longo

 ** [DeadLetterConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-DeadLetterConfig"></a>
A fila de mensagens mortas da função.  
Tipo: objeto [DeadLetterConfig](API_DeadLetterConfig.md)

 ** [Description](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Description"></a>
A descrição da função.  
Tipo: string  
Restrições de comprimento: comprimento mínimo 0. Comprimento máximo de 256.

 ** [Environment](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Environment"></a>
As [variáveis de ambiente](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) da função. Omitido dos logs do AWS CloudTrail.  
Tipo: objeto [EnvironmentResponse](API_EnvironmentResponse.md)

 ** [EphemeralStorage](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-EphemeralStorage"></a>
O tamanho do diretório `/tmp` da função em MB. O valor padrão é 512, mas pode ser qualquer número inteiro entre 512 e 10.240 MB. Para obter mais informações, consulte [Como configurar o armazenamento temporário (console)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage).  
Tipo: objeto [EphemeralStorage](API_EphemeralStorage.md)

 ** [FileSystemConfigs](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FileSystemConfigs"></a>
Configurações de conexão para um [sistema de arquivos do Amazon EFS](https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).  
Tipo: matriz de objetos [FileSystemConfig](API_FileSystemConfig.md)  
Membros da matriz: número máximo de 1 item.

 ** [FunctionArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FunctionArn"></a>
O nome do recurso da Amazon (ARN) da função.  
Tipo: string  
Padrão: `arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_\.]+(:(\$LATEST|[a-zA-Z0-9-_]+))?` 

 ** [FunctionName](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-FunctionName"></a>
Nome da função.  
Tipo: string  
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 170.  
Padrão: `(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?` 

 ** [Handler](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Handler"></a>
A função que o Lambda chama para começar a executar sua função.  
Tipo: string  
Restrições de tamanho: tamanho máximo de 128.  
Padrão: `[^\s]+` 

 ** [ImageConfigResponse](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-ImageConfigResponse"></a>
Os valores de configuração da imagem da função.  
Tipo: objeto [ImageConfigResponse](API_ImageConfigResponse.md)

 ** [KMSKeyArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-KMSKeyArn"></a>
A AWS KMS key é usada para criptografar as [variáveis de ambiente](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption) da função. Quando o [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) é ativado, essa chave também é usada para criptografar o snapshot da função. Essa chave será retornada somente se você tiver configurado uma chave gerenciada pelo cliente.  
Tipo: string  
Padrão: `(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()` 

 ** [LastModified](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastModified"></a>
A data e a hora em que a função foi atualizada, no [formato ISO-8601](https://www.w3.org/TR/NOTE-datetime) (AAAA-MM-DDThh:mm:ss.sTZD).  
Tipo: string

 ** [LastUpdateStatus](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatus"></a>
O status da última atualização que foi executada na função. Ele é definido pela primeira vez como `Successful` após a conclusão da criação da função.  
Tipo: string  
Valores Válidos: `Successful | Failed | InProgress` 

 ** [LastUpdateStatusReason](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatusReason"></a>
O motivo pelo qual foi realizada a última atualização na função.  
Tipo: string

 ** [LastUpdateStatusReasonCode](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LastUpdateStatusReasonCode"></a>
O código do motivo pelo qual foi realizada a última atualização na função.  
Tipo: string  
Valores Válidos: `EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError` 

 ** [Layers](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Layers"></a>
As [camadas](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) da função.  
Tipo: matriz de objetos [Layer](API_Layer.md)

 ** [LoggingConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-LoggingConfig"></a>
As configurações do Amazon CloudWatch Logs da função.  
Tipo: objeto [LoggingConfig](API_LoggingConfig.md)

 ** [MasterArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-MasterArn"></a>
Para funções do Lambda@Edge, o ARN da função principal.  
Tipo: string  
Padrão: `arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?` 

 ** [MemorySize](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-MemorySize"></a>
A quantidade de memória disponível para a função no runtime.  
Tipo: inteiro  
Intervalo válido: valor mínimo de 128. Valor máximo de 10240.

 ** [PackageType](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-PackageType"></a>
O tipo de pacote de implantação. Defina como `Image` para imagem de contêiner e defina `Zip` para arquivo de documento .zip.  
Tipo: string  
Valores Válidos: `Zip | Image` 

 ** [RevisionId](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-RevisionId"></a>
A última revisão atualizada da função ou do alias.  
Tipo: string

 ** [Role](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Role"></a>
A função de execução da função.  
Tipo: string  
Padrão: `arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+` 

 ** [Runtime](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Runtime"></a>
O identificador do [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) da função. O runtime é necessário quando o pacote de implantação é um arquivo .zip.  
A lista a seguir inclui os tempos de execução obsoletos. Para obter mais informações, consulte a [Política de descontinuação de runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy).  
Tipo: string  
Valores Válidos: `nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21` 

 ** [RuntimeVersionConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-RuntimeVersionConfig"></a>
O ARN do runtime e quaisquer erros ocorridos.  
Tipo: objeto [RuntimeVersionConfig](API_RuntimeVersionConfig.md)

 ** [SigningJobArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SigningJobArn"></a>
O ARN do trabalho de assinatura.  
Tipo: string  
Padrão: `arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)` 

 ** [SigningProfileVersionArn](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SigningProfileVersionArn"></a>
O ARN da versão do perfil de assinatura.  
Tipo: string  
Padrão: `arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)` 

 ** [SnapStart](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-SnapStart"></a>
Defina `ApplyOn` como `PublishedVersions` para criar um snapshot do ambiente de execução inicializado ao publicar uma versão de função. Para obter mais informações, consulte [Improving startup performance with Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) (Como aprimorar a performance da inicialização com o Lambda SnapStart).  
Tipo: objeto [SnapStartResponse](API_SnapStartResponse.md)

 ** [State](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-State"></a>
O estado atual da função. Quando o estado é `Inactive`, você pode invocar a função para reativá-la.  
Tipo: string  
Valores Válidos: `Pending | Active | Inactive | Failed` 

 ** [StateReason](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-StateReason"></a>
O motivo para o estado atual da função.  
Tipo: string

 ** [StateReasonCode](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-StateReasonCode"></a>
O código do motivo para o estado atual da função. Quando o código for `Creating`, não será possível invocar ou modificar a função.  
Tipo: string  
Valores Válidos: `Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError` 

 ** [Timeout](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Timeout"></a>
A quantidade de tempo, em segundos, que o Lambda permite que uma função seja executada antes de encerrá-la.  
Tipo: inteiro  
Intervalo válido: valor mínimo de 1.

 ** [TracingConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-TracingConfig"></a>
A configuração de rastreamento do AWS X-Ray da função.  
Tipo: objeto [TracingConfigResponse](API_TracingConfigResponse.md)

 ** [Version](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-Version"></a>
A versão da função do Lambda.  
Tipo: string  
Restrições de tamanho: tamanho mínimo 1. Comprimento máximo de 1024.  
Padrão: `(\$LATEST|[0-9]+)` 

 ** [VpcConfig](#API_PublishVersion_ResponseSyntax) **   <a name="lambda-PublishVersion-response-VpcConfig"></a>
A configuração de rede da função.  
Tipo: objeto [VpcConfigResponse](API_VpcConfigResponse.md)

## Erros
<a name="API_PublishVersion_Errors"></a>

Para obter informações sobre os erros que todas as ações retornam, consulte [Erros comuns](CommonErrors.md).

 ** CodeStorageExceededException **   
Sua Conta da AWS excedeu o tamanho máximo total do código. Para obter mais informações, consulte [Cotas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).  
Código de Status HTTP: 400

 ** InvalidParameterValueException **   
Um dos parâmetros da solicitação não é válido.  
Código de Status HTTP: 400

 ** PreconditionFailedException **   
O RevisionId fornecido não corresponde ao RevisionId mais recente da função ou do alias do Lambda. Chame a operação de API `GetFunction` ou `GetAlias` para recuperar o RevisionId mais recente para o recurso.  
Código de status HTTP: 412

 ** ResourceConflictException **   
O recurso já existe ou outra operação está em andamento.  
Código de status HTTP: 409

 ** ResourceNotFoundException **   
O recurso especificado na solicitação não existe.  
Código de Status HTTP: 404

 ** ServiceException **   
O serviço AWS Lambda encontrou um erro interno.  
Código de Status HTTP: 500

 ** TooManyRequestsException **   
O limite de throughput da solicitação foi excedido. Para obter mais informações, consulte [Cotas do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests).  
Código de status HTTP: 429

## Ver também
<a name="API_PublishVersion_SeeAlso"></a>

Para mais informações sobre como usar essa API em um dos AWS SDKs de idiomas específicos, consulte o seguinte:
+  [AWS Interface de linha de comando](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK para .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK para C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK for Go](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK para JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/PublishVersion) 
+  [AWS SDK para Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/PublishVersion) 