【问题标题】:How can I get lambda functions by tags in nodejs?如何通过 nodejs 中的标签获取 lambda 函数?
【发布时间】:2021-07-09 14:17:37
【问题描述】:

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

我有办法吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

    您需要使用 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 ""
    }
    

    【讨论】:

      【解决方案2】:

      我有办法吗?

      不是通过单个 API 调用。您必须分两步

      1. 使用listFunctions 获取函数列表
      2. 对于每个函数,使用其 ARN 获取标签,使用 listTags 并找到您需要的标签。

      【讨论】:

        猜你喜欢
        • 2017-02-15
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-09-02
        • 2023-03-09
        • 2018-03-26
        相关资源
        最近更新 更多