我有一个问题与aws nodejs sdk与aws Lambda。从官方文档中,我试图用lambda获取awsssm-parameters。
医生:[https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/getparameterscommand.html
这是Lambda代码
import { SSMClient, GetParametersCommand } from "@aws-sdk/client-ssm"
const config = { region: "eu-central-1"}
exports.handler = async (event, context) => {
const client = new SSMClient({ region: config.region});
const command = new GetParametersCommand({Names: ["/my-app/dev/db-url"]});
const response = await client.send(command);
console.log(response);
};
但是当运行aws lambda函数时,它通过错误向我显示如下:
"errorType": "Runtime.UserCodeSyntaxError",
"errorMessage": "SyntaxError: Cannot use import statement outside a module"
我是JS世界的新手。有人知道它为什么抱怨吗?
对
从这里使用ES5语法:
const { SSMClient, GetParametersCommand } = require("@aws-sdk/client-ssm");
Lambda目前只支持ES5,对于SDK版本3,您需要安装这里解释的模块。本地需要:
npm install @aws-sdk/client-ssm
对于SDK V2,这样做:
const AWS = require('aws-sdk');
const ssm = new AWS.SSM();
const val = await ssm.getParameter(
{Name: '/my-app/dev/db-url'}).promise();
console.out(val);