【问题标题】:AWS API Gateway Method to Serve static content from S3 Bucket从 S3 存储桶提供静态内容的 AWS API 网关方法
【发布时间】:2017-01-16 07:47:49
【问题描述】:

我想通过 API Gateway 为我的 lambda 微服务提供服务,这似乎不是什么大问题。

我的每个微服务都有所提供资源的 JSON 架构规范。由于它是一个静态文件,我想从 S3 存储桶中提供它 而不是同时运行一个 lambda 函数来服务它。

所以当

GET,POST,PUT,DELETE http://api.domain.com/ressources

应该被转发到一个 lambda 函数。我想要

GET http://api.domain.com/ressources/schema

从 S3 为我的 schema.json 提供服务。

我天真的第一种方法是设置“/v1/contracts/schema - GET - 集成请求”的资源和方法,并将其配置为作为 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

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

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-api-gateway


    【解决方案1】:

    很遗憾,将 TestInvoke 与 API Gateway 代理到同一区域内的 Amazon S3(和一些其他 AWS 服务)时存在限制。部署后不会出现这种情况,但如果您想从控制台进行测试,则需要使用不同区域的存储桶。

    我们知道这个问题,但我无法承诺何时解决这个问题。

    【讨论】:

    • 感谢信息。无论我使用 HTTP 代理还是 AWS 服务选项,这个问题都是一样的,对吧?
    • 这非常烦人。刚刚花了一个上午试图从亚马逊的一个教程中找出一个问题,该教程只存在于测试环境中。
    • @BobKinney,这个问题解决了吗?
    • @JosephCarroll 很遗憾没有。
    • 我仍然看到与@QuantumTiger 相同的问题。不幸的是,亚马逊的文档似乎有点过时了。
    【解决方案2】:

    在我的一个设置中,我在 API 网关和 S3 存储桶前面放置了一个 CloudFront 分配,它们都配置为源。

    我这样做主要是为了能够使用由 AWS 证书管理器颁发的 SSL 证书,该证书只能在独立的 CloudFront 发行版上设置,而不能在 API 网关上设置。

    【讨论】:

    • 确定可以使用 cloudfront,但我认为您无法获得相同级别的详细路由。还是我错了。您可以将不同的子域一个指向 S3,另一个指向 API Gateway
    【解决方案3】:

    我刚刚遇到了类似的错误,但原因完全不同:如果 s3 存储桶名称包含句点(如 data.example.com 或类似名称),proxz 请求将因 ssl 认证问题而退出!

    【讨论】:

      猜你喜欢
      • 2019-02-19
      • 2015-12-22
      • 2021-02-16
      • 2018-02-22
      • 1970-01-01
      • 2020-05-07
      • 2021-12-05
      • 2016-12-22
      • 2020-10-13
      相关资源
      最近更新 更多