JSON-Konfigurationsdateien für Ihre Bereitstellungen erstellen

Wenn Sie eine Version Ihrer Anwendung mit der Admin API bereitstellen möchten, definieren Sie die Konfigurationsdetails der Version in einer JSON-Datei. Sie können die Konfigurationsdatei manuell erstellen oder eine vorhandene app.yaml-Datei konvertieren.

Führen Sie zum Erstellen einer JSON-Konfigurationsdatei die folgenden beiden Schritte aus:

  1. Definieren Sie die Konfigurationsdaten für die Version, die Sie bereitstellen möchten.
  2. Definieren Sie einen deployment-Abschnitt, um alle Dateien und Ressourcen der Anwendung anzugeben, die Sie bereitstellen möchten.

Vorbereitung

Sie müssen alle Dateien und Ressourcen Ihrer Anwendung in einen Cloud Storage-Bucket hochladen, damit Sie die Konfigurationsdatei app.json erstellen können.

JSON-Konfigurationsdatei manuell erstellen

Führen Sie die folgenden Schritte aus, wenn Sie die Konfigurationsdatei manuell erstellen müssen, wenn Ihre Anwendung beispielsweise eine app.yaml-Datei ausschließt oder Ihre vorhandene Java-Anwendung eine appengine-web.xml-Datei verwendet.

So erstellen Sie manuell die Konfigurationsdatei app.json für die Bereitstellung der Anwendung mit der Admin API:

  1. Erstellen Sie eine Datei mit dem Namen app.json.
  2. Definieren und konfigurieren Sie die bereitzustellende Version anhand der Konfigurationsdaten der Sammlung apps.services.versions.
  3. Verwenden Sie die Vorlage im Abschnitt deployment definieren, um alle Dateien und Ressourcen anzugeben, die Sie aus dem Cloud Storage-Bucket bereitstellen möchten.

Im Abschnitt Beispiel weiter unten erfahren Sie, wie Sie Ihre app.json-Konfigurationsdatei erstellen.

app.yaml-Datei in das JSON-Format konvertieren

Mit dem convert_yaml.py-Tool können Sie eine app.json-Version aus einer vorhandenen app.yaml-Datei konvertieren und erzeugen.

Wenn die Datei app.yaml vorhanden ist, die Sie normalerweise für die manuelle Bereitstellung von Versionen Ihrer Anwendung verwenden, können Sie diese Informationen beibehalten, indem Sie die Konfigurationseinstellungen ins JSON-Format konvertieren.

Voraussetzung

Laden Sie das convert_yaml.py-Tool herunter und installieren Sie es. Achten Sie dabei auf die angegebenen Anforderungen.

YAML-Dateien mit dem convert_yaml.py-Tool konvertieren

So konvertieren Sie Ihre Datei app.yaml mit dem convert_yaml.py-Tool:

  1. Suchen Sie den Verzeichnispfad zu Ihrer app.yaml und notieren Sie ihn.

    Beispiel:

    cd root/apps-container/my-application/
    

    Die app.yaml der Anwendung example-python-app.py könnte so aussehen:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Rufen Sie das lokale Verzeichnis auf, in das Sie das convert_yaml.py-Tool heruntergeladen haben. Beispiel:

    cd root/tools/appengine-config-transformer
    
  3. Erstellen Sie mit dem convert_yaml.py-Tool die Datei app.json aus der Datei app.yaml:

    python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
    

    Dabei ist [DIRECTORY_PATH] der Pfad zu Ihrer app.yaml-Datei.

    Im Verzeichnis [DIRECTORY_PATH] wird eine JSON-Version (app.json) Ihrer Datei app.yaml erstellt.

  4. Die ID Ihrer Version muss in der Konfigurationsdatei app.json definiert sein.

    Wenn die Datei app.yaml das Element version: [VERSION_NAME] ausschließt, ist das Element "id": [VERSION_NAME] nach der Konvertierung nicht in der Datei app.json enthalten. Wenn Sie beispielsweise als Versions-ID v1 festlegen möchten, müssen Sie der Datei app.json die folgende Zeile manuell hinzufügen:

    "id": "v1",
    
  5. Geben Sie mithilfe der Vorlage unter deployment-Abschnitt definieren alle Dateien und Ressourcen der Anwendung an, die Sie bereitstellen möchten.

Im Abschnitt Beispiel weiter unten erfahren Sie, wie Sie Ihre app.json-Konfigurationsdatei erstellen.

deployment-Abschnitt definieren

So erstellen Sie einen deployment-Abschnitt in der app.json-Konfigurationsdatei verwenden und manuell alle Ressourcen in Ihrem Cloud Storage-Bucket definieren, verwenden Sie die Referenzinformationen im deployment-Abschnitt der apps.services.versions-Sammlung. Mit der folgenden Vorlage können Sie einzelne Dateien definieren:

"deployment": {
  "files": {
    "my-resource-file1": {
      "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
    },
  }
},

Dabei ist my-resource-file1 der Dateiname und der relative Verzeichnispfad, in dem Sie die Datei in App Engine bereitstellen möchten.

app.json-Beispieldatei

Verwenden Sie zum Erstellen der Konfigurationsdatei die folgende app.json-Beispieldatei.

Im folgenden app.json-Beispiel wird die v1-Versions-ID zusammen mit einem deployment-Abschnitt definiert, der zwei Beispielquelldateien aus dem [MY_BUCKET_ID]-Cloud Storage-Bucket enthält.

{
  "deployment": {
    "files": {
      "example-resource-file1": {
        "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/example-resource-file1"
      },
      "images/example-resource-file2": {
        "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/images/example-resource-file2"
      },
    }
  },
  "id": "v1",
  "handlers": [
    {
      "urlRegex": "/.*",
      "script": {
        "scriptPath": "example-python-app.py"
      }
    },
  ],
  "runtime": "python27",
  "threadsafe": true,
}

Nächste Schritte