gpt4 book ai didi

amazon-web-services - AWS API 网关 AWS 代理事件中的路径和资源(或资源路径)有什么区别?

转载 作者:行者123 更新时间:2023-12-05 05:39:07 26 4
gpt4 key购买 nike

我正在学习 AWS Lambda。我创建了一个将充当 REST API 的 lambda(CloudFormation 术语中的 APIEvent),并希望使用事件在本地调试该 Lambda。

如果我理解正确,运行 sam local generate-event apigateway aws-proxy 会生成一个适合在本地运行/调试我的 Lambda 的事件。这会产生以下事件(一些嵌套值被缩写):

{
"body": "eyJ0ZXN0IjoiYm9keSJ9",
"resource": "/{proxy+}",
"path": "/path/to/resource",
"httpMethod": "POST",
"isBase64Encoded": true,
"queryStringParameters": {
"foo": "bar"
},
"multiValueQueryStringParameters": {
"foo": [
"bar"
]
},
"pathParameters": {
"proxy": "/path/to/resource"
},
"stageVariables": {
"baz": "qux"
},
"headers": {
...
},
"multiValueHeaders": {
...
},
"requestContext": {
"accountId": "123456789012",
"resourceId": "123456",
"stage": "prod",
"requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
"requestTime": "09/Apr/2015:12:34:56 +0000",
"requestTimeEpoch": 1428582896000,
"identity": {
...
},
"path": "/prod/path/to/resource",
"resourcePath": "/{proxy+}",
"httpMethod": "POST",
"apiId": "1234567890",
"protocol": "HTTP/1.1"
}
}

但是,我不明白resource(复制到requestContext.resourcePath)和path(复制到requestContext.path)。我应该为这些值填写什么?

最佳答案

resource 是您在 API 网关中定义的 API 资源。例如在您的情况下 /{proxy+}

path 是来自请求的实际路径。

因此,当您发出请求 GET https://yourdomain.com/v1/pets 时:

  • 路径是/v1/pets
  • 资源是/{proxy+}

关于amazon-web-services - AWS API 网关 AWS 代理事件中的路径和资源(或资源路径)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72778741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com