

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

# 就地升級結構描述
<a name="schemas_inplaceschemaupgrade"></a>

Cloud Directory 讓您更新現有的結構描述屬性和面向，協助您整合應用程式和 AWS 提供的服務。Published (已發佈) 或 Applied (已套用) 狀態下的結構描述擁有版本，且無法變更。如需詳細資訊，請參閱 [結構描述生命週期](schemas_lifecycle.md)。

## 結構描述版本控制
<a name="schemas_cdschemaversion"></a>

結構描述版本會指出結構描述的唯一識別符，開發人員可在程式設計其應用程式時為符合特定規則和格式化資料而指定。版本控制搭配 Cloud Directory 的方法中有兩項重大差異，開發人員一定要了解。這些差異化因素 (主要版本和次要版本) 可以決定未來的結構描述對您應用程式的影響。

### 主要版本
<a name="schemas_majorversion"></a>

*主要版本*是用於追蹤結構描述主要版本變更的版本識別符。其長度最多可有 10 個字元。同一個結構描述的不同版本都是完全獨立的。例如，名稱相同但版本不同的兩個結構描述，會被視為完全不同的結構描述，各有各的命名空間。

**回溯不相容的變更**

我們建議只有當結構描述不相容時才變更主要版本。例如，變更現有屬性的資料類型時 (例如從 `string` 變更為 `integer`)，或從您的結構描述捨棄必要屬性時。回溯不相容的變更需要將目錄資料從上一版的結構描述遷移到新版的結構描述。

### 次要版本
<a name="schemas_minorversion"></a>

*次要版本*是用於就地升級結構描述的版本識別符，或當您想要回溯相容升級的版本識別符，例如新增其他屬性或新增面向。使用次要版本升級的結構描述，可以就地套用到使用它不會損及任何執行中應用程式的所有目錄。這包括使用在生產環境中的目錄。如需使用案例範例，請參閱[「如何透過就地結構描述升級，輕鬆套用 Amazon Cloud Directory 結構描述變更」](https://aws.amazon.com/blogs/security/how-to-easily-apply-amazon-cloud-directory-schema-changes-with-in-place-schema-upgrades/)在 Cloud Directory 部落格中。

次要版本資訊和歷史記錄會與其他的結構描述資訊一起儲存在結構描述中繼資料儲存庫中。物件中不保留任何次要版本資訊。推出次要版本的優點是，只要主要版本不變更，就可以無縫使用用戶端程式碼。

**次要版本限制**

Cloud Directory 會保留並因此限制最多五個次要版本。不過，次要版本限制會以下列方式針對已發佈和套用的結構描述強制執行：
+ **已套用結構描述：** 一旦超過次要版本限制，Cloud Directory 就會自動刪除最舊的次要版本。
+ **已發佈結構描述：** 一旦超過次要版本限制，Cloud Directory 就不會刪除任何次要版本，但會透過`LimitExceededException`該限制已超出。一旦超過次要版本限制，您可以使用[DeleteSchema](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_DeleteSchema.html)API 或請求提高限制。

## 使用結構描述升級 API 操作
<a name="schemas_usingschemaupgradeapis"></a>

您可以使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpgradePublishedSchema.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpgradePublishedSchema.html) API 呼叫來升級已發佈的結構描述。結構描述升級使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpgradeAppliedSchema.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpgradeAppliedSchema.html) API 呼叫就地套用到倚賴它的目錄。此外，您也可以呼叫 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetAppliedSchemaVersion.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetAppliedSchemaVersion.html)，藉此擷取已套用結構描述的主要及次要版本。或者，您也能呼叫，進而檢視相關聯的結構描述 ARN 及結構描述修訂歷史記錄[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListAppliedSchemaArns.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListAppliedSchemaArns.html)。Cloud Directory 會保留已套用結構描述變更的 5 個最新版本。

如需說明範例，請參閱[「如何透過就地結構描述升級，輕鬆套用 Amazon Cloud Directory 結構描述變更」](https://aws.amazon.com/blogs/security/how-to-easily-apply-amazon-cloud-directory-schema-changes-with-in-place-schema-upgrades/)在 Cloud Directory 部落格中。部落格文章會示範如何執行結構描述就地升級及在 Cloud Directory 結構描述版本。內容涵蓋如何在現有的面向中新增其他屬性、在結構描述中新增新的面向、發佈新的結構描述，以及將它套用到執行中的目錄來完成結構描述的就地升級。並說明如何檢視目錄結構描述的版本歷史記錄，這有助於確保目錄叢集執行相同的結構描述版本，並套用正確的結構描述變更歷史記錄。