Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Attributes
Importante
Il AWS OpsWorks Stacks il servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Squadra su AWS Re:post o tramite
Ricette e modelli dipendono da vari valori, come per esempio le impostazioni di configurazione. Anziché impostare come hardcoded tali valori direttamente nelle ricette o nei modelli, è possibile creare un file di attributo con un attributo che rappresenta ogni valore. È quindi possibile utilizzare gli attributi nelle proprie ricette o nei propri modelli anziché valori espliciti. Il vantaggio di utilizzare gli attributi è che è possibile sostituire i relativi valori senza toccare il libro di ricette. Per questo motivo, bisogna sempre utilizzare gli attributi per definire i seguenti tipi di valori:
-
I valori che potrebbero variare da stack a stack o con il tempo, come per esempio i nomi utente.
Se si impostano come hardcoded tali valori, si deve modificare la ricetta o il modello ogni volta che bisogna modificare un valore. Utilizzando gli attributi per definire questi valori, è possibile utilizzare gli stessi libri di ricette per ogni stack e sostituire semplicemente gli attributi appropriati.
-
I valori sensibili, come per esempio le password o le chiavi segrete.
Inserire espliciti valori sensibili nel proprio libro di ricette può aumentare il rischio di esposizione. Al contrario, definire gli attributi con valori fittizi e sostituirli per impostare i valori effettivi. Il modo migliore per sovrascrivere tali attributi è quello personalizzatoJSON. Per ulteriori informazioni, consulta Utilizzo di Custom JSON.
Per ulteriori informazioni sugli attributi e su come sostituirli, consulta Sostituzione degli attributi.
L'esempio seguente è una parte di un file di attributo di esempio.
... 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 definisce gli attributi utilizzando la seguente sintassi:
node.
type
["attribute
"]["subattribute
"]["...
"]=value
È possibile anche utilizzare i due punti (:) come segue:
node.
type
[:attribute
][:subattribute
][:...
]=value
Una definizione di attributo presenta i seguenti componenti:
node.
Il prefisso node.
è opzionale e in genere omesso, come indicato nell'esempio.
type
type
La tipologia governa se l'attributo può essere sostituito. AWS OpsWorks Gli attributi Stacks utilizzano in genere uno dei seguenti tipi:
-
default
è la tipologia più comunemente utilizzata, in quanto consente all'attributo di essere sostituito. -
normal
definisce un attributo che sostituisce uno degli standard AWS OpsWorks Impila i valori degli attributi.
Nota
Chef supporta tipi aggiuntivi, che non sono necessari per AWS OpsWorks È cumulabile ma potrebbe essere utile per il tuo progetto. Per ulteriori informazioni, consulta la sezione relativa alle informazioni sugli attributi
attribute
name
attribute
name
Il nome attributo utilizza la sintassi standard di nodo Chef, [:
. È possibile utilizzare qualsiasi nome per gli attributi. Tuttavia, come illustrato in Sostituzione degli attributi, gli attributi personalizzati del libro di ricette vengono uniti nell'oggetto del nodo dell'istanza, assieme agli attributi dalla configurazione dello stack e agli attributi di distribuzione e lo strumento Ohaiattribute
][:subattribute
][...]
Per evitare conflitti di nome, la convenzione è di creare nomi di attributo qualificati con almeno due elementi, come indicato nell'esempio. Il primo elemento deve essere unico e in genere è basato su un nome di prodotto, come Apache. È seguito da uno o più sottoattributi che identificano il valore specifico, come per esempio [:user]
o [:port]
. È possibile utilizzare tutti i sottoattributi appropriati per il progetto.
value
Un attributo può essere impostato per i seguenti tipi di valori:
-
Una stringa, come per esempio
default[:apache][:keepalive] = 'Off'
. -
Un numero (senza virgolette), come per esempio
default[:apache][:timeout] = 120
. -
Il valore booleano, che può essere
true
ofalse
(senza virgolette). -
Un elenco di valori, come per esempio
default[:apache][:listen_ports] = [ '80','443' ]
.
Il file di attributo è un'applicazione Ruby, quindi è possibile anche utilizzare la sintassi del nodo e gli operatori logici per assegnare valori basati su altri attributi. Per ulteriori informazioni su come definire gli attributi, consulta la sezione relativa alle Informazioni sugli attributi