UpdateFunctionCode
Atualiza o código de uma função do Lambda. Se a assinatura de código estiver habilitada para a função, o pacote de código deve ser assinado por um editor confiável. Para obter mais informações, consulte Configurar a assinatura de código para o Lambda.
Se o tipo de pacote da função for Image, você deverá especificar o pacote de código em ImageUri como o URI de uma imagem de contêiner no registro do Amazon ECR.
Se o tipo de pacote da função for Zip, você deverá especificar o pacote de implantação como um arquivo .zip. Insira o bucket do Amazon S3 e a chave da localização do arquivo .zip do código. Você também pode fornecer o código da função em linha usando o campo ZipFile.
O código no pacote de implantação deve ser compatível com a arquitetura do conjunto de instruções de destino da função (x86-64 ou arm64).
O código da função é bloqueado quando você publica uma versão. Não é possível modificar o código de uma versão publicada, somente o da versão não publicada.
nota
Para uma função definida como uma imagem de contêiner, o Lambda resolve a etiqueta de imagem para um resumo de imagem. No Amazon ECR, se você atualizar a etiqueta de imagem para uma nova imagem, o Lambda não atualizará automaticamente a função.
Sintaxe da Solicitação
PUT /2015-03-31/functions/FunctionName/code HTTP/1.1
Content-type: application/json
{
"Architectures": [ "string" ],
"DryRun": boolean,
"ImageUri": "string",
"Publish": boolean,
"RevisionId": "string",
"S3Bucket": "string",
"S3Key": "string",
"S3ObjectVersion": "string",
"ZipFile": blob
}
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:
my-function. -
ARN da função:
arn:aws:lambda:us-west-2:123456789012:function:my-function. -
ARN parcial:
123456789012:function:my-function.
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.
- Architectures
-
A arquitetura do conjunto de instruções compatível com a função. Insira uma matriz de strings com um dos valores válidos (arm64 ou x86_64). O valor padrão é
x86_64.Tipo: matriz de strings
Membros da matriz: número fixo de 1 item.
Valores Válidos:
x86_64 | arm64Obrigatório: não
- DryRun
-
Defina como “true” para validar os parâmetros de solicitação e as permissões de acesso sem modificar o código da função.
Tipo: booliano
Obrigatório: não
- ImageUri
-
URI de uma imagem de contêiner no registro do Amazon ECR. Não use para uma função definida com um arquivo .zip.
Tipo: string
Exigido: não
- Publish
-
Defina como “true” para publicar uma nova versão da função após a atualização do código. Isso tem o mesmo resultado que chamar PublishVersion separadamente.
Tipo: booliano
Obrigatório: não
- RevisionId
-
Atualize a função somente se o ID de revisão corresponder ao ID especificado. Use essa opção para evitar a modificação de uma função que foi alterada desde a última leitura.
Tipo: string
Exigido: não
- S3Bucket
-
Um bucket do Amazon S3 na mesma Região da AWS que sua função. O bucket pode estar em uma outra Conta da AWS. Utilize somente com uma função definida com um pacote de implantação de arquivamento de arquivo .zip.
Tipo: string
Restrições de tamanho: tamanho mínimo de 3. Tamanho máximo de 63.
Padrão:
^[0-9A-Za-z\.\-_]*(?<!\.)$Obrigatório: não
- S3Key
-
A chave do Amazon S3 do pacote de implantação. Utilize somente com uma função definida com um pacote de implantação de arquivamento de arquivo .zip.
Tipo: string
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 1.024.
Obrigatório: não
- S3ObjectVersion
-
Para objetos com controle de versão, a versão do objeto do pacote de implantação a ser usada.
Tipo: string
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 1.024.
Obrigatório: não
- ZipFile
-
O conteúdo codificado em base64 do pacote de implantação. AWS Os clientes do SDK e da AWS CLI processam a codificação para você. Utilize somente com uma função definida com um pacote de implantação de arquivamento de arquivo .zip.
Tipo: Objeto de dados binários codificado em Base64
Obrigatório: não
Sintaxe da Resposta
HTTP/1.1 200
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 200.
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.
- CodeSigningConfigNotFoundException
-
A configuração de assinatura de código especificada não existe.
Código de Status HTTP: 404
- 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
- CodeVerificationFailedException
-
A assinatura de código falhou em uma ou mais verificações de validação em relação à incompatibilidade ou expiração de assinatura, e a política de assinatura de código está definida como ENFORCE. O Lambda bloqueia a implantação.
Código de Status HTTP: 400
- InvalidCodeSignatureException
-
A assinatura de código falhou na verificação de integridade. Se a verificação de integridade falhar, o Lambda bloqueará a implantação, mesmo que a política de assinatura de código esteja definida como WARN.
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: