Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Attribute
Wichtig
Das Tool AWS OpsWorks Stacks Der Service hat am 26. Mai 2024 das Ende seiner Nutzungsdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an den AWS Support Team ein AWS Re:post oder
Rezepte und Vorlagen sind von einer ganzen Reihe von Werten, beispielsweise Konfigurationseinstellungen, abhängig. Statt diese Werte direkt in Rezepten oder Vorlagen fest zu programmieren, können Sie eine Attributdatei mit Attributen für die benötigten Werte erstellen. Diese Attribute verwenden Sie dann statt der tatsächlichen Werte in Rezepten und Vorlagen. Der Vorteil dieser Methode besteht darin, dass Sie Werte überschreiben können, ohne Änderungen am Rezeptbuch vornehmen zu müssen. Daher sollten Sie folgende Arten von Werten stets durch Attribute definieren:
-
Werte, die sich je nach Stack oder im Laufe der Zeit ändern können, z. B. Benutzernamen
Wenn Sie solche Werte fest programmieren, müssen Sie jedes Mal, wenn sich ein Wert ändert, das Rezept bzw. die Vorlage ändern. Wenn Sie diese Werte jedoch durch Attribute definieren, können Sie dieselben Rezeptbücher auf allen Stacks verwenden und müssen nur die entsprechenden Attribute überschreiben.
-
Sensible Werte wie Passwörter oder geheime Schlüssel
Wenn Sie sensible Werte in Rezeptbüchern speichern, ist die Gefahr höher, dass diese offengelegt werden. Definieren Sie stattdessen Attribute mit Platzhalterwerten und überschreiben Sie diese mit den tatsächlichen Werten. Der beste Weg, solche Attribute zu überschreiben, ist benutzerdefiniertJSON. Weitere Informationen finden Sie unter Benutzerdefiniert verwenden JSON.
Weitere Informationen zu Attributen und wie diese überschrieben werden können, finden Sie unter Überschreiben der Attribute.
Das nachfolgende Beispiel ist ein Auszug aus einer Beispielattributdatei.
... default["apache"]["listen_ports"] = [ '80','443' ] default["apache"]["contact"] = 'ops@example.com' default["apache"]["timeout"] = 120 default["apache"]["keepalive"] = 'Off' default["apache"]["keepaliverequests"] = 100 default["apache"]["keepalivetimeout"] = 3 default["apache"]["prefork"]["startservers"] = 16 default["apache"]["prefork"]["minspareservers"] = 16 default["apache"]["prefork"]["maxspareservers"] = 32 default["apache"]["prefork"]["serverlimit"] = 400 default["apache"]["prefork"]["maxclients"] = 400 default["apache"]["prefork"]["maxrequestsperchild"] = 10000 ...
AWS OpsWorks Stacks definiert Attribute mithilfe der folgenden Syntax:
node.
type
["attribute
"]["subattribute
"]["...
"]=value
Sie können Doppelpunkte (:) wie folgt verwenden:
node.
type
[:attribute
][:subattribute
][:...
]=value
Eine Attributdefinition besteht aus den folgenden Komponenten:
node.
Das Präfix node.
ist optional und wird in der Regel ausgelassen, wie in diesem Beispiel gezeigt.
type
type
Über den Typ wird festgelegt, ob das Attribut überschrieben werden kann. AWS OpsWorks Stacks-Attribute verwenden in der Regel einen der folgenden Typen:
-
default
wird am häufigsten verwendet, da Attribute dieses Typs überschrieben werden können. -
normal
definiert ein Attribut, das eines der Standardattribute überschreibt AWS OpsWorks Stapelt Attributwerte.
Anmerkung
Chef unterstützt zusätzliche Typen, die nicht erforderlich sind für AWS OpsWorks Stapelbar, könnte aber für Ihr Projekt nützlich sein. Weitere Informationen zu Attributen finden Sie unter About Attributes
attribute
name
attribute
name
Der Attributname folgt der Standard-Chef-Knotensyntax, [:
. Sie können für Attribute beliebige Namen verwenden. Allerdings werden benutzerdefinierte Rezeptbuchattribute, wie in Überschreiben der Attribute erläutert, mit dem Knotenobjekt der Instance zusammengeführt, zusammen mit den Attributen von der Stack-Konfiguration und den Bereitstellungsattributen sowie dem Ohai-Toolattribute
][:subattribute
][...]
Um Namensüberschneidungen zu vermeiden, sollten Sie qualifizierte Attributnamen mit mindestens zwei Elementen erstellen, wie in diesem Beispiel gezeigt. Das erste Element sollte eindeutig sein und bezieht sich in der Regel auf einen Produktnamen wie Apache. Ihm folgen ein oder mehrere Unterattribute, die den eigentlichen Wert festlegen, z. B. [:user]
oder [:port]
. Sie können beliebig viele Unterattribute verwenden; dies hängt auch von der Struktur Ihres Projekts ab.
value
Ein Attribut kann folgende Werttypen aufweisen:
-
Eine Zeichenfolge, z. B.
default[:apache][:keepalive] = 'Off'
-
Eine Zahl (ohne Anführungszeichen), z. B.
default[:apache][:timeout] = 120
-
Ein boolescher Wert, entweder
true
oderfalse
(ohne Anführungszeichen) -
Eine Liste mit Werten, z. B.
default[:apache][:listen_ports] = [ '80','443' ]
Die Attributdatei ist eine Ruby-Anwendung, daher können Sie auch Knotensyntax und logische Operatoren verwenden, um Werte basierend auf anderen Attributen zuzuweisen. Weitere Informationen zur Definition von Attributen finden Sie unter About Attributes