差异化Amazon具有命名的资源 - Amazon Toolkit for Eclipse
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

差异化Amazon具有命名的资源

在开发新的产品或功能期间,它是有用的保持Amazon资源,用于开发的资源独立于用于生产的资源。保持这种分离的一种方法在设置Amazon凭证, 即对开发资源和生产资源使用不同的帐户. 这种方法在使用Amazon资源管理器,因为Amazon资源管理器根据帐户凭据显示资源。此部分将讨论一种替代方法,其中使用命名约定来区分开发资源和生产资源,并且在代码中实施对命名约定的支持。

基本想法是区分你的Amazon资源,如 Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon SimpleDB 域,方法是将指定的字符串值添加到资源名称。例如,您可以将 Amazon SimpleDB 域命名为 “customers-dev” (供开发使用) 或 “供生产使用),而不是将此域命名为 “customer-prod”。不过,如果您需要将开发代码移至生产中,则会出现问题。此时,您将需要通过大量全局搜索和替换操作来更改所有这些字符串;这一过程可能繁琐或容易出错。一个更高效的方法是,在代码中添加对命名约定的支持。

StageUtils 类公开以下方法。

public static String getResourceSuffixForCurrentStage()

getResourceSuffixForCurrentStage 方法返回一个字符串,该字符串对应于软件生命周期中使用资源的“阶段”,例如“dev”、“beta”或“prod”。随后,可以将该字符串附加到代码中使用的资源标识符。您可以使用 getResourceSuffixForCurrentStage 构建资源名称。例如,以下 getTopicName 方法返回 Amazon SNS 主题的唯一名称。请注意它如何将 getResourceSuffixForCurrentStage 中的返回值嵌入此名称。

private String getTopicName (Entry entry) { return "entry" + StageUtils.getResourceSuffixForCurrentStage() + "-" + entry.getId(); }

从 Java 系统属性“application.stage”中检索由 getResourceSuffixForCurrentStage 返回的值。您可以通过在 Elastic Beanstalk 容器配置中设置系统属性来指定此值。

注意

在 Toolkit for Eclipse 中,您必须启动并运行 Elastic Beanstalk 应用程序,才能访问容器配置。更改并保存配置将导致应用程序自动使用新配置重新启动。

访问您的 “Container/JVM Options (容器 /JVM 选项)” 面板AmazonElastic Beanstalk 应用程序

  1. InAmazonExplorer中,展开AmazonElastic Beanstalk节点和您的应用程序节点。

  2. 在应用程序节点下,双击您的 Elastic Beanstalk 环境。

  3. Overview (概述) 窗格底部,单击 Configuration (配置) 选项卡。

  4. Container (容器) 区域中,配置容器选项。

  5. Additional Tomcat JVM command line options (更多 Tomcat JVM 命令行选项) 框中,通过添加 -D 命令行选项指定 application.stage 系统属性的值。例如,您可以使用以下语法指定字符串值应为“-beta”。

    -Dapplication.stage=beta

    请注意,getResourceSuffixForCurrentStage 会自动在您指定的字符串值前加上连字符。

  6. 添加系统属性值之后,单击 File (文件) 菜单,然后单击 Save (保存)。Eclipse 将保存新配置。该应用程序将自动重新启动。您可以在 Eclipse 编辑器底部的 Events 选项卡上查看是否有指示新配置已成功部署到环境的事件。

  7. 在应用程序重新启动后,展开Amazon SimpleDB节点在中AmazonExplorer. 现在,您将看到一组使用您指定的字符串值的新域。

注意

有关配置容器的更多信息,请参阅在 上创建和部署 Java 应用程序AmazonElastic Beanstalk中的Amazon Elastic Beanstalk开发人员指南.