

# Implementación de funciones de Lambda como archivos .zip
<a name="configuration-function-zip"></a>

Cuando se crea una función Lambda, empaquete el código de función en un paquete de implementación. Lambda admite dos tipos de paquetes de implementación: imágenes de contenedor y archivos .zip. El flujo de trabajo para crear una función depende del tipo de paquete de implementación. Para configurar una función definida como una imagen de contenedor, consulte [Crear una función de Lambda con una imagen de contenedor](images-create.md).

Puede utilizar la consola de Lambda y la API de Lambda para crear una función definida con un archivo .zip. También puede cargar un archivo .zip actualizado para cambiar el código de función. 

**nota**  
No puede cambiar el [tipo de paquete de implementación](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-PackageType) (.zip o imagen de contenedor) de una función existente. Por ejemplo, no se puede convertir una función de imagen de contenedor para utilizar un archivo .zip. Debe crear una nueva función.

**Topics**
+ [

## Creación de la función
](#configuration-function-create)
+ [

## Uso del editor de código de la consola
](#configuration-functions-console-update)
+ [

## Actualización del código de la función
](#configuration-function-update)
+ [

## Cambio del tiempo de ejecución
](#configuration-function-runtime)
+ [

## Modificación de la arquitectura
](#configuration-function-arch)
+ [

## Uso de la API de Lambda
](#configuration-function-api)
+ [

## Descargar el código de la función
](#configuration-function-download)
+ [

## CloudFormation
](#configuration-function-cloudformation)
+ [

# Cifrado de los paquetes de implementación .zip de Lambda
](encrypt-zip-package.md)

## Creación de la función
<a name="configuration-function-create"></a>

Cuando se crea una función definida con un archivo .zip, se elige una plantilla de código, la versión de idioma y el rol de ejecución para la función. Agregue su código de función después de que Lambda cree la función.

**Cómo crear la función**

1. Abra la página de [Functions](https://console.aws.amazon.com/lambda/home#/functions) (Funciones) en la consola de Lambda.

1. Elija **Create function (Crear función)**.

1. Seleccione **Author from scratch (Crear desde cero)** o **Use a blueprint (Usar proyecto)** para crear su función. 

1. Bajo **Basic information (Información básica)**, haga lo siguiente:

   1. En **Nombre de la función**, escriba el nombre de la función. Los nombres de las funciones están limitados a 64 caracteres de longitud.

   1. Para **Runtime (Tiempo de ejecución)**, elija la versión del idioma que desea utilizar para su función.

   1. (Opcional) Para **Architecture** (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función. La arquitectura predeterminada es x86\$164. Cuando cree el paquete de implementación para su función, asegúrese de que sea compatible con esta [arquitectura del conjunto de instrucciones](foundation-arch.md).

1. (Opcional) En **Permisos**, expanda **Cambiar función de ejecución predeterminada**. Puede crear un nuevo **Rol de ejecución** o crear un rol existente.

1. (Opcional) Expanda **Advanced settings (Configuración avanzada)**. Puede elegir una **Configuración de firma de código** para la función. También puede configurar una (Amazon VPC) para que tenga acceso a la función.

1. Elija **Create function (Crear función)**.

Lambda crea la nueva función. Ahora puede usar la consola para agregar el código de función y configurar otros parámetros y características de función. Para obtener instrucciones de implementación de código, consulte la página del controlador para conocer el tiempo de ejecución que utiliza la función. 

------
#### [ Node.js ]

[Implementar funciones Node.js de Lambda con archivos de archivo.zip](nodejs-package.md) 

------
#### [ Python ]

 [Uso de archivos .zip para funciones de Lambda en Python](python-package.md) 

------
#### [ Ruby ]

 [Implementar funciones de Lambda de Ruby con archivos .zip](ruby-package.md) 

------
#### [ Java ]

 [Implementar funciones de Lambda Java con archivos de archivo .zip o JAR](java-package.md) 

------
#### [ Go ]

 [Implementar funciones de Lambda en Go con archivos .zip](golang-package.md) 

------
#### [ C\$1 ]

 [Crear e implementar funciones de Lambda C\$1 con archivos de archivo .zip](csharp-package.md) 

------
#### [ PowerShell ]

 [Implementar funciones Lambda de PowerShell con archivos .zip](powershell-package.md) 

------

## Uso del editor de código de la consola
<a name="configuration-functions-console-update"></a>

La consola crea una función de Lambda con un único archivo de fuente. Para los lenguajes de scripting, puede editar este archivo y agregar más archivos con el editor de código integrado. Para guardar los cambios, elija **Guardar**. A continuación, para ejecutar el código, elija **Pruebas**.

Al guardar el código de función, la consola de Lambda crea un paquete de implementación de archivo .zip. Cuando desarrolle el código de función fuera de la consola (mediante un IDE), debe [crear un paquete de implementación](nodejs-package.md) para cargar el código a la función de Lambda.

## Actualización del código de la función
<a name="configuration-function-update"></a>

Para los lenguajes de scripting (Node.js, Python y Ruby), puede editar el código de la función en el editor de código integrado. Si el tamaño del código supera los 3 MB, o si necesita agregar bibliotecas, o para lenguajes incompatibles con el editor (Java, Go, C\$1), debe cargar el código de función como un archivo .zip. Si el archivo .zip tiene un tamaño inferior a los 50 MB, puede cargarlo desde su equipo local. Si el tamaño del archivo supera los 50 MB, cárguelo a la función desde un bucket de Amazon S3.

**Para cargar código de función como un archivo .zip**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija la función que desea actualizar y elija la pestaña **Código**.

1. En **Fuente de código**, seleccione **Cargar desde**.

1. Elija **.zip file** (Archivo .zip) y, a continuación, elija **Upload** (Cargar). 

   1. En el selector de archivos, seleccione la versión de imagen nueva y elija **Open** (Abrir) y, luego, **Save** (Guardar).

1. (Alternativa al paso 4) Elija **Amazon S3 location (Ubicación de Amazon S3)**.

   1. En el cuadro de texto, introduzca el vínculo URL de S3 del archivo .zip y, después, elija **Save (Guardar)**.

## Cambio del tiempo de ejecución
<a name="configuration-function-runtime"></a>

Si actualiza la configuración de la función para utilizar un nuevo tiempo de ejecución, es posible que deba actualizar el código de la función para que sea compatible con el tiempo de ejecución nuevo. Si actualiza la configuración de la función para utilizar un tiempo de ejecución diferente, **debe** proporcionar un nuevo código de función que sea compatible con el tiempo de ejecución y la arquitectura. Para obtener instrucciones acerca de cómo crear un paquete de implementación para el código de función, consulte la página del controlador para conocer el tiempo de ejecución que utiliza la función.

Las imágenes base de Node.js 20, Python 3.12, Java 21, .NET 8, Ruby 3.3 y versiones posteriores se basan en la imagen de contenedor mínima de Amazon Linux 2023. Las imágenes base anteriores utilizan Amazon Linux 2. AL2023 ofrece varias ventajas con respecto a Amazon Linux 2, incluida una huella de implementación más reducida y versiones actualizadas de bibliotecas como `glibc`. Para obtener más información, consulte [Presentación del tiempo de ejecución de Amazon Linux 2023 para AWS Lambda](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/) en el Blog de informática de AWS.

**Para cambiar el tiempo de ejecución**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija la función que desea actualizar y elija la pestaña **Código**.

1. Desplácese hasta la sección **Configuración de tiempo de ejecución**, que se encuentra en el editor de código.

1. Elija **Edit (Edición de)**.

   1. Para **Runtime** (Tiempo de ejecución), seleccione el identificador del tiempo de ejecución.

   1. Para **Handler (Controlador)**, especifique el nombre de archivo y el controlador de au función.

   1. Para **Architecture** (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función.

1. Seleccione **Save**.

## Modificación de la arquitectura
<a name="configuration-function-arch"></a>

Antes de cambiar la arquitectura del conjunto de instrucciones, debe asegurarse de que el código de función sea compatible con la arquitectura de destino. 

Si utiliza Node.js, Python o Ruby y edita el código de función en el editor integrado, el código existente puede ejecutarse sin modificaciones.

Sin embargo, si proporciona el código de función mediante un paquete de implementación de archivo .zip, debe preparar un nuevo archivo .zip recopilado y creado de forma correcta para el tiempo de ejecución de destino y la arquitectura del conjunto de instrucciones. Para obtener instrucciones, consulte la página del controlador para conocer el tiempo de ejecución de la función.

**Para cambiar la arquitectura del conjunto de instrucciones**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija la función a actualizar y luego elija la pesetaña **Code (Código)**.

1. En **Runtime settings (Configuración de tiempo de ejecución)**, elija **Edit (Editar)**.

1. Para **Architecture** (Arquitectura), elija la arquitectura del conjunto de instrucciones que utilizará para su función.

1. Seleccione **Save**.

## Uso de la API de Lambda
<a name="configuration-function-api"></a>

Para crear y configurar una función que utilice un archivo .zip, utilice las siguientes operaciones de la API: 
+ [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)

## Descargar el código de la función
<a name="configuration-function-download"></a>

Puede descargar la versión no publicada (`$LATEST`) actual del archivo .zip con el código de la función a través de la consola de Lambda. Para ello, primero asegúrese de que dispone de los siguientes permisos de IAM:
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListRolePolicies`
+ `iam:ListRoles`

**Para descargar el archivo .zip con el código de la función**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija la función para la que desea descargar el archivo .zip con el código de la función.

1. En la **Descripción general de la función**, pulse el botón **Descargar** y, a continuación, seleccione **Descargar archivo .zip con el código de la función**.

   1. También puede seleccionar **Descargar archivo AWS SAM** para generar y descargar una plantilla SAM basada en la configuración de la función. También puede seleccionar **Descargar ambos** para descargar tanto el archivo .zip como la plantilla SAM.

## CloudFormation
<a name="configuration-function-cloudformation"></a>

Puede usar CloudFormation para crear una función Lambda con archivos .zip. En su plantilla CloudFormation, el recurso `AWS::Lambda::Function` especifica la función Lambda. Para obtener descripciones de las propiedades del recurso `AWS::Lambda::Function`, consulte [AWS::Lambda::Function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) en la *Guía del usuario de AWS CloudFormation*.

En el recurso `AWS::Lambda::Function`, establezca las siguientes propiedades para crear una función definida como un archivo .zip:
+ AWS::Lambda::Function
  + PackageType: estableca en `Zip`.
  + Código: introduzca el nombre del bucket de Amazon S3 y el nombre del archivo .zip en los campos `S3Bucket` y `S3Key`. Para Node.js o Python, puede proporcionar código fuente en línea de su función Lambda.
  + Tiempo de ejecución: establece el valor de tiempo de ejecución.
  + Arquitectura: establezca el valor de la arquitectura en `arm64` para utilizar el procesador Graviton2 de AWS. De forma predeterminada, el valor de la arquitectura es `x86_64`.

# Cifrado de los paquetes de implementación .zip de Lambda
<a name="encrypt-zip-package"></a>

Lambda siempre proporciona cifrado en el servidor en reposo para los paquetes de implementación .zip y los detalles de configuración de las funciones con una AWS KMS key. De forma predeterminada, Lambda utiliza una [Clave propiedad de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). Si este comportamiento predeterminado se ajusta a su flujo de trabajo, no tiene que configurar nada más. AWS no cobra por usar esta clave.

Si lo prefiere, puede proporcionar una clave administrada por el cliente de AWS KMS en su lugar. Puede hacerlo para tener control sobre la rotación de la clave de KMS o para cumplir con los requisitos de su organización para administrar claves de KMS. Cuando usa una clave administrada por el usuario, solo los usuarios de su cuenta con acceso a la clave de KMS pueden ver o administrar el código o la configuración de la función.

Las claves administradas por el cliente ocasionan cargos de AWS KMS estándar. Para más información, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

## Crear una clave administrada por el cliente
<a name="create-key"></a>

 Puede crear una clave simétrica administrada por el cliente a través de la Consola de administración de AWS o las API de AWS KMS.

**Para crear una clave simétrica administrada por el cliente**

Siga los pasos de [Creación de cifrado simétrico y creación de claves de KMS simétricas](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.

### Permisos
<a name="enable-zip-permissions"></a>

**Política de claves**

Las [políticas de clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Para obtener más información, consulte [Cómo cambiar una política de claves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to) en la *Guía para desarrolladores de AWS Key Management Service*.

Cuando se utiliza una clave administrada por el cliente para cifrar un paquete de implementación de .zip, Lambda no agrega ninguna [concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) a la clave. En su lugar, su política de claves de AWS KMS debe permitir a Lambda llamar a las siguientes operaciones de la API de AWS KMS en su nombre:
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

El siguiente ejemplo de política de claves permite que todas las funciones de Lambda de la cuenta 111122223333 llamen a las operaciones de AWS KMS requeridas para la clave administrada por el cliente especificada:

**Example AWS KMSPolítica de claves de**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringLike": {
                "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:*"
                }
            }
        }
    ]
}
```

Para obtener información sobre la [solución de problemas de acceso a las claves](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam), consulte la *Guía para desarrolladores de AWS Key Management Service*.

**Permisos de entidades principales**

Cuando se utiliza una clave administrada por el cliente para cifrar un paquete de implementación .zip, solo las [entidades principales](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html) con acceso a esa clave pueden acceder al paquete de implementación .zip. Por ejemplo, las entidades principales que no tienen acceso a la clave administrada por el cliente no pueden descargar el paquete .zip mediante la URL de S3 prefirmada que se incluye en la respuesta de [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html). Se devuelve una `AccessDeniedException` en la sección `Code` de la respuesta.

**Example AWS KMS AccessDeniedException**  

```
{
    "Code": {
        "RepositoryType": "S3",
        "Error": {
            "ErrorCode": "AccessDeniedException",
            "Message": "KMS access is denied. Check your KMS permissions. KMS Exception: AccessDeniedException KMS Message: User: arn:aws:sts::111122223333:assumed-role/LambdaTestRole/session is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-east-1:111122223333:key/key-id with an explicit deny in a resource-based policy"
        },
        "SourceKMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"
    },
	...
```

Para obtener más información sobre los permisos para las claves de AWS KMS, consulte [Autenticación y control de acceso para AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html).

## Uso de una clave administrada por el cliente para el paquete de implementación .zip
<a name="enable-zip-custom-encryption"></a>

Utilice los siguientes parámetros de la API para configurar las claves administradas por el cliente para los paquetes de implementación .zip:
+ [SourceKMSKeyArn](https://docs.aws.amazon.com/lambda/latest/api/API_FunctionCode.html#lambda-Type-FunctionCode-SourceKMSKeyArn): cifra el paquete de implementación .zip de origen (el archivo que se carga).
+ [KMSKeyArn](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-KMSKeyArn): cifra las [variables de entorno](configuration-envvars-encryption.md) y las instantáneas de [Lambda SnapStart](snapstart.md).

Cuando `SourceKMSKeyArn` y `KMSKeyArn` se especifican, Lambda utiliza la clave `KMSKeyArn` para cifrar la versión descomprimida del paquete que Lambda usa para invocar la función. Cuando se especifica `SourceKMSKeyArn`, pero no `KMSKeyArn`, Lambda utiliza una [Clave administrada de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) para cifrar la versión descomprimida del paquete.

------
#### [ Lambda console ]

**Cómo agregar una clave de cifrado administrada por el cliente al crear una función**

1. Abra la página de [Functions](https://console.aws.amazon.com/lambda/home#/functions) (Funciones) en la consola de Lambda.

1. Seleccione **Creación de función**.

1. Elija **Author from scratch** (Crear desde cero) o **Container image** (Imagen de contenedor). 

1. Bajo **Basic information (Información básica)**, haga lo siguiente:

   1. En **Nombre de la función**, escriba el nombre de la función.

   1. Para **Runtime (Tiempo de ejecución)**, elija la versión del idioma que desea utilizar para su función.

1. Expanda **Configuración avanzada** y, a continuación, seleccione **Habilitar el cifrado con una clave administrada por el cliente de AWS KMS**.

1. Elija una clave administrada por el cliente.

1. Seleccione **Creación de función**.

Para eliminar el cifrado de clave administrada por el cliente o utilizar una clave diferente, debe volver a cargar el paquete de implementación .zip.

**Cómo agregar el cifrado de clave administrada por el cliente a una función existente**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija el nombre de una función.

1. En el panel **Código fuente**, elija **Cargar desde**.

1. Elija el **archivo .zip** o la **ubicación de Amazon S3**.  
![\[\]](http://docs.aws.amazon.com/es_es/lambda/latest/dg/images/upload-zip.png)

1. Cargue el archivo o introduzca la ubicación de Amazon S3.

1. Elija **Habilitar el cifrado con una clave administrada por el cliente de AWS KMS**.

1. Elija una clave administrada por el cliente.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Cómo agregar una clave de cifrado administrada por el cliente al crear una función**

En el siguiente ejemplo de [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html):
+ `--code`: especifica la ruta local al paquete de implementación .zip (`ZipFile`) y la clave administrada del cliente para cifrarla (`SourceKMSKeyArn`).
+ `--kms-key-arn`: especifica la clave administrada por el cliente para cifrar las variables de entorno y la versión descomprimida del paquete de implementación.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x \
  --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code ZipFile=fileb://myFunction.zip,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

En el siguiente ejemplo de [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html):
+ `--code`: especifica la ubicación del archivo .zip en un bucket de Amazon S3 (`S3Bucket`, `S3Key`, `S3ObjectVersion`) y la clave administrada del el cliente para cifrarla (`SourceKMSKeyArn`).
+ `--kms-key-arn`: especifica la clave administrada por el cliente para cifrar las variables de entorno y la versión descomprimida del paquete de implementación.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code S3Bucket=amzn-s3-demo-bucket,S3Key=myFileName.zip,S3ObjectVersion=myObjectVersion,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

**Cómo agregar el cifrado de clave administrada por el cliente a una función existente**

En el siguiente ejemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html):
+ `--zip-file`: especifica la ruta local del paquete de implementación .zip.
+ `--source-kms-key-arn`: especifica la clave administrada por el cliente para cifrar la versión comprimida del paquete de implementación. Lambda utiliza una clave propiedad de AWS para cifrar el paquete descomprimido durante las invocaciones de la función. Si desea utilizar una clave administrada por el cliente para cifrar la versión descomprimida del paquete, ejecute el comando [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) con la opción `--kms-key-arn`.

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip \
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

En el siguiente ejemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html):
+ `--s3-bucket`: especifica la ubicación del archivo .zip en un bucket de Amazon S3.
+ `--s3-key`: especifica la clave de Amazon S3 del paquete de implementación.
+ `--s3-object-version`: para objetos con control de versiones, la versión del objeto del paquete de implementación que se va a utilizar.
+ `--source-kms-key-arn`: especifica la clave administrada por el cliente para cifrar la versión comprimida del paquete de implementación. Lambda utiliza una clave propiedad de AWS para cifrar el paquete descomprimido durante las invocaciones de la función. Si desea utilizar una clave administrada por el cliente para cifrar la versión descomprimida del paquete, ejecute el comando [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) con la opción `--kms-key-arn`.

```
aws lambda update-function-code \
  --function-name myFunction \
  --s3-bucket amzn-s3-demo-bucket \
  --s3-key myFileName.zip \
  --s3-object-version myObject Version
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

**Cómo eliminar el cifrado de clave administrada por el cliente de una función existente**

En el siguiente ejemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html), `--zip-file` especifica la ruta local al paquete de implementación .zip. Al ejecutar este comando sin la opción `--source-kms-key-arn`, Lambda utiliza una clave propia de AWS para cifrar la versión comprimida del paquete de implementación.

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip
```

------