UpdateFunctionCode
Actualiza el código de una función Lambda. Si la firma de código está habilitada para la función, el paquete de código debe estar firmado por un editor de confianza. Para obtener más información, consulte Configuración de la firma de código.
Si el tipo de paquete de la función es Image
, debe especificar el paquete de código en ImageUri
como URI de una imagen de contenedor en el registro de Amazon ECR.
Si el tipo de paquete de función es Zip
, se debe especificar el paquete de implementación como un archivo .zip. Ingrese el bucket de Amazon S3 y la clave de la ubicación del archivo .zip del código. También puede proporcionar el código de función insertado utilizando el campo ZipFile
.
El código del paquete de implementación debe ser compatible con la arquitectura del conjunto de instrucciones de destino de la función (x86-64
o arm64
).
El código de la función se bloquea al publicar una versión. No se puede modificar el código de una versión publicada, solo la versión no publicada.
Para una función definida como una imagen contenedor, Lambda resuelve la etiqueta de la imagen en un resumen de imagen. En Amazon ECR, si actualiza la etiqueta de imagen a una nueva imagen, Lambda no actualiza automáticamente la función.
Sintaxis de la solicitud
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 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 función:
my-function
. -
ARN de 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.
- Architectures
-
La arquitectura del conjunto de instrucciones que admite la función. Ingrese una matriz de cadenas con uno de los valores válidos (arm64 o x86_64). El valor predeterminado es
x86_64
.Tipo: matriz de cadenas
Miembros de la matriz: número fijo de 1 elemento.
Valores válidos:
x86_64 | arm64
Obligatorio: no
- DryRun
-
Establezca el valor en verdadero para validar los parámetros de solicitud y los permisos de acceso sin modificar el código de función.
Tipo: booleano
Obligatorio: no
- ImageUri
-
URI de una imagen de contenedor en el registro de Amazon ECR. No lo utilice para una función definida con un archivo .zip.
Tipo: String
Requerido: No
- Publish
-
Establezca el valor en verdadero para publicar una nueva versión de la función después de actualizar el código. Esto tiene el mismo efecto que llamar a PublishVersion por separado.
Tipo: booleano
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: String
Requerido: No
- S3Bucket
-
Un bucket de Amazon S3 en la misma región de AWS que su función. El bucket puede estar en una cuenta de AWS diferente. Úselo solo con una función definida con un paquete de implementación de archivos .zip.
Tipo: String
Limitaciones de longitud: longitud mínima de 3. La longitud máxima es de 63 caracteres.
Patrón:
^[0-9A-Za-z\.\-_]*(?<!\.)$
Obligatorio: no
- S3Key
-
La clave de Amazon S3 del paquete de implementación. Úselo solo con una función definida con un paquete de implementación de archivos .zip.
Tipo: String
Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.
Obligatorio: no
- S3ObjectVersion
-
Para objetos con control de versiones, la versión del objeto del paquete de implementación que se va a utilizar.
Tipo: String
Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1024 caracteres.
Obligatorio: no
- ZipFile
-
Contenido codificado en base64 del paquete de implementación. AWS Los clientes AWS SDK y CLI se encargan de la codificación por usted. Úselo solo con una función definida con un paquete de implementación de archivos .zip.
Tipo: objeto de datos binarios codificados en Base64
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"
}
],
"MasterArn": "string",
"MemorySize": number,
"PackageType": "string",
"RevisionId": "string",
"Role": "string",
"Runtime": "string",
"SigningJobArn": "string",
"SigningProfileVersionArn": "string",
"State": "string",
"StateReason": "string",
"StateReasonCode": "string",
"Timeout": number,
"TracingConfig": {
"Mode": "string"
},
"Version": "string",
"VpcConfig": {
"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: String
- 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: String
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 pequeño (predeterminado) es 512, pero puede ser cualquier número entero entre 512 y 10 240 MB.
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: String
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 su función.
Tipo: String
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. Esta clave solo se devuelve si ha configurado una 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: String
- 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ónTipo: String
Valores válidos:
Successful | Failed | InProgress
- LastUpdateStatusReason
-
El motivo de la última actualización que se realizó en la función.
Tipo: String
- LastUpdateStatusReasonCode
-
El código de motivo de la última actualización que se realizó en la función.
Tipo: String
Valores válidos:
EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage
- Layers
-
Las capas de la función.
Tipo: Matriz de objetos Layer
- 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 configureZip
para el archivo de archivos .zip.Tipo: String
Valores válidos:
Zip | Image
- RevisionId
-
La última revisión actualizada de la función o alias.
Tipo: String
- 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 entorno en tiempo de ejecución de la función Lambda.
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
- 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})?:(.*)
- State
-
El estado actual de la función. Cuando el estado es
Inactive
, puede reactivar la función invocándola.Tipo: String
Valores válidos:
Pending | Active | Inactive | Failed
- StateReason
-
El motivo del estado actual de la función.
Tipo: String
- 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: String
Valores válidos:
Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage
- 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: String
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
- CodeSigningConfigNotFoundException
-
La configuración de firma de código especificado no existe.
Código de estado HTTP: 404
- CodeStorageExceededException
-
Ha superado el tamaño máximo de su código total por cuenta. Más información
Código de estado HTTP: 400
- 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. Lambda siempre bloquea la implementación si falla la verificación de integridad, incluso si la política de firma de código está establecida en 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 API de
GetFunction
oGetAlias
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.
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: