Schritt 12: Aktualisieren Sie das Kochbuch, um Benutzerdefiniert zu verwenden JSON - AWS OpsWorks

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.

Schritt 12: Aktualisieren Sie das Kochbuch, um Benutzerdefiniert zu verwenden JSON

Wichtig

Das Tool AWS OpsWorks Stacks Der Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer 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 AWS Support Team ein AWS Re:post oder durch AWS Premium-Support.

Aktualisieren Sie Ihr Kochbuch, indem Sie ein Rezept hinzufügen, das auf ein benutzerdefiniertes Rezept verweistJSON, das auf der Instanz gespeichert ist.

Sie können Informationen in benutzerdefiniertem JSON Format angeben, wann immer Sie einen Stack erstellen, aktualisieren oder klonen oder wenn Sie einen Deployment- oder Stack-Befehl ausführen. Dies ist hilfreich, wenn Sie beispielsweise eine kleinen, unveränderlichen Teil an Daten für Ihre Rezepte auf der Instance zur Verfügung stellen, anstatt diese Daten aus einer Datenbank abzurufen. Weitere Informationen finden Sie unter Benutzerdefiniert verwenden JSON.

In dieser exemplarischen Vorgehensweise verwenden Sie Benutzerdefiniert, JSON um einige fiktive Informationen zu einer Kundenrechnung bereitzustellen. Der Benutzerdefiniert JSON wird später in diesem Schritt beschrieben.

So aktualisieren Sie das Rezeptbuch auf der Instance und führen das neue Rezept aus:
  1. Erstellen Sie auf Ihrer lokalen Workstation im Unterverzeichnis recipes im Verzeichnis opsworks_cookbook_demo eine Datei namens custom_json.rb, die den folgenden Rezeptcode enthält:

    Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********") Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********") Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********") Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")

    Dieses Rezept zeigt Meldungen im Protokoll über Werte in der benutzerdefinierten Version anJSON.

  2. Führen Sie am Terminal oder an der Eingabeaufforderung den Befehl tar aus, um eine neue Version der Datei opsworks_cookbook_demo.tar.gz zu erstellen, die das Verzeichnis opsworks_cookbook_demo und seinen aktualisierten Inhalt enthält.

  3. Laden Sie die aktualisierte Datei opsworks_cookbook_demo.tar.gz in Ihren S3-Bucket hoch.

  4. Folgen Sie den Anweisungen in Schritt 5: Aktualisieren des Rezeptbuchs auf der Instance und Ausführen des Rezepts, um das Rezeptbuch auf der Instance zu aktualisieren und das Rezept auszuführen. Geben Sie im Schritt „Rezept ausführen” für Recipes to execute (Auszuführende Rezepte) opsworks_cookbook_demo::custom_json ein. Geben Sie für Advanced, Custom Chef JSON den folgenden benutzerdefinierten Code einJSON:

    { "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
So testen Sie das Rezept:
  1. Wählen Sie , während die Seite Running command execute_recipes (Befehl execute_recipes wird ausgeführt) noch geöffnet ist, für cookbooks-demo1 und Log die Option show (anzeigen) aus. Die Protokollseite execute_recipes wird angezeigt.

  2. Führen Sie im Protokoll einen Bildlauf nach unten durch, um die Einträge zu finden, die den folgenden ähneln:

    [2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********

    Diese Einträge zeigen Informationen aus dem benutzerdefinierten Bereich anJSON, der in das JSON Feld Advanced, Custom Chef eingegeben wurde.

Im nächsten Schritt aktualisieren Sie das Kochbuch, um Informationen aus Datenbeuteln zu erhalten. Dabei handelt es sich um Sammlungen von Stapeleinstellungen, die AWS OpsWorks Speichert Speicher auf jeder Instanz.