我有一个现有的域名注册在AWS路由53和我已经建立了一个自定义的域名在API网关。在控制台中,我可以配置一些东西,使xxxxx.zenxxxxxxfoundry.com从外部到达API GatewayAPI,然后通过Lambda函数。
现在我想用AWS CDK实现这一点。
我尝试了以下方法:
const zone = route53.HostedZone.fromHostedZoneId(this, 'ZenithWebFoundryZone', 'ZXXXXXX04V8134');
new route53.AliasRecord(this, 'BlogAPIRecord', {
zone: zone,
recordName: 'xxxxxx.zenxxxxxxfoundry.com',
target: {
bind: (): route53.AliasRecordTargetProps => ({
dnsName: 'd-xxxxxxy00g.execute-api.ap-southeast-2.amazonaws.com',
hostedZoneId: 'ZXXXXXX04V8134'
})
}
});
它生成okNPM run Build
,但当我运行CDK Synth
时,我得到一个相当钝的错误:
$ cdk synth
HostedZone.fromHostedZoneId doesn't support "zoneName"
Subprocess exited with error 1
打开--trace
并没有太大帮助:附加信息:
Error: Subprocess exited with error 1
at ChildProcess.proc.on.code (/Users/mikecoxon/.npm-packages/lib/node_modules/aws-cdk/lib/api/cxapp/exec.ts:108:23)
at ChildProcess.emit (events.js:189:13)
at ChildProcess.EventEmitter.emit (domain.js:441:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
我查看了整个堆栈脚本,任何地方都没有对zonename
的引用。有人知道这个错误从何而来吗?
使用AWS-CDK
v1应该能够执行以下操作:
const zone = route53.HostedZone.fromHostedZoneAttributes(this, 'ZenithWebFoundryZone', {
hostedZoneId: 'ZXXXXXX04V8134',
zoneName: 'zenxxxxxxfoundry.com' // your zone name here
});
new route53.ARecord(this, 'BlogAPIRecord', {
zone,
recordName: 'xxxxxx.zenxxxxxxfoundry.com',
target: route53.RecordTarget.fromAlias({
bind() {
return {
dnsName: 'd-xxxxxxy00g.execute-api.ap-southeast-2.amazonaws.com', // Specify the applicable domain name for your API.,
hostedZoneId: 'XXXX', // Specify the hosted zone ID for your API.
};
},
}),
});
如果API位于相同的堆栈/代码库中,则可以从中获取dnsname
和hostedzoneid
(这是一个CF属性)。
否则,请参阅AWS::Route53::Recordset AliasTarget文档中的DnsName
和HostedZoneID
。
注意:别名记录的hostedzoneid
与您自己区域的托管区域id不同。
在AWS文档之后,我尝试使用以下http请求从api网关导出api定义。知道它为什么不起作用吗?
我想我需要将CNAME记录添加到cloudFlare中,结果在一个重定向循环中结束,观察到:
主要内容:先来看看业务系统技术栈,网关路由请求转发功能,网关统一授权和鉴权功能,API 网关层流控功能,API 网关层灰度发布功能今天给大家分享一个 API 网关的知识,很多兄弟可能平时经常搞的都是一些 CRUD 的业务系统开发,从来没接触过 API 网关。 那今天来讲讲,API 网关是啥,到底能对我们起到什么作用呢?这个一般面试的时候也很可能会问到这个知识点的。 先来看看业务系统技术栈 平时咱们可能写系统的时候,往往就是基于 SpringBoot+Spring MVC+Spring+Mybat
我试图弄清楚如何从运行在VPC中的lambda访问Api网关服务Api(也称为“管理Amazon Api网关”)。不,我不是试图在私有API中调用资源方法(我知道如何创建VPC接口endpoint),只是调用AWS服务方法(,FWIW,使用Python boto3客户机)。希望这是有意义的,很难清楚地表达这与如此多的“API”重载在这里。当前的尝试以超时失败,所以我认为这是与VPC相关的,但我不确
我需要从endpoint获取一些数据,然后根据响应将这些数据存储到数据库中。