首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取RDS标签?

如何获取RDS标签?
EN

Stack Overflow用户
提问于 2018-12-04 11:51:07
回答 1查看 729关注 0票数 2

我正在尝试获取rds实例的标记。请用引号回复

新增:一个rds实例可以有多个标签。我只想从rds实例的标签中导入特定的标签。但是,实例和标签不匹配,因为它异步工作。

代码语言:javascript
复制
var AWS = require('aws-sdk');
var request = require("request");
AWS.config.update({region:'ap-northeast-1'});
var credentials = new AWS.SharedIniFileCredentials({profile: 'test'});
AWS.config.credentials = credentials;
var rds = new AWS.RDS();

rds.describeDBInstances(function(err, data) {
    for(var i=0; i<data.DBInstances.length; i++) {
        var instance = data.DBInstances[i];
        var clusterName = instance.DBClusterIdentifier;
        var instanceName = instance.DBInstanceIdentifier;
        var resourceName = 'arn:aws:rds:ap-northeast-1:231497262134:db:' + instanceName;
        var params = {
            ResourceName: resourceName,
        };

        rds.listTagsForResource(params, function(err, data) {
            var serviceTag = ''
            data.TagList.forEach((tag) => {
                if (tag.Key.toLowerCase() === 'service' && tag.Value.length > 0) {
                    serviceTag = tag.Value;
                }        
            })
            console.log(instanceName, serviceTag)
        })
    }
})
EN

回答 1

Stack Overflow用户

发布于 2018-12-05 13:26:40

我已经用async和await语法修复了它。谢谢你的评论。

代码语言:javascript
复制
var AWS = require('aws-sdk');
var request = require("request");
AWS.config.update({region:'ap-northeast-1'});
var credentials = new AWS.SharedIniFileCredentials({profile: 'test'});
AWS.config.credentials = credentials;
var rds = new AWS.RDS();


rds.describeDBInstances(async (err, data) => {
    for(var i=0; i<data.DBInstances.length; i++) {
        var instance = data.DBInstances[i];
        var clusterName = instance.DBClusterIdentifier;
        var instanceName = instance.DBInstanceIdentifier;
        var resourceName = 'arn:aws:rds:ap-northeast-1:231497262134:db:' + instanceName;


        let params = {
            ResourceName: resourceName,
        };

        let tags = await rds.listTagsForResource(params).promise();
        var serviceTag = ''
        tags.TagList.forEach((tag) => {
            if (tag.Key.toLowerCase() === 'service' && tag.Value.length > 0) {
                serviceTag = tag.Value;
            }        
        })


        console.log(clusterName + ',' + instanceName + ',' + serviceTag)
    }
})
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53605430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档