首页 > 解决方案 > 如何通过 nodejs 中的标签获取 lambda 函数?

问题描述

我想(key=value)在 nodejs 中按标签查找所有 AWS lambda 函数。我已阅读文档https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#listFunctions-property但我找不到按标签名称和值搜索 lambda 的方法。

我有办法做到这一点吗?

标签: amazon-web-servicesaws-lambda

解决方案


您需要使用 Resource Groups Tagging API 来查找(任何)具有特定标签的资源。

const AWS = require('aws-sdk')
const resourcegroupstaggingapi = new AWS.ResourceGroupsTaggingAPI();

exports.handler = async function(event) {
    const params = {
        ResourceTypeFilters: ['lambda'],
        TagFilters: [{
            Key: '<your-key>',
            Values: ['<value-to-match>']
        }],
    };

    try {
        while (true) {
            const resources = await resourcegroupstaggingapi.getResources(params).promise();

            resources.ResourceTagMappingList.forEach(r => {
                console.log(r.ResourceARN);
            });

            if (resources.PaginationToken === "") {
                break;
            }

            params.PaginationToken = resources.PaginationToken;
        };
    } catch (error) {
        console.log(error);
    }

    return ""
}

推荐阅读