本文以一个例子介绍了如何使用ACM的命名空间(Namespace)功能,为应用在测试、预生产和生产环境下的同一个配置设置不同的值。

背景信息

在实际业务场景中,经常需要针对不同环境的某个配置项设置不同的值。ACM的命名空间(Namespace)功能可以帮助您实现多个环境的资源和配置的隔离。

在本示例任务中,我们将使用ACM的命名空间(Namespace)功能,为应用在测试、预生产和生产环境下的同一个配置设置不同的值。期望实现的效果如下:

不同环境设置不同配置

步骤一:在ACM上创建命名空间

下面以创建命名空间Development为例。

  1. 登录ACM控制台,在顶部菜单栏选择地域。
  2. 在左侧导航栏选择命名空间,在页面左上角单击创建命名空间
  3. 在弹出的创建命名空间面板中输入命名空间名称Development,然后单击确定
  4. 重复步骤2~3,继续创建Testing和Staging命名空间。

步骤二:在命名空间下创建配置

  1. 登录ACM控制台,在顶部菜单栏选择地域。
  2. 在左侧导航栏选择配置列表,在页面上方选择命名空间,然后在页面左侧单击创建配置
    创建配置
  3. 在弹出的创建配置面板中填写配置信息,配置完成后单击发布
    创建配置
    参数 描述
    Data ID 配置ID。建议采用package.class的命名规范,其中class部分是具有业务含义的配置名称,例如:com.foo.bar.log.level。Data ID在一个Group下是唯一的。
    Group 配置分组,建议填写产品名或模块名。Group是全局唯一的。
    数据加密 您可完成如下配置来统一使用密钥管理服务(KMS)对配置进行加密:
    1. 打开数据加密
    2. 数据加密区域单击前往授权
    3. 云资源访问授权页面选择AliyunACMAccessingKMSRole并单击同意授权
    4. 刷新创建配置面板,选择KMS加密方式。
    注意 KMS服务API调用每位用户每个月有20000次免费额度,您在ACM上每次变更会调用2~3次API,因此免费额度可以支持您每月进行6000多次变更。当KMS API使用量超出后,将会收取0.6元/万次的费用。
    配置格式 配置内容的数据格式。
    配置内容 输入配置的内容,例如:
    threadPoolSize=5
    logLevel=WARN
    配置描述 配置描述信息。
    更多配置
    • 应用:配置归属的应用名。
    • 标签:在文本框中输入标签信息,并单击标签选择器。
  4. 重复上述步骤2~3,为不同的命名空间创建不同的配置。