选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

属性优先顺序

聚焦模式
属性优先顺序 - AWS OpsWorks

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

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

重要

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

如果一个属性是唯一定义的,Chef 则会简单地将它并入到节点对象中。但是,任何属性源可定义任何属性,因此有可能同一个属性会具有多个使用不同的值的定义。例如,内置 apache2 说明书定义 node[:apache][:keepalive],但是您也可在自定义 JSON 或自定义说明书中定义该属性。如果一个属性具有多个定义,则将按下文中描述的顺序对这些定义进行评估,节点对象将接收具有最高最先顺序的定义。

属性的定义如下所示:

node.type[:attribute][:sub_attribute][:...]=value

如果一个属性有多个定义,则该类型决定哪个定义具有优先级,并将该定义合并到节点对象中。 AWS OpsWorks 堆栈使用以下属性类型:

  • default-这是最常见的类型,并且它实际上意味着“如果属性尚未定义,请使用此值。” 如果属性的所有定义都是 default 类型,则评估顺序中的第一个定义具有优先顺序并且后续值将被忽略。请注意, AWS OpsWorks Stacks 将所有堆栈配置和部署属性定义设置为default类型。

  • normal-此类型的属性将覆盖评估顺序中之前定义的任何 defaultnormal 属性。例如,如果第一个属性来自内置说明书并且具有 default 类型,第二个是具有 normal 类型的用户定义属性,则第二个定义具有优先顺序。

  • set -这是您可能会在早期说明书中看到的已弃用类型。它已由具有相同的优先顺序的 normal 取代。

Chef 支持多种其他属性类型,包括优先于所有其他属性定义的 automatic 类型。Chef 的 Ohai 工具生成的属性定义均为 automatic 类型,因此它们实际上是只读的。这通常不是问题,因为没有理由重写它们,而且它们与 AWS OpsWorks Stacks 的属性不同。但是,您应谨慎为您的自定义说明书属性命名,以便将它们与 Ohai 属性区分开。有关更多信息,请参阅关于属性

注意

Ohai 工具是您可通过命令行运行的可执行文件。要列出某个实例的 Ohai 属性,请登录该实例并在终端窗口中运行 ohai。请注意,此操作将生成一个非常长的输出。

下面是将各种属性定义并入到节点对象中的步骤:

  1. 将任何自定义堆栈配置属性合并到堆栈配置和部署属性中。

    可为堆栈或某个特殊部署设置自定义 JSON 属性。它们在评估顺序中优先并且实际上为 normal 类型。如果一个或多个堆栈配置属性也是在自定义 JSON 中定义的,则自定义 JSON 值将优先。否则, AWS OpsWorks Stacks 只是将自定义 JSON 属性并入到堆栈配置中。

  2. 将任何部署自定义 JSON 属性合并到堆栈配置和部署属性中。

    部署自定义 JSON 属性实际上也是 normal 类型,因此它们优先于内置和自定义堆栈配置 JSON 以及内置部署 JSON。

  3. 将堆栈配置和部署属性合并到实例的节点对象中。

  4. 将实例的内置说明书属性合并到节点对象中。

    内置说明书属性均为 default 类型。如果一个或多个内置说明书属性也是在堆栈配置和部署属性中定义的(通常因为您使用自定义 JSON 定义它们),堆栈配置定义将优先于内置说明书定义。所有其他内置说明书属性将简单地合并到节点对象中。

  5. 将实例的自定义说明书属性合并到节点对象中。

    自定义说明书属性通常是 normaldefault 类型。唯一属性将合并到节点对象中。如果步骤 1 至步骤 3 中还定义了任何自定义说明书属性 (通常是因为您使用自定义 JSON 定义了它们),则优先顺序取决于自定义说明书属性的类型:

    • 步骤 1-步骤 3 中定义的属性优先于自定义说明书 default 属性。

    • 自定义说明书 normal 属性优先于步骤 1 - 步骤 3 中的定义。

重要

请勿使用自定义说明书 default 属性覆盖堆栈配置或内置说明书属性。由于自定义说明书属性将最后进行评估,因此 default 属性具有最低的优先顺序,并且无法覆盖任何属性。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。