

# Métodos de ayuda generales
<a name="general-helper-methods"></a>

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](functions-javascript-runtime-20.md).

## `edgeLocation`Metadatos de
<a name="edge-location-metadata"></a>

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](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches) 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](https://en.wikipedia.org/wiki/IATA_airport_code) 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](high_availability_origin_failover.md).

## `rawQueryString()`Método de
<a name="raw-query-string-method"></a>

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 devuelve `undefined`.

**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=Boston`  
`rawQueryString()` 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/page`  
`rawQueryString()` devuelve: `undefined`