UpdateFunctionConfiguration
Modifique as configurações específicas da versão de uma função do Lambda.
Quando você atualiza uma função, o Lambda provisiona uma instância da função e seus recursos de suporte. Se sua função se conecta a uma VPC, esse processo pode demorar um minuto. Durante esse período, não será possível modificar a função, mas ainda será possível invocá-la. Os campos LastUpdateStatus
, LastUpdateStatusReason
e LastUpdateStatusReasonCode
na resposta de GetFunctionConfiguration indicam quando a atualização está concluída e a função está processando eventos com a nova configuração. Para obter mais informações, consulte Estados da função do Lambda.
Essas configurações podem variar entre as versões de uma função e são bloqueadas quando você publica uma versão. Não é possível modificar a configuração de uma versão publicada, somente a da versão não publicada.
Para configurar a simultaneidade da função, use PutFunctionConcurrency. Para conceder permissões de invocação para uma Conta da AWS ou um AWS service (Serviço da AWS), use AddPermission.
Sintaxe da Solicitação
PUT /2015-03-31/functions/FunctionName
/configuration HTTP/1.1
Content-type: application/json
{
"DeadLetterConfig": {
"TargetArn": "string
"
},
"Description": "string
",
"Environment": {
"Variables": {
"string
" : "string
"
}
},
"EphemeralStorage": {
"Size": number
},
"FileSystemConfigs": [
{
"Arn": "string
",
"LocalMountPath": "string
"
}
],
"Handler": "string
",
"ImageConfig": {
"Command": [ "string
" ],
"EntryPoint": [ "string
" ],
"WorkingDirectory": "string
"
},
"KMSKeyArn": "string
",
"Layers": [ "string
" ],
"LoggingConfig": {
"ApplicationLogLevel": "string
",
"LogFormat": "string
",
"LogGroup": "string
",
"SystemLogLevel": "string
"
},
"MemorySize": number
,
"RevisionId": "string
",
"Role": "string
",
"Runtime": "string
",
"SnapStart": {
"ApplyOn": "string
"
},
"Timeout": number
,
"TracingConfig": {
"Mode": "string
"
},
"VpcConfig": {
"Ipv6AllowedForDualStack": boolean
,
"SecurityGroupIds": [ "string
" ],
"SubnetIds": [ "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:
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.
- DeadLetterConfig
-
Uma configuração de fila de mensagens não entregues que especifica a fila ou o tópico para o qual o Lambda envia eventos assíncronos quando eles apresentam falhas no processamento. Para obter mais informações, consulte Filas de mensagens não entregues.
Tipo: objeto DeadLetterConfig
Obrigatório: não
- Description
-
Uma descrição da função.
Tipo: string
Restrições de comprimento: comprimento mínimo 0. Comprimento máximo de 256.
Obrigatório: não
- Environment
-
As variáveis de ambiente que são acessíveis pelo código de função durante a execução.
Tipo: objeto Environment
Obrigatório: não
- 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
Obrigatório: não
- 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.
Obrigatório: não
- Handler
-
O nome do método em seu código que o Lambda chama para executar a função. O manipulador é necessário quando o pacote de implantação é um arquivo do arquivo .zip. O formato inclui o nome do arquivo. Ele também pode incluir namespaces e outros qualificadores, dependendo do runtime. Para obter mais informações, consulte Modelo de programação do Lambda.
Tipo: string
Restrições de tamanho: tamanho máximo de 128.
Padrão:
[^\s]+
Obrigatório: não
- ImageConfig
-
Valores de configuração da imagem do contêiner que substituem os valores no arquivo Dockerfile da imagem do contêiner.
Tipo: objeto ImageConfig
Obrigatório: não
- KMSKeyArn
-
O ARN da chave gerenciada pelo cliente do AWS Key Management Service (AWS KMS) que é usada para criptografar as variáveis de ambiente da sua função. Quando o Lambda SnapStart é ativado, o Lambda também usa essa chave para criptografar o snapshot da função. Se você implantar a função usando uma imagem de contêiner, o Lambda também usará essa chave para criptografar a função quando ela for implantada. Essa não é a mesma chave usada para proteger a imagem do contêiner no Amazon Elastic Container Registry (Amazon ECR). Se você não fornecer uma chave gerenciada pelo cliente, o Lambda usará uma chave de serviço padrão.
Tipo: string
Padrão:
(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()
Obrigatório: não
- Layers
-
Uma lista de camadas de função para adicionar ao ambiente de execução da função. Especifique cada camada por seu ARN, incluindo a versão.
Tipo: matriz de strings
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 140.
Padrão:
arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+
Obrigatório: não
- LoggingConfig
-
As configurações do Amazon CloudWatch Logs da função.
Tipo: objeto LoggingConfig
Obrigatório: não
- MemorySize
-
A quantidade de memória disponível para a função no runtime. Aumentar a memória de função também aumenta sua alocação de CPU. O valor padrão é 128 MB. O valor pode ser qualquer múltiplo de 1 MB.
Tipo: inteiro
Intervalo válido: valor mínimo de 128. Valor máximo de 10240.
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
- Role
-
O nome de recurso da Amazon (ARN) da 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+=,.@\-_/]+
Obrigatório: não
- 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
Obrigatório: não
- SnapStart
-
A configuração do SnapStart da função.
Tipo: objeto SnapStart
Obrigatório: não
- Timeout
-
A quantidade de tempo (em segundos) que o Lambda permite que uma função seja executada antes de encerrá-la. O padrão é 3 segundos. O valor máximo permitido é de 900 segundos. Para obter mais informações, consulte Ambiente de execução do Lambda.
Tipo: inteiro
Intervalo válido: valor mínimo de 1.
Obrigatório: não
- TracingConfig
-
Defina
Mode
comoActive
para criar uma amostra e rastrear um subconjunto de solicitações de entrada com o x-Ray.Tipo: objeto TracingConfig
Obrigatório: não
- VpcConfig
-
Para a conectividade de rede para os recursos da AWS em uma VPC, especifique uma lista de grupos de segurança e sub-redes na VPC. Quando você conecta uma função a uma VPC, ela poderá acessar os recursos e a Internet somente por meio dessa VPC. Para obter mais informações, consulte Configuração de uma função do Lambda para acessar recursos em uma VPC.
Tipo: objeto VpcConfig
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
- 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: