Unterstützte Connectors für Application Integration

Startskript erstellen

Auf dieser Seite wird beschrieben, wie Sie ein Startskript für den Webdienst erstellen und das Skript dann validieren.

Damit für das Starten des Webdienstes keine manuellen Eingriffe erforderlich sind, müssen Sie ein Startskript erstellen.Das Startskript führt die folgenden Aufgaben aus:

  • Liest die VM-Metadaten und legt die Umgebungsvariable für Metadaten mit dem Präfix CONNECTOR_ENV fest. Alle von Nutzern benötigten Daten werden bei der VM-Erstellung aus dem Marketplace abgerufen und als Umgebungsvariablen in Docker festgelegt. Diese Umgebungsvariablen können dann in der Anwendung gelesen und entsprechend verarbeitet werden.
  • Startet den Docker-Container mit dem Webdienst und den entsprechenden Umgebungsvariablen.

Der folgende Code ist ein Beispiel für ein Startskript:

#!/bin/bash

# 1. Fetch Metadata Keys
metadata_keys_url="http://metadata.google.internal/computeMetadata/v1/instance/attributes/"
metadata_keys=$(curl -H "Metadata-Flavor: Google" "$metadata_keys_url")

# 2. Set Environment Variables for CONNECTOR_ENV Keys (with error handling)
for key in $metadata_keys; do
  if [[ $key == CONNECTOR_ENV_* ]]; then
    metadata_value_url="http://metadata.google.internal/computeMetadata/v1/instance/attributes/$key"

    # Fetch value with error handling
    value=$(curl -H "Metadata-Flavor: Google" "$metadata_value_url" 2>/dev/null)
    if [[ -z "$value" ]]; then
      echo "Warning: No value found for key '$key'. Skipping." >&2 # Log the warning to stderr
      continue  # Skip to the next iteration
    fi
    export "$key=$value"
  fi
done

# 3. Run Docker with Environment Variables
sudo docker stop connector-service || true
sudo docker run \
  --name connector-service \
 $(env | grep CONNECTOR_ENV_ | sed 's/=/="/;s/$/"/' | sed 's/^/-e /') \
 -d -p $CONNECTOR_ENV_PORT:$CONNECTOR_ENV_PORT \
 --restart=unless-stopped \
  connector-container

Startskript validieren

  1. Fügen Sie in der VM-Instanz die Metadaten für den Port und alle anderen Parameter hinzu, die bei der VM-Erstellung erforderlich sind.
    gcloud compute instances add-metadata VM_NAME \                                                   
        --zone=VM_ZONE \
        --project=PROJECT_NAME \
        --metadata=CONNECTOR_ENV_PORT=8081
  2. Bearbeiten Sie die VM über die Benutzeroberfläche und fügen Sie das im Abschnitt „Automatisierung“ erwähnte Startskript hinzu.

    Sie können auch den folgenden gcloud-Befehl verwenden:

    gcloud compute instances add-metadata VM_NAME \                                                   
        --zone=VM_ZONE \
        --project=PROJECT_NAME \
        --metadata-from-file startup-script=gcp-start.sh
  3. Stellen Sie nach dem Hinzufügen des Startskripts eine SSH-Verbindung zur VM her und führen Sie den folgenden Befehl aus:
    sudo google_metadata_script_runner startup
  4. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Docker-Container auf dem angegebenen Port ausgeführt wird.
    sudo docker ps
  5. Führen Sie den folgenden Befehl aus, um den Docker-Dienst zu beenden und zu entfernen. Nach dem Test darf der Dienst nicht auf der VM ausgeführt werden.
    sudo docker rm -f connector-service
  6. Nächste Schritte