首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nestjs与Amazon队列的凭据问题

Nestjs与Amazon队列的凭据问题
EN

Stack Overflow用户
提问于 2022-02-21 13:36:11
回答 1查看 663关注 0票数 0

我正在尝试将来自nestjs应用程序的消息发布到amazon队列中。

下面是一个简单post请求的片段,我正在使用aws中的包:

代码语言:javascript
运行
复制
import * as aws from 'aws-sdk';

--
--
--
--
--

@Post('dummySqs')
  async sendMessage(@Body() message: string) {
    const config = {
      apiVersion: '2022-02-21',
      accessKeyId: 'myaccess',
      accessSecretKey: 'mysecret',
      region: 'us-east-1',
      output: 'json',
    };
    aws.config.update(config);
    const sqs = new aws.SQS();
    const params = {
      MessageBody: 'Something about Daniel',
      QueueUrl: 'myurl',
    };
    sqs.sendMessage(params, (err, data) => {
      if (err) {
        console.log('ERRROR', err);
      } else {
        console.log('Success', data.MessageId);
      }
    });
  }

在点击这个帖子请求后,我得到了以下错误:

代码语言:javascript
运行
复制
ERRROR Error [CredentialsError]: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1
    at Timeout.connectTimeout [as _onTimeout] (/Users/danielongzh/Documents/poc/schedule-distributed-lock-service/node_modules/aws-sdk/lib/http/node.js:69:15)
    at listOnTimeout (internal/timers.js:555:17)
    at processTimers (internal/timers.js:498:7) {
  code: 'CredentialsError',
  time: 2022-02-21T13:31:40.708Z,
  retryable: true,
  originalError: {
    message: 'Could not load credentials from any providers',
    code: 'CredentialsError',
    time: 2022-02-21T13:31:40.707Z,
    retryable: true,
    originalError: {
      message: 'EC2 Metadata roleName request returned error',
      code: 'TimeoutError',
      time: 2022-02-21T13:31:40.707Z,
      retryable: true,
      originalError: [Object]
    }
  }
}

对如何解决它有什么想法吗?

EN

Stack Overflow用户

回答已采纳

发布于 2022-02-22 11:19:07

试试这个:

代码语言:javascript
运行
复制
import * as aws from 'aws-sdk';
import config from '../aws.json' 
as.config.update(config);

代码语言:javascript
运行
复制
this.athena = new Athena({
    region: this.configService.get<IAwsCredentials>('AWS_ATHENA').AWS_REGION,
    accessKeyId: this.configService.get<IAwsCredentials>('AWS_ATHENA').AWS_ACCESS_KEY,
    secretAccessKey: this.configService.get<IAwsCredentials>('AWS_ATHENA').AWS_SECRET_KEY,
});
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71207265

复制
相关文章

相似问题

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