当前位置: 首页 > 知识库问答 >
问题:

AWS JS SDK V3(Lambda模块)-无法连接到实例元数据服务

左丘繁
2023-03-14

我之前使用的是一体化的aws sdknpm模块(https://www.npmjs.com/package/aws-sdk)调用AWS Lambda函数,为此,以下代码一直运行良好:

        //Some code to get "credentials"
        ...
        const AWS = require('aws-sdk');
        const lambda = new AWS.Lambda({
            accessKeyId: credentials.accessKeyId,
            secretAccessKey: credentials.secretAccessKey,
            region: Config.REGION
        });
        lambda.invoke(pullParams, (err, data) =>
            //I would do something with data
        );
        ...

现在,从https://github.com/aws/aws-sdk-js-v3,我希望用于模块化的@aws sdk/client lambda node,因为它是我的项目中唯一需要的类。因此,我更改了我的代码(如下所示:https://github.com/aws/aws-sdk-js-v3/tree/master/packages/client-lambda-node#usage)就像这样:

        import * as AWS from "@aws-sdk/client-lambda-node/Lambda";
        /*
          I believe there is a typo in the form of 
          "
           import * as AWS from "@aws-sdk/@aws-sdk/client-lambda-node/Lambda";
          "
          at the original page
        */
        ...
        //Some code to get the same "credentials" as above
        const lambda = new AWS.Lambda({
            accessKeyId: credentials.accessKeyId,
            secretAccessKey: credentials.secretAccessKey,
            region: Config.REGION
        });
        lambda.invokeAsync(pullParams, (err, data) =>
            //I want to do something with err / data
        );
        ...

不管它值多少钱,它都在ReactJS应用程序中(尽管我确信这与此无关)。使用版本0.1.0-preview尝试上述代码。5在一个浏览器(它以前工作过的地方)中,我永远都会

  1. http://169.254.169.254/latest/meta-data/iam/security-credentials/网络:错误连接超时

库使用不稳定,还是我做错了什么

共有2个答案

张俊茂
2023-03-14

是的,SDK的第3版仍处于beta预览阶段,他们已经表示,预期会出现突破性的变化:

当SDK处于预览状态时,您可能会遇到bug。

回答你的问题,是的,目前生产绝对不稳定。你的具体问题很常见,我也无法弄清到底。我的生产工作仍然使用v2。

臧亦
2023-03-14

您必须使用密钥凭证传递凭证。比如:

const lambda = new AWS.Lambda({
    credentials: {
        accessKeyId: credentials.accessKeyId,
        secretAccessKey: credentials.secretAccessKey,
    },
    region: Config.REGION
});

或者:

const lambda = new AWS.Lambda({
    credentials,
    region: Config.REGION
});
 类似资料:
  • 我已经创建了AWS ec2实例并关联到一个安全组。在关联的安全组中,我已经向所有人开放了HTTP(HTTP, TCP,80,0.0.0.0/0)、SSH(SSH, TCP,22,0.0.0.0/0)和ICMP(All ICMP, All, N/A,0.0.0.0/0)。 但当我尝试ping到实例时,它失败了;给出请求超时。入站规则设置 此外,使用PuTTY或openssh连接到实例也会失败。它给出

  • 我是docker的新手,我想用Docker-compose启动一个keycloak容器。我正在使用一个mariadb和数据库启动成功。但是当启动keycloak容器时,它会出现这个错误。 原因:java.sql.sqlnontransientconnectionException:无法连接到address=(Host=Project-DB)(Port=3308)(Type=master):套接字无

  • 本文向大家介绍Python MySQLdb模块连接操作mysql数据库实例,包括了Python MySQLdb模块连接操作mysql数据库实例的使用技巧和注意事项,需要的朋友参考一下 mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法。python操作数据库需要安装一个第三方的模块,在http://mysql-python.

  • 问题内容: 我正在尝试从EC2实例i-78a8df00连接到RDS实例mysql。**。us- east-1.rds.amazonaws.com。他们俩都在美国东部地区。我将EC2实例的安全组(sg- **)添加到RDS安全组,但这无济于事。这似乎是防火墙/ DNS问题,因为运行此命令时超时: 错误2003(HY000):无法连接到“ mysql。**。us- east-1.rds.amazona

  • 从EC2实例i-78a8df00中,我正在尝试连接到RDS实例他们都在美国东部地区。我将EC2实例的安全组(SG-*********)添加到RDS安全组中,但这没有帮助。运行此命令时超时,可能是防火墙/DNS问题: 错误2003(HY000):无法连接到“ 我可以从我的本地机器使用与上面相同的线路连接到RDS实例。我尝试了各种论坛解决方案,但那些都没有帮助。

  • 我刚刚把pgAdmin更新到4.23版,PostgreSQL更新到12版。我还删除了所有以前的数据库和pgAdmin安装。所以应该是全新安装(我也清理了之前版本的所有残余)。 现在,当我尝试连接到本地数据库服务器时,我甚至在键入密码之前就得到了这个: