Amazon web services 如何从本地计算机执行AWS签名版本4?
我正在尝试测试本地机器上的Node.js代码,以便在AWS Lambda函数中使用。这涉及使用签名版本4对请求进行签名 我已使用AWS CLI使用访问密钥登录,但当我尝试使用以下代码发出请求时,我在Amazon web services 如何从本地计算机执行AWS签名版本4?,amazon-web-services,aws-cli,Amazon Web Services,Aws Cli,我正在尝试测试本地机器上的Node.js代码,以便在AWS Lambda函数中使用。这涉及使用签名版本4对请求进行签名 我已使用AWS CLI使用访问密钥登录,但当我尝试使用以下代码发出请求时,我在signer.addAuthorization处收到此错误。我错过了哪一步?它可以通过Lambda函数正常工作 代码: const AWS = require('aws-sdk'); const creds = new AWS.EnvironmentCredentials('AWS'); ... va
signer.addAuthorization
处收到此错误。我错过了哪一步?它可以通过Lambda函数正常工作
代码:
const AWS = require('aws-sdk');
const creds = new AWS.EnvironmentCredentials('AWS');
...
var signer = new AWS.Signers.V4(req, 'es');
signer.addAuthorization(creds, new Date());
TypeError [ERR_INVALID_ARG_TYPE]: The "key" argument must be one of type string, TypedArray, or DataView. Received type undefined
at new Hmac
错误:
const AWS = require('aws-sdk');
const creds = new AWS.EnvironmentCredentials('AWS');
...
var signer = new AWS.Signers.V4(req, 'es');
signer.addAuthorization(creds, new Date());
TypeError [ERR_INVALID_ARG_TYPE]: The "key" argument must be one of type string, TypedArray, or DataView. Received type undefined
at new Hmac
据报道,
默认情况下,此类将查找以给定envPrefix为前缀的匹配环境变量
因此,在调用代码之前,需要设置AWS\u ACCESS\u KEY\u ID
、AWS\u SECRET\u ACCESS\u KEY
和AWS\u SESSION\u TOKEN
环境变量
在AWS Lambda环境中,这些环境变量已经设置好,这就是它工作的原因