UpdateFunctionConfiguration - AWS Lambda

UpdateFunctionConfiguration

Modifique la configuración específica de la versión de una función de Lambda.

Cuando actualiza una función, Lambda aprovisiona una instancia de la función y sus recursos auxiliares. Si su función se conecta a una VPC, este proceso puede tardar un minuto. Durante este tiempo, no puede modificar la función, pero puede seguir invocándola. Los campos LastUpdateStatus, LastUpdateStatusReason y LastUpdateStatusReasonCode en la respuesta de GetFunctionConfiguration indican cuándo se completa la actualización y la función está procesando eventos con la nueva configuración. Para obtener más información, consulte Estados de función de Lambda.

Esta configuración puede variar entre las versiones de una función y se bloquean al publicar una versión. No se puede modificar la configuración de una versión publicada, solo la versión no publicada.

Para configurar la concurrencia de las funciones, use PutFunctionConcurrency. Para conceder permisos de invocación a una Cuenta de AWS o Servicio de AWS, utilice AddPermission.

Sintaxis de la solicitud

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 de solicitud del URI

La solicitud utiliza los siguientes parámetros URI.

FunctionName

El nombre de la función de Lambda.

Formatos de nombre
  • Nombre de la función: my-function.

  • ARN de la función: arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • ARN parcial: 123456789012:function:my-function.

La limitación de longitud se aplica únicamente al ARN completo. Si solo especifica el nombre de la función, se limita a 64 caracteres de longitud.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 140 caracteres.

Patrón: (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-_]+))?

Obligatorio: sí

Cuerpo de la solicitud

La solicitud acepta los siguientes datos en formato JSON.

DeadLetterConfig

La configuración de una cola de mensajes fallidos que especifica la cola o el tema donde Lambda envía los eventos asíncronos cuando no superan el procesamiento. Para obtener más información, consulte Colas de mensajes fallidos.

Tipo: objeto DeadLetterConfig

Obligatorio: no

Description

Una descripción de la función.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0. La longitud máxima es de 256 caracteres.

Obligatorio: no

Environment

Variables de entorno que están accesibles desde el código de la función durante la ejecución.

Tipo: objeto Environment

Obligatorio: no

EphemeralStorage

El tamaño del directorio /tmp de la función en MB. El valor predeterminado es 512, pero puede ser cualquier número entero entre 512 y 10 240 MB. Para obtener más información, consulte Configuración del almacenamiento efímero (consola).

Tipo: objeto EphemeralStorage

Obligatorio: no

FileSystemConfigs

Configuración de conexión para un sistema de archivos de Amazon EFS.

Tipo: Matriz de objetos FileSystemConfig

Miembros de la matriz: número máximo de 1 elemento.

Obligatorio: no

Handler

El nombre del método dentro del código al que Lambda llama para ejecutar la función. Se requiere un controlador si el paquete de implementación es un archivo .zip. El formato incluye el nombre del archivo. También puede incluir espacios de nombres y otros calificadores, en función del tiempo de ejecución. Para obtener más información, consulte Modelo de programación de Lambda.

Tipo: cadena

Limitaciones de longitud: longitud máxima de 128 caracteres.

Patrón: [^\s]+

Obligatorio: no

ImageConfig

Valores de configuración de la imagen de contenedor que anulan los valores del archivo Docker de la imagen de contenedor.

Tipo: objeto ImageConfig

Obligatorio: no

KMSKeyArn

El ARN de la clave administrada por el cliente de AWS Key Management Service (AWS KMS) que se usa para cifrar las variables de entorno de la función. Cuando Lambda SnapStart está activado, Lambda también usa esta clave para cifrar la instantánea de la función. Si implementa la función mediante una imagen de contenedor, Lambda también usa esta clave para cifrar la función cuando se implementa. Tenga en cuenta que esta no es la misma clave que se utiliza para proteger la imagen de contenedor en Amazon Elastic Container Registry (Amazon ECR). Si no proporciona ninguna clave administrada por el cliente, Lambda utiliza una clave de servicio predeterminada.

Tipo: String

Patrón: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

Obligatorio: no

Layers

Lista de capas de función para añadir al entorno de ejecución de la función. Especifique cada capa por su ARN, incluida la versión.

Tipo: matriz de cadenas

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 140 caracteres.

Patrón: arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+

Obligatorio: no

LoggingConfig

Los ajustes de configuración de Registros de Amazon CloudWatch de la función.

Tipo: objeto LoggingConfig

Obligatorio: no

MemorySize

La cantidad de memoria disponible para la función en tiempo de ejecución. Al aumentar la memoria de la función, también se aumenta su asignación de CPU. El valor predeterminado es 128 MB. El valor puede ser cualquier múltiplo de 1 MB.

Tipo: entero

Rango válido: valor mínimo de 128. Valor máximo de 10240.

Obligatorio: no

RevisionId

Actualice la función solo si el ID de revisión coincide con el ID especificado. Utilice esta opción para evitar la modificación de una función que ha cambiado desde que lo leyó por última vez.

Tipo: cadena

Obligatorio: no

Role

El nombre de recurso de Amazon (ARN) del rol de ejecución de la función.

Tipo: String

Patrón: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Obligatorio: no

Runtime

El identificador del tiempo de ejecución de la función. Se requiere tiempo de ejecución si el paquete de implementación es un archivo .zip.

En la siguiente lista, se incluye los tiempos de ejecución en desuso. Para obtener más información, consulte Política de obsolescencia del tiempo de ejecución.

Tipo: cadena

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

Obligatorio: no

SnapStart

La configuración de SnapStart de la función.

Tipo: objeto SnapStart

Obligatorio: no

Timeout

La cantidad de tiempo (en segundos) durante la cual Lambda permite que se ejecute una función antes de pararla. El valor predeterminado es de 3 segundos. El valor máximo permitido es de 900 segundos. Para obtener más información, consulte Entorno de ejecución de Lambda.

Tipo: entero

Rango válido: valor mínimo de 1.

Obligatorio: no

TracingConfig

Establezca Mode en Active para realizar una muestra y un seguimiento de una subred de solicitudes entrantes con X-Ray.

Tipo: objeto TracingConfig

Obligatorio: no

VpcConfig

Para la conectividad de red con los recursos de AWS en una VPC, especifique una lista de grupos de seguridad y subredes en la VPC. Cuando conecte una función a una VPC, esta solo puede tener acceso a los recursos y a Internet a través de esa VPC. Para obtener más información, consulte Configuración de una función de Lambda para obtener acceso a los recursos en una VPC.

Tipo: objeto VpcConfig

Obligatorio: no

Sintaxis de la respuesta

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 respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 200.

El servicio devuelve los datos siguientes en formato JSON.

Architectures

La arquitectura del conjunto de instrucciones que admite la función. La arquitectura es una matriz de cadenas con uno de los valores válidos. El valor de la arquitectura predeterminada es x86_64.

Tipo: matriz de cadenas

Miembros de la matriz: número fijo de 1 elemento.

Valores válidos: x86_64 | arm64

CodeSha256

El hash SHA256 del paquete de implementación de la función.

Tipo: cadena

CodeSize

El tamaño del paquete de implementación de la función, en bytes.

Tipo: largo

DeadLetterConfig

La cola de mensajes fallidos de la función.

Tipo: objeto DeadLetterConfig

Description

Descripción de la función.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 0. La longitud máxima es de 256 caracteres.

Environment

Las variables de entorno de la función. Omitido en los registros de AWS CloudTrail.

Tipo: objeto EnvironmentResponse

EphemeralStorage

El tamaño del directorio /tmp de la función en MB. El valor predeterminado es 512, pero puede ser cualquier número entero entre 512 y 10 240 MB. Para obtener más información, consulte Configuración del almacenamiento efímero (consola).

Tipo: objeto EphemeralStorage

FileSystemConfigs

Configuración de conexión para un sistema de archivos de Amazon EFS.

Tipo: Matriz de objetos FileSystemConfig

Miembros de la matriz: número máximo de 1 elemento.

FunctionArn

El nombre de recurso de Amazon (ARN) de la función.

Tipo: String

Patrón: 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

El nombre de la función.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 170 caracteres.

Patrón: (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

La función a la que llama Lambda para comenzar a ejecutar la función.

Tipo: cadena

Limitaciones de longitud: longitud máxima de 128 caracteres.

Patrón: [^\s]+

ImageConfigResponse

Los valores de configuración de la imagen de la función.

Tipo: objeto ImageConfigResponse

KMSKeyArn

La AWS KMS key que se utiliza para cifrar las variables de entorno de la función. Cuando Lambda SnapStart está activada, esta clave también se usa para cifrar la instantánea de la función. Esta clave solo se devuelve si ha configurado la clave administrada por el cliente.

Tipo: String

Patrón: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

LastModified

La fecha y hora de la última actualización de la función, en formato ISO-8601 (AAAA-MM-DDThh:mm:ss.sTZD).

Tipo: cadena

LastUpdateStatus

El estado de la última actualización que se realizó en la función. Esto se establece primero en Successful después de que se complete la creación de la función

Tipo: cadena

Valores válidos: Successful | Failed | InProgress

LastUpdateStatusReason

El motivo de la última actualización que se realizó en la función.

Tipo: cadena

LastUpdateStatusReasonCode

El código de motivo de la última actualización que se realizó en la función.

Tipo: cadena

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

Las capas de la función.

Tipo: Matriz de objetos Layer

LoggingConfig

Los ajustes de configuración de Registros de Amazon CloudWatch de la función.

Tipo: objeto LoggingConfig

MasterArn

Para las funciones Lambda@Edge, el ARN de la función principal.

Tipo: String

Patrón: 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

La cantidad de memoria disponible para la función en tiempo de ejecución.

Tipo: entero

Rango válido: valor mínimo de 128. Valor máximo de 10240.

PackageType

El tipo de paquete de implementación. Establezca en Image para la imagen contenedor y configure Zip para el archivo de archivos .zip.

Tipo: cadena

Valores válidos: Zip | Image

RevisionId

La última revisión actualizada de la función o alias.

Tipo: cadena

Role

Rol de ejecución de la función.

Tipo: String

Patrón: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Runtime

El identificador del tiempo de ejecución de la función. Se requiere tiempo de ejecución si el paquete de implementación es un archivo .zip.

En la siguiente lista, se incluye los tiempos de ejecución en desuso. Para obtener más información, consulte Política de obsolescencia del tiempo de ejecución.

Tipo: cadena

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

El ARN del tiempo de ejecución y cualquier error que se haya producido.

Tipo: objeto RuntimeVersionConfig

SigningJobArn

El ARN del trabajo de firma.

Tipo: String

Patrón: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SigningProfileVersionArn

El ARN de la versión del perfil de firma.

Tipo: String

Patrón: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SnapStart

Establezca ApplyOn como PublishedVersions para crear una instantánea del entorno de ejecución inicializado cuando publique una versión de la función. Para obtener más información, consulte Improving startup performance with Lambda SnapStart (Cómo mejorar el rendimiento de inicio con Lambda SnapStart).

Tipo: objeto SnapStartResponse

State

El estado actual de la función. Cuando el estado es Inactive, puede reactivar la función invocándola.

Tipo: cadena

Valores válidos: Pending | Active | Inactive | Failed

StateReason

El motivo del estado actual de la función.

Tipo: cadena

StateReasonCode

El código de motivo del estado actual de la función. Cuando el código es Creating, no puede invocar ni modificar la función.

Tipo: cadena

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

La cantidad de tiempo en segundos durante el cual Lambda permite que se ejecute una función antes de pararla.

Tipo: entero

Rango válido: valor mínimo de 1.

TracingConfig

Configuración de seguimiento de AWS X-Ray de la función.

Tipo: objeto TracingConfigResponse

Version

La versión de la función Lambda.

Tipo: cadena

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.

Patrón: (\$LATEST|[0-9]+)

VpcConfig

Configuración de red de la función.

Tipo: objeto VpcConfigResponse

Errores

Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.

CodeSigningConfigNotFoundException

La configuración de firma de código especificado no existe.

Código de estado HTTP: 404

CodeVerificationFailedException

La firma de código falló en una o más de las verificaciones de validación para detectar la discrepancia o la caducidad de la firma, y la política de firma de código se establece en IMPONER. Lambda bloquea la implementación.

Código de estado HTTP: 400

InvalidCodeSignatureException

La firma de código falló en la verificación de integridad. Si falla la verificación de integridad, Lambda bloquea la implementación, incluso si la política de firma de código está establecida en WARN (Advertencia).

Código de estado HTTP: 400

InvalidParameterValueException

Uno de los parámetros de la solicitud no es válido.

Código de estado HTTP: 400

PreconditionFailedException

El RevisionId proporcionado no coincide con el RevisionId más reciente para la función o alias de Lambda. Llame a la operación de la API GetFunction o GetAlias para recuperar la última versión de RevisionId para su recurso.

Código de estado HTTP: 412

ResourceConflictException

El recurso ya existe o hay otra operación en marcha.

Código de estado HTTP: 409

ResourceNotFoundException

El recurso especificado en la solicitud no existe.

Código de estado HTTP: 404

ServiceException

El servicio AWS Lambda detectó un error interno.

Código de estado HTTP: 500

TooManyRequestsException

Se ha superado el límite de rendimiento de la solicitud. Para obtener más información, consulte Cuotas de Lambda.

Código de estado HTTP: 429

Véase también

Para obtener más información sobre el uso de esta API en un SDK de AWS de un lenguaje específico, consulte: