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
/tmpda 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
Successfulapó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
Imagepara imagem de contêiner e definaZippara 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
ApplyOncomoPublishedVersionspara 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
GetFunctionouGetAliaspara 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: