【发布时间】:2019-10-01 01:06:13
【问题描述】:
我正在使用 Activestorage。我想检索 S3 密钥以移交给微服务。我不想在 Rails 应用程序中下载 blob 或类似的东西,我只想在 API 请求中提供文件路径/密钥。
service_url 太过分了,因为我已经可以访问微服务中的存储桶,更不用说这些都是大文件,我不需要不必要地传输它们。
我有什么选择?
【问题讨论】:
-
如果微服务需要多个 API 密钥,可以考虑在 API 请求的 POST 正文中传递,但这也是一个安全隐患。你不能在微服务中将 API 密钥设置为 ENV var 吗?
-
抱歉,不是访问密钥,是指特定文件的密钥,即
bucket/folder/image.jpg。 -
是的,您肯定会传入 POST 正文或 GET 参数。如果微服务也可以访问数据库并且它也是一个 RoR 应用程序,您还可以将端点配置为已经与 ActiveStorage 对象相关。
-
它具有 S3 访问权限,但它不是 Rails 应用程序。我只需要 Rails 方法来公开 S3 上的任何文件密钥。
-
我想这就是你要找的东西? stackoverflow.com/a/49803251/891359
标签: ruby-on-rails amazon-s3 ruby-on-rails-5 rails-activestorage