錄入服務模板時,如果您需要使用部署物中文件部署物相關的軟件包,可以使用軟件包關聯的功能。本文介紹軟件包關聯的功能。
功能介紹
使用軟件包關聯功能,您需要在服務模板中定義軟件包關聯的標識位,并在軟件包關聯中設置關聯的文件部署物,在創建服務實例時,計算巢會自動識別模板中的標識位,并根據服務實例部署地域,自動替換成部署物對應地域的文件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時,替換結果如下。
說明由于該服務實例的部署地域是烏蘭察布,因此計算巢將替換模板中的內容為烏蘭察布分發后的結果。
數據庫類型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替換成該格式,如下圖所示。
說明由于該服務實例的部署地域是杭州,因此計算巢將替換模板中的內容為杭州分發后的結果。