Consulta i connettori supportati per Application Integration.
Crea uno script di avvio
Questa pagina descrive come creare uno script di avvio per il servizio web e come convalidarlo.
Per assicurarti che l'avvio del servizio web non richieda un intervento manuale, devi creare uno script di avvio.Lo script di avvio esegue le seguenti attività:
- Legge i metadati della macchina virtuale (VM) e imposta la variabile di ambiente per i metadati con il prefisso
CONNECTOR_ENV
. Tutti i dati richiesti dai consumatori vengono prelevati durante la creazione della VM da Marketplace e vengono impostati come variabili di ambiente in Docker. Queste variabili di ambiente possono quindi essere lette ed elaborate di conseguenza nell'applicazione. - Avvia il container Docker contenente il servizio web con le variabili di ambiente appropriate.
Il seguente codice è un esempio di script di avvio:
#!/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
Convalida lo script di avvio
- Nell'istanza VM, aggiungi i metadati per la porta e tutti gli altri parametri necessari durante la creazione della VM.
gcloud compute instances add-metadata VM_NAME \ --zone=VM_ZONE \ --project=PROJECT_NAME \ --metadata=CONNECTOR_ENV_PORT=8081
- Modifica la VM dall'interfaccia utente e aggiungi lo script di avvio menzionato nella sezione Automazione.
Puoi anche utilizzare il seguente comando gcloud:
gcloud compute instances add-metadata VM_NAME \ --zone=VM_ZONE \ --project=PROJECT_NAME \ --metadata-from-file startup-script=gcp-start.sh
- Dopo aver aggiunto lo script di avvio, esegui SSH sulla VM ed esegui questo comando:
sudo google_metadata_script_runner startup
- Esegui questo comando per assicurarti che il container Docker sia in esecuzione sulla porta indicata.
sudo docker ps
- Esegui questo comando per arrestare e rimuovere il servizio Docker. Dopo il test, il servizio non deve essere in esecuzione sulla VM.
sudo docker rm -f connector-service
- Scopri come creare uno script di deployment della VM.