Dirección de las solicitudes a un origen más cercano al espectador en un evento de solicitud de espectador de CloudFront Functions
En el siguiente ejemplo de código, se muestra cómo dirigir las solicitudes a un origen más cercano al espectador en un evento de solicitud de espectador de CloudFront Functions.
- JavaScript
-
- Tiempo de ejecución 2.0 de JavaScript para CloudFront Functions
-
import cf from 'cloudfront';
function handler(event) {
const request = event.request;
const headers = request.headers;
const country = headers['cloudfront-viewer-country'] &&
headers['cloudfront-viewer-country'].value;
//List of Regions with S3 buckets containing content
const countryToRegion = {
'DE': 'eu-central-1',
'IE': 'eu-west-1',
'GB': 'eu-west-2',
'FR': 'eu-west-3',
'JP': 'ap-northeast-1',
'IN': 'ap-south-1'
};
const DEFAULT_REGION = 'us-east-1';
const selectedRegion = (country && countryToRegion[country]) || DEFAULT_REGION;
const domainName =
`cloudfront-functions-demo-bucket-in-${selectedRegion}.s3.${selectedRegion}.amazonaws.com`;
cf.updateRequestOrigin({
"domainName": domainName,
"originAccessControlConfig": {
"enabled": true,
"region": selectedRegion,
"signingBehavior": "always",
"signingProtocol": "sigv4",
"originType": "s3"
},
});
return request;
}
Para obtener una lista completa de las guías para desarrolladores de AWS SDK y ejemplos de código, consulte Uso de CloudFront con AWS SDK. En este tema también se incluye información sobre cómo empezar a utilizar el SDK y detalles sobre sus versiones anteriores.