录入服务模板时,如果您需要使用部署物中文件部署物相关的软件包,可以使用软件包关联的功能。本文介绍软件包关联的功能。
功能介绍
使用软件包关联功能,您需要在服务模板中定义软件包关联的标识位,并在软件包关联中设置关联的文件部署物,在创建服务实例时,计算巢会自动识别模板中标识位,并根据服务实例部署地域,自动替换成部署物对应地域的文件URL。
功能配置
- 在模板中定义软件包关联标识位。
在配置软件包关联功能前,需要先定义标识位。软件包关联标识位在模板中通常有两种使用方式,包含常用模板和数据库类型MigrateTask专用。
软件包关联标识位的固定表达式如下:- (推荐)若部署物的文件URL为私网URL时,软件包的固定表达式为:
{{ computenest::file::xxx }}
。 - 若部署物的文件URL为公网URL时,软件包的固定表达式为:
{{ computenest::publicfile::xxx }}
说明 其中xxx为任意单词,中间不可用空格隔开。- 常用模板定义标识位。
以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 }}
- (推荐)若部署物的文件URL为私网URL时,软件包的固定表达式为:
- 配置软件包关联。
- 在创建服务界面的部署物关联区域,单击设置软件包关联。
- 在软件包关联弹窗中,选择需要关联的文件部署物和对应的版本。
若您没有文件部署物,需先创建再选择。关于如何创建部署物,请参见创建部署物。
- 单击确定。
功能展示
服务创建完成后,在创建服务实例时,计算巢会将模板中的内容根据服务实例部署地域和部署物自动替换为对应部署地域的文件URL。
- 常用模板定义标识位替换后的结果如下所示。
- 当部署物的文件URL为私网URL时,替换结果如下。
- 当部署物的文件URL为公网URL时,替换结果如下。
说明 由于该服务实例的部署地域是乌兰察布,因此计算巢将替换模板中的内容为乌兰察布分发后的结果。 - 当部署物的文件URL为私网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替换成该格式,如下图所示。
说明 由于该服务实例的部署地域是杭州,因此计算巢将替换模板中的内容为杭州分发后的结果。