Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
将请求路由到离 CloudFront Functions 查看器请求事件中的查看器更近的来源
以下代码示例演示将请求路由到离 CloudFront Functions 查看器请求事件中的查看器更近的来源。
- JavaScript
-
- 适用于 CloudFront Functions 的 JavaScript 运行时 2.0
-
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;
}
有关 Amazon SDK 开发人员指南和代码示例的完整列表,请参阅 将 CloudFront 与 Amazon SDK 配合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。