Actualización de funciones - Amazon CloudFront

Actualización de funciones

Puede actualizar una función en cualquier momento. Los cambios se realizan únicamente en la versión de la función que se encuentra en la etapa DEVELOPMENT. Para copiar los cambios de la etapa DEVELOPMENT a LIVE, debe publicar la función.

Puede actualizar el código de una función en la consola de CloudFront o con la AWS Command Line Interface (AWS CLI).

Console
Actualización del código de la función
  1. Inicie sesión en la consola de CloudFront en https://console.aws.amazon.com/cloudfront/v4/home#/functions y elija la página Funciones.

    Elija la función que desea actualizar.

  2. Elija Editar y realice los siguientes cambios:

    • Actualice todos los campos de la sección Detalles.

    • Cambie o elimine el almacén de clave-valor asociado. Para obtener más información sobre los almacenes de clave-valor, consulte Amazon CloudFront KeyValueStore.

    • Cambie el código de la función. Seleccione la pestaña Compilación, realice los cambios y, a continuación, seleccione Guardar cambios para guardar los cambios en el código.

CLI
Para actualizar el código de la función
  1. Abra una ventana de línea de comandos.

  2. Ejecute el siguiente comando de la .

    En este ejemplo, se utiliza la notación fileb:// para transmitir el archivo. También incluye saltos de línea para que el comando sea más legible.

    aws cloudfront update-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js \ --if-match ETVABCEXAMPLE
    Notas
    • La función se identifica tanto por su nombre como por su ETag (en el parámetro if-match). Asegúrese de utilizar siempre la ETag actual. Puede obtenerla mediante una operación de descripción.

    • Debe incluir el function-code, incluso aunque no desee cambiarlo.

    • Tenga cuidado con la function-config. Debe transmitir todo lo que quiera conservar en la configuración. En concreto, gestione el almacén de clave-valor de la siguiente manera:

      • Para retener la asociación de almacenes de clave-valor existentes (si existen), especifique el nombre del almacén existente.

      • Para cambiar la asociación, especifique el nombre del nuevo almacén de clave-valor.

      • Para eliminar la asociación, omita el parámetro KeyValueStoreAssociations.

    Si el comando se ejecuta correctamente, verá un resultado parecido al siguiente.

    ETag: ETVXYZEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years \ Runtime: cloudfront-js-2.0 \ KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: \ CreatedTime: '2021-04-18T20:38:56.915000+00:00' \ FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge \ LastModifiedTime: '2023-12-19T23:41:15.389000+00:00' \ Stage: DEVELOPMENT \ Name: MaxAge \ Status: UNPUBLISHED

La mayor parte de la información se repite desde la solicitud. CloudFront agrega el resto de información.

Notas
  • ETag: este valor cambia cada vez que se modifica el almacén de clave-valor.

  • FunctionARN: el ARN de la función CloudFront.

  • Stage: la fase de la función (LIVE o DEVELOPMENT).

  • Status: el estado de la función (PUBLISHED o UNPUBLISHED).