PublishVersion - AWS Lambda

PublishVersion

Cria uma versão 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 ou UpdateFunctionConfiguration 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.

Sintaxe da Solicitação

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 solicitação usa os seguintes parâmetros de URI:

FunctionName

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 solicitação aceita os dados a seguir no formato JSON.

CodeSha256

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.

Tipo: string

Exigido: não

Description

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

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

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

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

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

O hash SHA256 do pacote de implantação da função.

Tipo: string

CodeSize

O tamanho do pacote de implantação da função em bytes.

Tipo: longo

DeadLetterConfig

A fila de mensagens mortas da função.

Tipo: objeto DeadLetterConfig

Description

A descrição da função.

Tipo: string

Restrições de comprimento: comprimento mínimo 0. Comprimento máximo de 256.

Environment

As variáveis de ambiente da função. Omitido dos logs do AWS CloudTrail.

Tipo: objeto EnvironmentResponse

EphemeralStorage

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).

Tipo: objeto EphemeralStorage

FileSystemConfigs

Configurações de conexão para um sistema de arquivos do Amazon EFS.

Tipo: matriz de objetos FileSystemConfig

Membros da matriz: número máximo de 1 item.

FunctionArn

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

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

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

Os valores de configuração da imagem da função.

Tipo: objeto ImageConfigResponse

KMSKeyArn

A AWS KMS key é usada para criptografar as variáveis de ambiente da função. Quando o Lambda SnapStart é 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

A data e a hora em que a função foi atualizada, no formato ISO-8601 (AAAA-MM-DDThh:mm:ss.sTZD).

Tipo: string

LastUpdateStatus

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

O motivo pelo qual foi realizada a última atualização na função.

Tipo: string

LastUpdateStatusReasonCode

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

As camadas da função.

Tipo: matriz de objetos Layer

LoggingConfig

As configurações do Amazon CloudWatch Logs da função.

Tipo: objeto LoggingConfig

MasterArn

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

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

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

A última revisão atualizada da função ou do alias.

Tipo: string

Role

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

O identificador do runtime 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.

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

O ARN do runtime e quaisquer erros ocorridos.

Tipo: objeto RuntimeVersionConfig

SigningJobArn

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

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

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 (Como aprimorar a performance da inicialização com o Lambda SnapStart).

Tipo: objeto SnapStartResponse

State

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

O motivo para o estado atual da função.

Tipo: string

StateReasonCode

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

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

A configuração de rastreamento do AWS X-Ray da função.

Tipo: objeto TracingConfigResponse

Version

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

A configuração de rede da função.

Tipo: objeto VpcConfigResponse

Erros

Para obter informações sobre os erros que todas as ações retornam, consulte Erros comuns.

CodeStorageExceededException

Sua Conta da AWS excedeu o tamanho máximo total do código. Para obter mais informações, consulte Cotas do Lambda.

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.

Código de status HTTP: 429

Ver também

Para mais informações sobre como usar essa API em um dos AWS SDKs de idiomas específicos, consulte o seguinte: