在某些情況下 (例如環境的某些部分必須先存在,才能部署環境的其他部分時),您可以讓資源之間存在相依性。例如,如要建立新的專案做為部署作業的一部分,則需要確保先建立專案後才在其中加入任何資源。
您可以在設定檔或範本中使用 dependsOn
選項來指定這些相依性。為資源新增 dependsOn
選項時,Deployment Manager 會先建立或更新相依性,然後才會建立或更新資源。
您可以在設定檔中或用於部署作業的範本中,建立屬於部署作業的基礎類型之間的相依性,但您無法設定範本檔案或複合類型的相依性。
如需有關基礎和複合類型的背景資訊,請參閱類型總覽一文。
事前準備
- 如要使用本指南提供的指令列範例,請安裝 `gcloud` 指令列工具。
- 如要使用本指南提供的 API 範例,請設定 API 存取權。
建立相依性
如要在資源中加入相依性,請新增包含 dependsOn
區段的 metadata
區段。然後,請在 dependsOn
區段中指定一或多個相依性。
在下列範例中,如要讓 a-special-vm
依賴於建立兩個永久磁碟,請為 a-special-vm
新增 metadata
和 dependsOn
區段。然後再為每個永久磁碟加入相依性。
在同一個部署作業中,您必須定義具有相依性的永久磁碟。
在本例中,磁碟為 persistent-disk-a
和 persistent-disk-b
:
resources:
- name: a-special-vm
type: compute.v1.instances
properties:
...
metadata:
dependsOn:
- persistent-disk-a
- persistent-disk-b
- name: persistent-disk-a
type: compute.v1.disks
properties:
...
- name: persistent-disk-b
type: compute.v1.disks
properties:
...
在此部署作業中,Deployment Manager 會先建立 persistent-disk-a
和 persistent-disk-b
,再建立 a-special-vm
。