Creación de funciones - Amazon CloudFront

Creación de funciones

La función se crea en dos etapas:

  1. Crear el código de función como JavaScript. Puede utilizar el ejemplo predeterminado de la consola de CloudFront o escribir el suyo propio. Para obtener más información, consulte los temas siguientes:

  2. Utilice CloudFront para crear la función e incluir el código. El código existe dentro de la función (no como referencia).

Console
Para crear una 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.

  2. Elija Crear función.

  3. Introduzca un nombre de función que sea único en la Cuenta de AWS, elija la versión de Java Script y, a continuación, elija Continuar. Aparece la página de detalles de la nueva función.

    nota

    Para utilizar pares clave-valor en la función, debe elegir tiempo de ejecución 2.0 de Java Script.

  4. En la sección Código de función, seleccione la pestaña Compilación e introduzca el código de función. El código de ejemplo que se incluye en la pestaña Compilación ilustra la sintaxis básica del código de la función.

  5. Elija Guardar cambios.

  6. Si el código de la función utiliza pares clave-valor, debe asociar un almacén de clave-valor.

    Puede asociar el almacén de clave-valor cuando crea en primer lugar la función. O bien, puede asociarlo más adelante, actualizando la función.

    Para asociar un almacén clave-valor ahora, siga estos pasos:

    • Vaya a la sección Asociar KeyValueStore y elija Asociar KeyValueStore existente.

    • Seleccione el almacén de clave-valor que contiene los pares clave-valor de la función y, a continuación, elija Asociar KeyValueStore.

    CloudFront asocia inmediatamente el almacén a la función. No necesita guardar la función.

CLI

Si utiliza la CLI, normalmente crea primero el código de la función en un archivo y, a continuación, crea la función con la AWS CLI.

Para crear una función
  1. Cree el código de la función en un archivo y guárdelo en un directorio al que se pueda conectar el equipo.

  2. Ejecute el comando como se muestra en el ejemplo. 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 create-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
    Notas
    • Runtime: la versión de Java Script. Para utilizar pares clave-valor en la función, debe especificar la versión 2.0.

    • KeyValueStoreAssociations: si la función usa pares clave-valor, puede asociar el almacén de clave-valor en la creación inicial de la función. O bien, puede asociarlo más adelante, utilizando update-function. La Quantity siempre es 1, porque cada función solo puede tener asociado un almacén de clave-valor.

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

    ETag: ETVABCEXAMPLE 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-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge

    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. Utilice este valor y el nombre de la función para hacer referencia a la función en el futuro. Asegúrese de utilizar siempre la ETag actual.

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

    • 111122223333: la Cuenta de AWS.

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

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

Después de crear la función, se agrega a la fase DEVELOPMENT. Le recomendamos que pruebe la función antes de publicarla. Tras publicar la función, la función cambia a la fase LIVE.