Amazon web services 如何将S3静态前端挂接到API?
我想运行一个S3静态网站。很简单 我已经建立了一个聊天机器人使用对话框流,我想连接到我的网站 在过去,我使用S3来托管许多静态网站,但正如你们中的许多人所知…CORS…所以现在我正在寻找一个后端 因此,在过去,我会构建一个EC2(或wix,它允许节点后端在这方面非常酷。)但我很难找到一个解决方案,在浏览器之外传递API调用 最好的方法是什么 我有使用Lambda、API网关的经验——我猜其中一个可能就是我的答案。我在API网关中编写了一个成功的API,它返回了正确的200响应和回复消息 我已经做了尽职调查,在stack和google上找到了答案,很多关于如何使用S3作为存储的问题,但我想完成的事情并不多 我是不是应该放弃对话流,去找莱克斯?我在对话框流中有很多逻辑,所以我不想切换机器人应用程序。有没有一种简单的方法可以连接一个后端来发布一篇简单的文章,然后将响应传递回S3前端Amazon web services 如何将S3静态前端挂接到API?,amazon-web-services,rest,post,amazon-s3,backend,Amazon Web Services,Rest,Post,Amazon S3,Backend,我想运行一个S3静态网站。很简单 我已经建立了一个聊天机器人使用对话框流,我想连接到我的网站 在过去,我使用S3来托管许多静态网站,但正如你们中的许多人所知…CORS…所以现在我正在寻找一个后端 因此,在过去,我会构建一个EC2(或wix,它允许节点后端在这方面非常酷。)但我很难找到一个解决方案,在浏览器之外传递API调用 最好的方法是什么 我有使用Lambda、API网关的经验——我猜其中一个可能就是我的答案。我在API网关中编写了一个成功的API,它返回了正确的200响应和回复消息 我已经做
谢谢最终,如果没有人回答,我会为自己的问题找到答案。我以前在动画中使用过jQuery,但在AJAX中使用它让我绕过了CORS问题。我也通过AWS中的API网关运行它
$(document).ready(function() {
let question = "ask the bot a question";
var settings = {
"async": true,
"crossDomain": true,
"url": "https://kjnflkjfsdf.execute-api.us-east-1.amazonaws.com/prod",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer abcdefghijklmnopqrstuvwxyz"
},
"data": JSON.stringify({
lang: "en",
query: question,
sessionId: "12345",
timezone: "America/New_York"
})
}
$.ajax(settings).done(function (response) {
let botResponse = response.result.fulfillment.speech;
console.log(botResponse);
});
});
请澄清你的意思是“通过我的API调用在浏览器之外。”基于意见的问题是偏离主题的,所以你也可以考虑编辑你的问题来删除诸如“最佳方式”之类的概念,而不是看你是否可以要求更具体、更不主观/基于意见的东西,比如“有没有办法。。。虽然避免了…?“我已经编辑了我的问题。谢谢,是的,我只需要绕过CORS,就像你在后端一样,但我不想设置服务器。AWS有很多这样的应用程序,我认为API网关是我最好的选择(客观地说*)。我希望用户能够与我的前端(HTML、CSS、JS)交互一旦在HTTP中发出post,将其传递给API并返回响应,解析承诺并更新元素以显示JSON响应中的正确值。