应用程序可以在localhost上完美运行,我们可以直接在其上使用api网关吗?
答案 0 :(得分:0)
是的,您可以创建一个lambda函数并将该lambda函数与AWS API网关链接。 之后,您将获得API的端点。
答案 1 :(得分:0)
是的,您可以从本地主机集成AWS服务。 AWS提供了用于集成AWS服务的npm模块。 aws-sdk npm模块允许您从varius平台访问AWS服务,例如 S3,SES,SNS,AWS Lemda,AWS Alexa等。( NodeJS,Java,php )。
aws.js
const aws = require('aws-sdk');
const config = {
region: process.env.AwsRegion,
signatureVersion: 'v4',
accessKeyId: process.env.AwsAccessKey,
secretAccessKey: process.env.AwsSecretAccessKey,
};
aws.config = config;
const awsUtils = {};
awsUtils.putObject = (file, key, encoding) => {
return new Promise((resolve, reject) => {
const params = {
Body: file,
Bucket: process.env.AwsS3Bucket,
Key: key,
ACL: 'public-read',
ContentType: file.type || file.mime,
ContentDisposition: 'inline',
ContentEncoding: encoding,
};
s3.putObject(params, (err, data) => {
if (err) {
return reject(err);
} else {
console.log(data);
return resolve(key);
}
});
});
};
module.exports = awsUtils;
我希望它会有所帮助。快乐编码:)
答案 2 :(得分:0)
答案 3 :(得分:0)
API网关用于从外部访问AWS服务(顾名思义,通过API)。
这可以连接到Lambda函数或Dynamo DB表。您将在API网关中为这两项服务创建端点。
然后,API网关生成可以使用NPM模块(例如axios)访问的端点。
下面可以看到一个例子。
在API网关中创建您的API。
现在使用您选择的语言创建Lambda函数,然后单击触发器,如下所示:
现在,将lambda函数添加到先前创建的API网关中,并进行如下设置(注意,您可能必须首先部署API才能进入开发阶段(如图3所示):
现在导航到您之前创建的API网关,单击终结点上的lambda函数(您可能需要刷新)并使用以下设置启用CORS,如下所示:
现在,单击相同的操作选项卡,然后单击部署API。
您现在将拥有一个为您创建的端点以及一个API密钥。可以在lambda函数的底部看到此信息,如下所示。
可以使用axios或类似的方式在节点中调用此函数:
const header = {
"x-api-key": "API_KEY",
"Accept": "application/json",
"Content-Type": "application/json"
}
const body = {
"exampleParam" : "exampleParam"
}
axios.post("URL_IN_LAMBDA_FUNCTION", body, {headers:header})