

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 結構描述生命週期
<a name="schemas_lifecycle"></a>

Cloud Directory 提供結構描述生命週期，協助開發結構描述。這個生命週期包含三個狀態：開發、發佈和 Applied (已套用)。這些狀態旨在方便您建構和分發結構描述。這些狀態各有不同的功能，為此作業提供幫助。

下圖說明可能的轉換和用語。所有的結構描述轉換都是寫入時複製。例如，發佈開發結構描述不會改變或移除開發結構描述。

![](http://docs.aws.amazon.com/zh_tw/clouddirectory/latest/developerguide/images/schema_lifecycle.png)


您可以刪除狀態為 Development (開發) 或 Published (已發佈) 的結構描述。刪除結構描述無法復原，一經刪除也無法還原。

Development (開發)、Published (已發佈) 和 Applied (已套用) 狀態的結構描述都有代表它們的 ARN。這些 ARN 是用於 API 操作，以描述 API 操作所在的結構描述。只要查看結構描述 ARN，很容易分辨結構描述的狀態。
+ 開發：`arn:aws:clouddirectory:us-east-1:1234567890:schema/development/{{SchemaName}}`
+ 已發佈：`arn:aws:clouddirectory:us-east-1:1234567890:schema/published/{{SchemaName}}/{{Version}}`
+ 已套用: `arn:aws:clouddirectory:us-east-1:1234567890:directory/directoryid/schema/{{SchemaName}}/{{Version}}`

## Development (開發) 狀態
<a name="schemas_devstate"></a>

結構描述初始建立的狀態為開發狀態。此狀態下的結構描述是完全可變的。您可以自由新增或移除面向和屬性。絕大多數的結構描述設計都是出現在這個狀態中。此狀態下的結構描述有名稱，但沒有版本。

## Published (已發佈) 狀態
<a name="schemas_pubstate"></a>

已發佈的結構描述狀態存放準備套用到資料目錄的結構描述。結構描述是從 Development (開發) 狀態發佈到 Published (已發佈) 狀態。您無法變更 Published (已發佈) 狀態的結構描述。您可以將已發佈的結構描述套用到任意數量的資料目錄。

已發佈和已套用的結構描述都必須有與其相關聯的版本。如需有關版本的詳細資訊，請參閱[結構描述版本控制](schemas_inplaceschemaupgrade.md#schemas_cdschemaversion)。

## Applied (已套用) 狀態
<a name="schemas_appliedstate"></a>

已發佈的結構描述可以套用到資料目錄。已套用到資料目錄的結構描述即為 Applied (已套用)。一旦您將結構描述套用到資料目錄，您就可以在建立物件時使用結構描述的面向。您可以將多個結構描述套用到同一個資料目錄。已套用的結構描述只允許下列變更。
+  新增面向到已套用的結構描述
+  新增非必要屬性到已套用的結構描述