Métodos de ayuda generales
Esta página proporciona métodos de ayuda adicionales en CloudFront Functions. Para usar estos métodos, cree una función de CloudFront con tiempo de ejecución 2.0 de JavaScript.
import cf from 'cloudfront';
Para obtener más información, consulte Características del tiempo de ejecución 2.0 de JavaScript para CloudFront Functions.
edgeLocationMetadatos de
Este método requiere el uso del modulo cloudfront.
nota
Solo puede utilizar este método para las funciones de solicitud del espectador. Para las funciones de respuesta del espectador, este método está vacío.
Utilice este objeto de JavaScript para obtener el código del aeropuerto de ubicación periférica, la región de Caché periférica regional prevista o la dirección IP del servidor de CloudFront utilizada para gestionar la solicitud. Estos metadatos solo están disponibles cuando el espectador solicita desencadenar el evento.
cf.edgeLocation = { name: SEA serverIp: 1.2.3.4 region: us-west-2 }
El objeto cf.edgeLocation puede incluir lo siguiente:
- name
-
El código IATA
de tres letras de la ubicación periférica que gestionó la solicitud. - serverIp
-
Dirección IPv4 o IPv6 del servidor que gestionó la solicitud.
- region
-
La caché periférica regional (REC) de CloudFront que se espera que utilice la solicitud en caso de falta de memoria caché. Este valor no se actualiza en caso de que el REC esperado no esté disponible y se utilice un REC de copia de seguridad para la solicitud. Esto no incluye la ubicación de Origin Shield que se utilice, excepto en los casos en que el REC principal y el Origin Shield estén en la misma ubicación.
nota
CloudFront Functions no se invoca por segunda vez cuando CloudFront está configurado para usar la conmutación por error de origen. Para obtener más información, consulte Optimización de alta disponibilidad con conmutación por error de origen de CloudFront.
rawQueryString()Método de
Este método no requiere el módulo cloudFront.
Utilice el método rawQueryString() para recuperar la cadena de consulta no analizada y no modificada como una cadena.
Solicitud
function handler(event) { var request = event.request; const qs = request.rawQueryString(); }
Respuesta
Devuelve la cadena de consulta completa de la solicitud entrante como un valor de cadena sin ? al principio.
-
Si no hay una cadena de consulta, pero
?está presente, la función devuelve una cadena vacía. -
Si no hay una cadena de consulta y
?no está presente, la función devuelveundefined.
- Caso 1: se devuelve la cadena de consulta completa (sin
?al principio) -
URL de solicitud entrante:
https://example.com/page?name=John&age=25&city=BostonrawQueryString()devuelve:"name=John&age=25&city=Boston" - Caso 2: se devuelve una cadena vacía (cuando
?está presente pero sin parámetros) -
URL de solicitud entrante:
https://example.com/page?rawQueryString()devuelve:"" - Caso 3: se devuelve
undefined(sin cadena de consulta ni?) -
URL de solicitud entrante:
https://example.com/pagerawQueryString()devuelve:undefined