问题描述
我想在CloudFront发行版后面部署AppSync API。
CloudFront发行版需要HTTP起源,如何从一个CDK堆栈中的API对象中获取此信息?
解决方法
我找到了解决方案。必须使用内在函数从分布构造中获取正确的值。
const api = new appsync.GraphqlApi(...);
const origin = new origins.HttpOrigin(
cdk.Fn.select(2,cdk.Fn.split("/",api.graphqlUrl))
);
const distribution = new cloudfront.Distribution(this,"DemoDistribution",{
defaultBehavior: { origin },});