AWS API网关方法从S3 Bucket提供静态内容

Duk*_*ing 6 amazon-s3 amazon-web-services aws-api-gateway

我想通过API Gateway提供我的lambda微服务,这似乎不是一个大问题.

我的每个微服务都有一个提供的资源的JSON-Schema规范.因为它是一个静态文件,所以我想从S3 Bucket中提供它,而不是运行lambda函数来提供它.

所以虽然

GET,POST,PUT,DELETE http://api.domain.com/ressources
Run Code Online (Sandbox Code Playgroud)

应转发给lambda函数.我想要

GET http://api.domain.com/ressources/schema
Run Code Online (Sandbox Code Playgroud)

从S3提供我的schema.json.

我天真的第一种方法是为"/ v1/contracts/schema - GET - Integration Request"设置资源和方法,并将其配置为HTTP代理,端点url直接指向契约JSON-Schema.我收到500 - 内部服务器错误.

                    Execution log for request test-request
Fri Nov 27 09:24:02 UTC 2015 : Starting execution for request: test-invoke-request
Fri Nov 27 09:24:02 UTC 2015 : API Key: test-invoke-api-key
Fri Nov 27 09:24:02 UTC 2015 : Method request path: {}
Fri Nov 27 09:24:02 UTC 2015 : Method request query string: {}
Fri Nov 27 09:24:02 UTC 2015 : Method request headers: {}
Fri Nov 27 09:24:02 UTC 2015 : Method request body before transformations: null
Fri Nov 27 09:24:02 UTC 2015 : Execution failed due to configuration error: Invalid endpoint address
Run Code Online (Sandbox Code Playgroud)

我是在完全错误的道路上还是只是错过了一些配置?

Bob*_*ney 8

不幸的是,当使用TestInvoke和API网关代理同一区域内的Amazon S3(以及其他一些AWS服务)时,存在一个限制.部署后不会出现这种情况,但如果要从控制台进行测试,则需要在不同区域使用存储桶.

我们知道这个问题,但我不能承诺何时解决这个问题.

  • 这非常烦人.刚刚花了一个上午试图从亚马逊的一个仅存在于测试环境中的教程中追踪问题. (4认同)