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 | arm64
Obrigató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
/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 definaZip
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
comoPublishedVersions
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.
- 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
GetFunction
ouGetAlias
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: