录入服务模板时,如果您需要使用部署物中文件部署物相关的软件包,可以使用软件包关联的功能。本文介绍软件包关联的功能。

功能介绍

使用软件包关联功能,您需要在服务模板中定义软件包关联的标识位,并在软件包关联中设置关联的文件部署物,在创建服务实例时,计算巢会自动识别模板中标识位,并根据服务实例部署地域,自动替换成部署物对应地域的文件URL。

功能配置

  1. 在模板中定义软件包关联标识位。

    在配置软件包关联功能前,需要先定义标识位。软件包关联标识位的固定表达式为:{{ computenest::file::xxx }} (其中xxx为任意单词,中间不可用空格隔开)。软件包关联标识位在模板中通常有两种使用方式,包含常用模板和数据库类型MigrateTask专用。

    • 常用模板定义标识位。

      以userData中下载文件并将文件的名称修改为TestFirst.txt和TestSecond.tar为例,展示模板中定义的标识位。

      说明
      • 在模板中定义软件包关联标识位时,推荐使用单引号(‘’)或双引号(“”)将标识位的内容引起来。
      • 如果使用wget命令下载,推荐加入 -O 参数指定输出文件名。
      TiDBServer:
          Type: ALIYUN::ECS::InstanceGroup
          Properties:
            ……
            UserData:
              Fn::Sub:
                - |
                  #!/bin/sh
                  sleep 10
                  wget '{{ computenest::file::DemoFirst }}' -O TestFirst.txt
                  wget '{{ computenest::file::DemoSecond }}' -O TestSecond.tar
                  ……
    • 数据库类型MigrateTask中定义标识位。
      SQLDump:
          Type: ALIYUN::RDS::MigrateTask
          Properties:
              ……
            DBName: mytest
            DBInstanceId:
              Fn::GetAtt:
                - Database
                - DBInstanceId
            OssObjectPositions: {{ computenest::file::DemoFirst }}
  2. 配置软件包关联。
    1. 在创建服务界面的部署应用区域,单击软件包关联
    2. 软件包关联弹窗中,选择需要关联的文件部署物和对应的版本。

      若您没有文件部署物,需先创建再选择。关于如何创建部署物,请参见创建部署物

      关联软件包
    3. 单击确定部署配置

功能展示

服务创建完成后,在创建服务实例时,计算巢会将模板中的内容根据服务实例部署地域和部署物自动替换为对应部署地域的文件URL。

  • 常用模板定义标识位替换后的结果如下图所示。替换结果
    说明 由于该服务实例的部署地域是乌兰察布,因此计算巢将替换模板中的内容为乌兰察布分发后的结果。
  • 数据库类型MigrateTask中,计算巢会将文件部署物的URL更改为OssObjectPositions参数的格式。

    由于OssObjectPositions参数是由OSS Endpoint地址、OSS Bucket名称和OSS上的备份文件Key三段组成,每段中间用英文冒号(:)分隔(例如:oss-ap-southeast-1.aliyuncs.com:rdsmssqlsingapore:autotest_2008R2_TestMigration_FULL.bak,更多信息,请参见ALIYUN::RDS::MigrateTask),因此计算巢会将文件部署物的URL替换成该格式,如下图所示。

    替换结果
    说明 由于该服务实例的部署地域是杭州,因此计算巢将替换模板中的内容为杭州分发后的结果。