【问题标题】:Access GCS from cloudrun从云端运行访问 GCP
【发布时间】:2021-09-28 13:44:53
【问题描述】:

我在这里有一个 php 项目,我想在 Google Cloud Run 中运行,因为它也适用于文件,我认为启动 GSC 实例并将文件放在那里是有意义的。

到目前为止,这在本地也有效。但是,当我在 Cloud Run 中运行项目时,访问 GCS 时出现错误:

cURL error 5: Could not resolve proxy: null (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://storage.googleapis.com/storage/v1/b/<redacted>/o?delimiter=%2F&includeTrailingDelimiter=true&prefix=public%2Fvar%2Ftmp%2Fthumbnails%2F_default_upload_bucket%2F&prettyPrint=false

如果我理解正确,cURL 想要通过代理,但是,我没有配置任何类似的东西。我在云上运行时只有一个 VPC 连接器,但它被配置为只有对私有 IP 的请求通过 VPC 连接器。

使用的框架是 Symfony 5,要连接的库是带有“google-cloud-storage”适配器的“flysystem”。

这里有什么我基本上误解的东西吗?

【问题讨论】:

  • 如果您点击来自cURL error 的链接,它将显示"The specified bucket does not exist."。如果没有帮助,我认为您需要在描述中添加更多信息,例如您如何在 Cloud Run 中运行以及如何引用 Cloud Storage
  • 是的,我还从链接中删除了存储桶的名称,因为我可能没有正确配置权限。 - 这就是为什么您会收到此存储桶未退出的消息。我不确定您需要什么信息。我通过 Terraform 使用 Debian 部署容器,Terraform 代码通过管道执行。存储应该通过 http 访问,它的设置是通过 env 变量设置的。然后使用来自云运行的服务器用户进行身份验证。

标签: php symfony google-cloud-platform google-cloud-storage google-cloud-run


【解决方案1】:

我已经能够解决这个问题。但是,我仍然不太清楚为什么必须这样做。

无论如何,必须设置以下环境变量才能使其工作:

HTTPS_PROXY = ""
HTTP_PROXY = ""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 2021-08-19
    • 2021-10-28
    • 2021-09-21
    • 2021-08-29
    • 2021-10-28
    • 1970-01-01
    • 2018-07-08
    相关资源
    最近更新 更多