You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rails的ActiveStorage中获取供谷歌云服务使用的GCS URL?

获取ActiveStorage中GCS对象的gs://格式URL

要生成Google Cloud Storage(GCS)要求的gs://格式URL,你可以直接通过ActiveStorage的Blob对象结合存储桶名称拼接得到,具体操作如下:

  • 先获取附件对应的Blob实例:比如你的模型是Video,关联了has_one_attached :media_file,那么可以通过video.media_file.blob拿到Blob对象。
  • 从Blob的存储服务实例中提取存储桶名称,再结合Blob的key(即对象在GCS中的存储路径)拼接出目标URL。

示例代码(可封装为模型方法):

class Video < ApplicationRecord
  has_one_attached :media_file

  def gcs_gs_url
    return nil unless media_file.attached?
    
    blob = media_file.blob
    bucket_name = blob.service.bucket.name
    "gs://#{bucket_name}/#{blob.key}"
  end
end

调用video.gcs_gs_url就能得到类似gs://your-bucket-name/abc123xyz/your-file.mp4的URL,完全满足视频智能API这类Google服务的输入要求。

注意:需确保你的GCS存储桶已配置正确IAM权限,允许视频智能API的服务账号访问目标对象(通常赋予storage.objects.viewer角色即可)。

内容的提问来源于stack exchange,提问作者Patrick Vellia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:04:53