Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon cloudformation 如何将路由53 A记录定向到ApiGateway v2_Amazon Cloudformation_Aws Api Gateway_Amazon Route53_Aws Cdk - Fatal编程技术网

Amazon cloudformation 如何将路由53 A记录定向到ApiGateway v2

Amazon cloudformation 如何将路由53 A记录定向到ApiGateway v2,amazon-cloudformation,aws-api-gateway,amazon-route53,aws-cdk,Amazon Cloudformation,Aws Api Gateway,Amazon Route53,Aws Cdk,ApiGateway 1有一个别名,但其接口不符合V2: 以下是domainName: const domainName = new apigw2.DomainName(config.scope, config.id + 'DomainName', { domainName: config.domainName, certificate: config.certificate, }); 看起来aws-route53-targets软件包还不支持apigatewa

ApiGateway 1有一个别名,但其接口不符合V2:

以下是
domainName

  const domainName = new apigw2.DomainName(config.scope, config.id + 'DomainName', {
    domainName: config.domainName,
    certificate: config.certificate,
  });
  

看起来aws-route53-targets软件包还不支持apigatewayv2。同时,您可能可以将v2对象包装到v1接口中,如下所示:

new route53.ARecord(config.scope, config.id + "AliasRecord", {
  recordName: config.domainName,
  target: route53.RecordTarget.fromAlias(
    new route53targets.ApiGatewayDomain({
      ...domainName,
      domainNameAliasDomainName: domainName.regionalDomainName,
      domainNameAliasHostedZoneId: domainName.regionalHostedZoneId
    })
  ),
  zone: config.hostedZone
});

您可以按照以下文档中描述的方式进行尝试:

const certArn = 'arn:aws:acm:us-east-1:111111111111:certificate';
const domainName = 'example.com';

const dn = new DomainName(stack, 'DN', {
  domainName,
  certificate: acm.Certificate.fromCertificateArn(stack, 'cert', certArn),
});
const api = new HttpApi(stack, 'HttpProxyProdApi', {
  defaultIntegration: new LambdaProxyIntegration({ handler }),
  // https://${dn.domainName}/foo goes to prodApi $default stage
  defaultDomainMapping: {
    domainName: dn,
    mappingKey: 'foo',
  },
});