Ottenimento dei valori degli attributi con la ricerca di Chef - AWS OpsWorks

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à.

Ottenimento dei valori degli attributi con la ricerca di Chef

Importante

Il AWS OpsWorks Stacks 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 Team su AWS re:post o tramite Premium AWS Support.

Nota

Questo approccio è disponibile per gli stack Windows e gli stack Linux Chef 11.10.

Ottenere i valori degli attributi di configurazione e distribuzione dello stack direttamente dall'oggetto nodo può essere complicato e non è una procedura utilizzabile con gli stack Windows. Un approccio alternativo consiste nell'utilizzare la ricerca di Chef per eseguire query per gli attributi di interesse. Se hai familiarità con Chef server, scoprirai che Chef search funziona in modo leggermente diverso con AWS OpsWorks Stacks. Poiché AWS OpsWorks Stacks utilizza chef-client in modalità locale, Chef search dipende da una versione locale del server Chef chiamata chef-zero, in modo che la ricerca operi sui dati archiviati localmente nell'oggetto nodo dell'istanza anziché su un server remoto.

In pratica, limitare la ricerca ai dati archiviati localmente di solito non ha importanza perché l'oggetto node su un' AWS OpsWorks istanza Stacks include gli attributi di configurazione e distribuzione dello stack. Contengono la maggior parte se non tutti i dati che le ricette ottengono in genere dal server Chef e utilizzano gli stessi nomi, quindi di solito è possibile utilizzare il codice di ricerca scritto per il server Chef su AWS OpsWorks istanze Stacks senza modifiche. Per ulteriori informazioni, consulta Utilizzo della ricerca di Chef.

Di seguito viene mostrata la struttura di base di una query di ricerca:

result = search(:search_index, "key:pattern")
  • L'indice di ricerca specifica gli attributi a cui si applica la query e determina il tipo di oggetto restituito.

  • La chiave specifica il nome dell'attributo.

  • Il modello specifica i valori dell'attributo che intendi recuperare.

    Puoi eseguire query per valori di attributi specifici oppure utilizzare i caratteri jolly per eseguire query per un'ampia gamma di valori.

  • Il risultato è un elenco di oggetti che soddisfano la query. Ciascuno di questi è una tabella hash contenente più attributi correlati.

    Ad esempio, se utilizzi l'indice di ricerca node, la query restituisce un elenco di oggetti istanza, uno per ogni istanza che soddisfa la query. Ogni oggetto è una tabella hash che contiene un set di attributi che definiscono la configurazione dell'istanza, ad esempio il nome host e l'indirizzo IP.

Ad esempio, la query seguente utilizza l'indice di ricerca node, ovvero un indice Chef standard che si applica alle istanze dello stack (o nodi, nella terminologia Chef). Questo consente di cercare le istanze con nome host myhost.

result = search(:node, "hostname:myhost")

La ricerca restituisce un elenco di oggetti istanza il cui nome host è myhost. Il sistema operativo della prima istanza, ad esempio, sarà rappresentato da result[0][:os]. Se la query restituisce più oggetti, puoi enumerarli per recuperare le informazioni richieste.

I dettagli relativi a come utilizzare la ricerca in una ricetta variano a seconda che tu stia utilizzando uno stack Linux o Windows. I seguenti argomenti forniscono esempi in merito a entrambi i tipi di stack.