我有一个Lambda函数,可以通过API网关访问。我可以处理Lambda内对API端点(https://XXXXXXX.execute-api.us-east-1.amazonaws.com/default/myapi
)的所有POST和GET提交的请求,但是在使用PUT请求时,需要在URL末尾使用一些段。
我调用该API的Python代码在这里,并且运行正常:
import requests
import json
url = 'https://XXXXXXX.execute-api.us-east-1.amazonaws.com/default/myapi'
token = "my token"
data = {
"first_name": "Reza",
"birthday": "1986-09-12"
}
headers = {"Content-Type" : "application/json", "x-api-key":"MY_API_KEY"}
response = requests.put(url, data=json.dumps(data), headers=headers)
print(response.text)
但是,如果我在网址末尾添加users
段,如下所示:
url = 'https://XXXXXXX.execute-api.us-east-1.amazonaws.com/default/myapi/users'
它将显示此错误:
{"message":"Missing Authentication Token"}
我需要添加一些静态段(例如users
)以返回所有用户的列表,并添加一些动态段(例如users/USER_ID
(当USER_ID
是动态数字时)以返回有关特殊用户。
能否请您指导我如何在AWS API Gateway中使用分段URL?
答案 0 :(得分:1)
您使用分段URL的术语可能引起您的困惑。在AWS中,它称为路径参数。有多种方法可以做到这一点。 ANY +集成最容易处理。
与ANY +集成集成到您的lambda中,您一切顺利。所有路径参数都将传递到您的lambda。
http://www.1strategy.com/blog/2017/06/06/how-to-use-amazon-api-gateway-proxy/
其他路径参数文档,
祝你好运。