我有一个aws lambda函数,它返回以下响应:
var responseBody = { cost: price };
var response = {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*"
},
body: JSON.stringify(responseBody),
isBase64Encoded: false
};
callback(null, response);
但是我在前端角度应用程序中得到以下误差。
CORS策略阻止从来源“HTTP://127.0.0.1:8080”访问位于“https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/price”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。
如果您使用的是API网关HTTP API(不确定这是否与REST API相关):
假设我在/post products
有一个endpoint。我不得不在/options products
添加另一个endpoint,并将其与一个简单的Lambda函数集成,该函数只返回HTTP 200 OK(或HTTP 204 No Content),以及“Access-Control-Allog-Origin”:“*”
标头(或者更好的方法是指定您的Origine/Client的URL)。
这是因为浏览器在发出实际请求(请参阅更多信息)之前,对所有HTTP请求发出preflight/options
请求,除了get
和post
,这些请求具有某些MIME类型(source)。
我需要从endpoint获取一些数据,然后根据响应将这些数据存储到数据库中。
我创建了一个简单的python 3.7 lambda函数: 此函数用于从s3存储桶中读取json文件。json文件如下所示: {id: 1, name: John, pwd:密码} 响应:{“statusCode”:200,“headers”:{“Content Type”:“application/json”},“body”:{“id”:1,“name”:“John”,“pwd”:“passwo
我创建了一个节点。js(使用ExpressJS)微服务,并使用向Eureka Discovery Server注册。 我已经在Eureka注册了一些基于Java的微服务,并通过Zuul API网关使用它们。 当我尝试调用节点上的特定endpoint时。js微服务通过API网关,抛出错误: 注意:是我的演示服务应用程序的名称。
我更倾向于使用Lambda和Java8来设置,但是使用node.js的示例也有助于理解如何实现这一点。
我的VPC中有Public和Pvt子网。我在Pvt子网上有一些运行在EC2上的服务,需要通过外部/移动资源访问。我如何做到这一点-是VPCLink和NLB的方式来做到这一点,还是任何其他方式,创建一些访问点在公共子网(??)。Lambda似乎是答案(现在AWS中几乎所有的东西)--甚至不确定那种访问对于Pvt子网中的资源是如何工作的。 同样,同一个Pvt子网可以访问外部资源(在AWS之外)-我如何
参考:https://www.w3schools.com/tags/ref_urlencode.asp