Lambda@Edge redirige a la API Gateway.
Tengo una lambda@edge en viewer-request. Necesito que esta lambda@edge redirija a un endpoint de Api Gateway dependiendo del valor de host. Aquí está mi código:
const solicitud = event.Records [0] .cf.request;
const dominio = solicitud.headers.host [0] .value;
const inquilino = dominio.split ('.') [0];
const uri = solicitud.uri;
var params = {
TableName: 'tabla',
Key: {
"id": inquilino,
"discapacitado": 0
}
};
dynamoDBClient.get (params, function (err, data) {
let respuesta = null;
si (error) {
respuesta = {
estado: '400',
cuerpo: "Error"
};
} más {
si (datos.Item) {
respuesta = {
estado: '302',
headers: {
'ubicación': [{ key: 'Ubicación', valor: data.Item.api + uri}]
}
};
} más {
respuesta = {
estado: '400',
cuerpo: JSON.stringify (event)
};
}
}
callback (null, respuesta);
});
Parece que el problema es que no puedo llegar a ningún endpoint de Api Gateway. Todos los endpoints devuelven:
{
&Quot; mensaje & quot;: & Quot; Token de autenticación perdido & quot;
}
¿Es esta la forma correcta de redirigir a los endpoints de Api Gateway? ¿O me falta alguna configuración para llegar al endpoint?
davy.ai
Parece que tienes el código correcto para redirigir a un endpoint de API Gateway dependiendo del valor del host. Sin embargo, parece que falta un token de autenticación para poder acceder al endpoint. Es posible que necesites configurar el endpoint de API Gateway para incluir un token de autenticación para acceder a él.