

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

# 通过覆盖属性 OpsWorks 来自定义堆栈配置
<a name="workingcookbook-attributes"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

**注意**  
对于 Windows 堆栈和 Chef 12 Linux 堆栈， OpsWorks Stacks 使用单独的 Chef 运行来制作内置食谱和自定义食谱。这意味着，您无法使用此节中讨论的方法来覆盖 Windows 堆栈和 Chef 12 Linux 堆栈的内置属性。

配方和模板取决于实例的各种 Chef 属性或堆栈特定信息 (如层配置或应用程序服务器设置)。这些属性具有多个源：
+ **自定义 JSON** （可选）-您可在创建、更新或克隆堆栈时或部署应用程序时指定自定义 JSON 属性。
+ **堆栈配置属性** —OpsWorks 堆栈定义这些属性以保存堆栈配置信息，包括您通过控制台设置指定的信息。
+ **部署属性** — AWS OpsWorks 为 Deploy 事件定义与部署相关的属性。
+ **说明书属性** 内置说明书和自定义说明书通常包含一个或多个[属性文件](workingcookbook-installingcustom-components-attributes.md)，这些文件中包含表示说明书特定值（如应用程序服务器配置设置）的属性。
+ **Chef** - Chef 的 [Ohai 工具](http://docs.chef.io/resource_ohai.html)定义了表示各种系统配置设置 (如 CPU 类型和安装的内存) 的属性。

有关堆栈配置和部署属性以及内置说明书属性的完整列表，请参阅[堆栈配置和部署属性：Linux](attributes-json-linux.md) 和[内置说明书属性](attributes-recipes.md)。有关 Ohai 属性的更多信息，请参阅 [Ohai](https://docs.chef.io/ohai.html)。

当[生命周期事件](workingcookbook-events.md)（如部署或配置）出现时，或您运行[堆栈命令](workingstacks-commands.md)（如 `execute_recipes` 或 `update_packages`）时， OpsWorks Stacks 将执行以下操作：
+ 向每个受影响实例上的代理发送相应命令。

  代理将运行适当的配方。例如，对于部署事件，代理将运行内置部署配方，接着运行任何自定义部署配方。
+ 将任何自定义 JSON 和部署属性与堆栈配置属性进行合并，然后在实例上安装它们。

自定义 JSON 中的属性、堆栈配置和部署属性、说明书属性以及 Ohai 属性将会合并到一个*节点对象*中，从而为配方提供属性值。涉及到堆栈配置属性时，包括任何自定义 JSON，实例实际上是无状态的。当您运行某个部署或堆栈命令时，关联的配方将使用通过该命令下载的堆栈配置属性。

**Topics**
+ [属性优先顺序](workingcookbook-attributes-precedence.md)
+ [使用自定义 JSON 覆盖属性](workingcookbook-json-override.md)
+ [使用自定义 OpsWorks Cookbook 属性覆盖堆栈属性](workingcookbook-cookbook-attributes.md)