

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 就地架构升级
<a name="schemas_inplaceschemaupgrade"></a>

Cloud Directory 提供了更新现有架构属性和分面的功能，用于帮助将您的应用程序集成到 AWS 提供的服务中。处于已发布或已应用状态的架构具有多个版本且无法更改。有关更多信息，请参阅 [架构生命周期](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/)在云 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 维护已应用架构更改的最近五个版本。

有关说明性示例，请参阅[“如何通过就地架构升级轻松应用 Amazon Cloud Directory 架构更改”](https://aws.amazon.com/blogs/security/how-to-easily-apply-amazon-cloud-directory-schema-changes-with-in-place-schema-upgrades/)在云 Directory 博客中。该博客文章将演示如何在 Cloud Directory 中执行就地架构升级和使用架构版本。它介绍了如何将额外的属性添加到现有分面，将新分面添加到架构，发布新架构并将其应用到正在运行的目录以完成架构就地升级。它还演示了如何查看目录架构的版本历史记录，这用助于确保目录队列运行相同的架构版本并对其应用了正确的架构更改历史记录。