如何使用 aws-sdk 连接到基于 serverless-offline-ssm 构建的本地 SSM?

问题描述

这是我的 serverless.yml 的片段,带有相关配置:

plugins:
  - serverless-offline
  - serverless-offline-ssm

custom:
  serverless-offline:
    httpPort: 3031
    host: 0.0.0.0
  serverless-offline-ssm:
    stages:
      - dev
    ssm:
      "some-name-1": "some-value-1"
      "some-name-2": "some-value-2"

我的无服务器东西似乎运行没有问题。但是,当我尝试使用 aws-sdk 访问我的 lambda 中的 SSM 参数时,当我从 SSM 对象调用 getParameter 时出现错误

Error: connect EHOSTDOWN 169.254.169.254:80 - Local (192.168.86.59:60659)
    at internalConnect (net.js:923:16)
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:364:12)
    at net.js:1011:9
    at processticksAndRejections (internal/process/task_queues.js:79:11) {
  message: 'Missing credentials in config,if using AWS_CONfig_FILE,set AWS_SDK_LOAD_CONfig=1',errno: 'EHOSTDOWN',code: 'CredentialsError',syscall: 'connect',address: '169.254.169.254',port: 80,time: 2021-03-23T22:53:32.218Z,originalError: {
    message: 'Could not load credentials from any providers',time: 2021-03-23T22:53:32.217Z,originalError: {
      message: 'EC2 Metadata roleName request returned error',code: 'EHOSTDOWN',originalError: [Object]
    }
  }

似乎我需要为 SSM 对象提供一些配置以使其连接到我的 serverless-offline-ssm,但我在任何地方都找不到该信息。有人为他们的本地测试做过类似的事情吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)