【问题标题】:Heroku AWS s3 bucket nameHeroku AWS s3 存储桶名称
【发布时间】:2013-12-05 17:18:52
【问题描述】:

应将 aws.s3.bucket 名称更改为唯一且 与您的应用程序相关。例如,演示应用程序使用 com.heroku.devcenter-java-play-s3 的值必须是 如果您想自己运行演示,请更改为其他内容。

我正在尝试将 S3 与 Heroku 一起使用。我也在使用带有 Scala 的 Play2 框架。我使用了这里显示的插件:https://devcenter.heroku.com/articles/using-amazon-s3-for-file-uploads-with-java-and-play-2#s3-plugin-for-play-2

我的配置文件中的一件事是我需要设置这三个参数:

aws.access.key=${?AWS_ACCESS_KEY}
aws.secret.key=${?AWS_SECRET_KEY}
aws.s3.bucket=com.something.unique

我在 AWS 控制台上找到了访问密钥和密钥,但这是 s3.bucket 吗?我确实为我的 S3 存储桶分配了一个名称,但这里的格式看起来像一个网站或 java 包层次结构。我应该放什么?

【问题讨论】:

    标签: heroku amazon-web-services amazon-s3


    【解决方案1】:

    S3 存储桶是 AWS S3 服务中的存储容器。您需要先使用他们的 Web 控制台或 API 创建存储桶,然后才能将数据存储在 S3 中。所有数据都保存在一个存储桶中。

    创建存储桶后,您需要将 S3 客户端配置为使用您要存储数据的存储桶名称。

    S3 存储桶名称是跨 S3 的全局名称空间。他们经常使用点分界线,如 Java 包或域名,但这是一些人使用的任意约定。

    如果您愿意在暂存和生产之间泄漏数据,则可以在多个环境中使用同一个存储桶。我建议为每个环境使用单独的 S3 存储桶。

    【讨论】:

    • 我还鼓励将存储桶名称作为 Heroku 配置变量进行管理(反过来作为环境变量暴露给您的应用程序)。例如,heroku config:set AWS_S3_BUCKET=com.something.unique。这将有助于确保您的本地开发和 Heroku 开发/暂存/生产环境不会重叠它们的数据。在本地,您将使用 .env 文件和工头来模拟 heroku config 命令。
    • @Winfield,好吧,我认为存储桶在帐户之间是独立的吗?如果我想开始登台或生产服务器,我不需要在 amazon 上使用一个帐户同时创建登台和生产存储桶吗?
    • S3 存储桶名称是跨 S3 的全局名称空间。他们经常使用点分界线,如 Java 包或域名,但这是一些人使用的任意约定。如果您对暂存和生产之间的数据泄漏感到满意,您可以在多个环境中使用同一个存储桶。我建议为每个环境使用单独的 S3 存储桶。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多