AWS(node.js):如何仅使用ALB ARN从负载平衡器检索侦听器ARN?

AWS(node.js):如何仅使用ALB ARN从负载平衡器检索侦听器ARN?,node.js,amazon-web-services,Node.js,Amazon Web Services,我有一个负载平衡器ARN列表,它们需要将旧的证书(即将到期)交换为新的证书。我已经编写了一个脚本,成功地为非ELBv2 LBs实现了这一点,但v2类型让我头疼,因为我似乎无法以编程方式将侦听器(或多个侦听器)与LB ARN匹配。我知道,一旦我有了听众ARN,我可以使用: elbv2.modifyListener(params,(err, data) => {<snip>}); elbv2.modifyListener(参数,(错误,数据)=>{}); 期望得到回应,但我无法

我有一个负载平衡器ARN列表,它们需要将旧的证书(即将到期)交换为新的证书。我已经编写了一个脚本,成功地为非ELBv2 LBs实现了这一点,但v2类型让我头疼,因为我似乎无法以编程方式将侦听器(或多个侦听器)与LB ARN匹配。我知道,一旦我有了听众ARN,我可以使用:

elbv2.modifyListener(params,(err, data) => {<snip>});
elbv2.modifyListener(参数,(错误,数据)=>{});
期望得到回应,但我无法做到这一点。我尝试了elbv2.descripeloaddbalancers(),但这似乎需要参数中的侦听器ARN

那么,我如何给AWS一个LB ARN并获取其关联的侦听器ARN呢?

您正在寻找的。文件说:

描述指定的侦听器或指定应用程序负载平衡器或网络负载平衡器的侦听器。您必须指定一个负载平衡器或一个或多个侦听器

因此,如果您仅使用
LoadBalancerArn
调用它,您应该会获得连接到该负载平衡器的侦听器列表

var AWS = require('aws-sdk');
var elbv2 = new AWS.ELBv2();
var params = {
  LoadBalancerArn: 'arn:...'
};
elbv2.describeListeners(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

如果您知道哪些证书即将过期,为什么不迭代所有侦听器并查看它们是否正在使用这些证书?此外,您还可以请求由Amazon管理的证书。这些都是自动为你更新的。如果这不是很明显,我还是AWS的新手:)谢谢你的想法!我甚至没有考虑到这是一种可能性。您导入了什么来使用describeListeners?@user1633146只是普通的
aws sdk
。查看更新的答案。是否可以同时使用aws sdk和aws cdk?我使用的是aws cdk,但找不到传递loadbalancerarn以获取侦听器列表的方法。