Amazon web services 如何将S3静态前端挂接到API?

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响应和回复消息 我已经做

我想运行一个S3静态网站。很简单

我已经建立了一个聊天机器人使用对话框流,我想连接到我的网站

在过去,我使用S3来托管许多静态网站,但正如你们中的许多人所知…CORS…所以现在我正在寻找一个后端

因此,在过去,我会构建一个EC2(或wix,它允许节点后端在这方面非常酷。)但我很难找到一个解决方案,在浏览器之外传递API调用

最好的方法是什么

我有使用Lambda、API网关的经验——我猜其中一个可能就是我的答案。我在API网关中编写了一个成功的API,它返回了正确的200响应和回复消息

我已经做了尽职调查,在stack和google上找到了答案,很多关于如何使用S3作为存储的问题,但我想完成的事情并不多

我是不是应该放弃对话流,去找莱克斯?我在对话框流中有很多逻辑,所以我不想切换机器人应用程序。有没有一种简单的方法可以连接一个后端来发布一篇简单的文章,然后将响应传递回S3前端


谢谢

最终,如果没有人回答,我会为自己的问题找到答案。我以前在动画中使用过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响应中的正确值。