我使用Docker和Sam在本地设置Lambda。我可以命中一个端点并在本地运行Lambda方法,但是如果我想测试以下代码,则由于我不确定如何使aws-sdk
在本地环境中工作,因此必须实际部署Lambda。
const payload = JSON.stringify({
"bucket": process.env.AWS_S3_ENV_BUCKET,
"region": process.env.AWS_REGION,
"folder": 'somePath/',
"files": ['somefile.jpg', 'anotherfile.jpg'],
"zipFileName": 'zipZippedFile.zip'
})
const params = {
FunctionName: 'zippidyDoDah',
Payload: payload
}
global.Lambda.invoke(params, function (error, data) {
console.log('error: ', error)
console.log('data: ', data)
})
有人对此有任何见识吗?
答案 0 :(得分:1)
如果您安装AWS Command Line Interface并运行aws configure,则可以输入您希望执行此代码的用户的访问密钥和秘密密钥。这些凭据存储在~/.aws/credentials
中。您应该能够将AWS CLI和这些凭证注入到您的docker容器中,并且(假设它们是您的[default]
)应该由您的流程自动获取。您还应该阅读有关AWS CLI Profiles的信息。