Tutorial: creación de una función simple con CloudFront Functions - Amazon CloudFront

Tutorial: creación de una función simple con CloudFront Functions

En este tutorial se muestra cómo familiarizarse con CloudFront Functions. Puede crear una función simple que redirige el lector a una URL diferente y también devuelve un encabezado de respuesta personalizado.

Requisitos previos

Para utilizar CloudFront Functions, necesita una distribución de CloudFront. Si no dispone de una, consulte Introducción a una distribución de CloudFront básica.

Creación de la función

Puede utilizar la consola de CloudFront para crear una función simple que redirige el lector a una URL diferente y también devuelve un encabezado de respuesta personalizado.

Creación de una función de CloudFront
  1. Inicie sesión en la AWS Management Console y abra la consola de CloudFront en https://console.aws.amazon.com/cloudfront/v4/home.

  2. En el panel de navegación, seleccione Funciones y, a continuación, Crear una función.

  3. En la página Crear función, en Nombre, introduzca un nombre de función como MyFunctionName.

  4. (Opcional) En Descripción, escriba una descripción de la función, como Simple test function.

  5. Para Tiempo de ejecución, mantenga la versión de JavaScript seleccionada de forma predeterminada.

  6. Elija Crear función.

  7. Copie el siguiente código de función. Este código de función redirige al lector a una URL diferente y también devuelve un encabezado de respuesta personalizado.

    function handler(event) { // NOTE: This example function is for a viewer request event trigger. // Choose viewer request for event trigger when you associate this function with a distribution. var response = { statusCode: 302, statusDescription: 'Found', headers: { 'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' }, 'location': { value: 'https://aws.amazon.com/cloudfront/' } } }; return response; }
  8. En Código de función, pegue el código en el editor de código para reemplazar el código predeterminado.

  9. Elija Guardar cambios.

  10. (Opcional) Puede probar la función antes de publicarla. En este tutorial no se describe cómo probar una función. Para obtener más información, consulte Prueba de funciones.

  11. Elija la pestaña Publicar y, a continuación, la función Publicar. Debe publicar la función para poder asociarla a la distribución de CloudFront.

  12. A continuación, puede asociar la función a un comportamiento de distribución o caché. En la página MyFunctionName, elija la pestaña Publicar.

    aviso

    En los pasos siguientes, seleccione un comportamiento de distribución o caché que se use para las pruebas. No asocie esta función de prueba a un comportamiento de distribución o caché que se use en producción.

  13. Elija Add association.

  14. En el cuadro de diálogo Asociar, elija un comportamiento de distribución o caché. En Tipo de evento, mantenga el valor predeterminado.

  15. Elija Add association.

    También verá la distribución asociada en la tabla Distribuciones asociadas.

  16. Espere unos minutos para que la distribución asociada termine de implementarse. Para comprobar el estado de la distribución, selecciónela en la tabla Distribuciones asociadas y elija Ver distribución.

    Cuando el estado de la distribución es Implementada, está lista para verificar el funcionamiento de la función.

Verificación de la función

Tras implementar la función, puede comprobar que funciona para su distribución.

Verificación de la función
  1. En el navegador web, vaya al nombre de dominio de la distribución (por ejemplo, https://d111111abcdef8.cloudfront.net).

    La función devuelve un redireccionamiento al navegador, por lo que el navegador se dirige automáticamente a https://aws.amazon.com/cloudfront/.

  2. En una ventana de línea de comandos, puede usar una herramienta como curl para enviar una solicitud al nombre de dominio de su distribución.

    curl -v https://d111111abcdef8.cloudfront.net/

    En la respuesta, verá la respuesta de redireccionamiento (302 Found) y los encabezados de respuesta personalizados que agregó la función. La respuesta podría tener un aspecto similar al siguiente.

    curl -v https://d111111abcdef8.cloudfront.net/ > GET / HTTP/1.1 > Host: d111111abcdef8.cloudfront.net > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 302 Found < Server: CloudFront < Date: Tue, 16 Mar 2021 18:50:48 GMT < Content-Length: 0 < Connection: keep-alive < Location: https://aws.amazon.com/cloudfront/ < Cloudfront-Functions: generated-by-CloudFront-Functions < X-Cache: FunctionGeneratedResponse from cloudfront < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront) < X-Amz-Cf-Pop: PHX50-C2 < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==