Ich habe ein Python-Skript, das liest die CSV-Datei, erstellen Tabelle in BigQuery basierend auf Daten in CSV und lädt die Daten in der Tabelle zur Laufzeit. Ich möchte dieses Skript immer dann auslösen, wenn ein Ereignis eintritt, z. B. wenn eine Datei in einem bestimmten Bucket eintrifft. Mein Python-Skript ist auf der VM-Instanz vorhanden (bis jetzt, um das Skript von der VM-Instanz auszuführen). Gibt es eine Möglichkeit, dieses Skript basierend auf einem Ereignisauslöser auszuführen?Event-Trigger zum Ausführen von Python-Skript von Google Cloud
0
A
Antwort
1
Eine Funktion von Google Cloud Storage namens 'Object Change Notifications' könnte hier nützlich sein. Dadurch wird eine Benachrichtigung an einen Web-Hook gesendet, wo Sie Ihren Verarbeitungscode zur Verarbeitung des Ereignisses verwenden können (ein Beispiel für die Ausführung auf AppEngine wird here angegeben, Sie können dies jedoch auch als einen Flask-Endpunkt implementieren).
Eine weitere Option ist die Verwendung von Pub/Sub Notifications in Kombination mit Cloud Storage, falls Sie damit besser zurechtkommen. Sie können dann die Pub/Sub Python SDK verwenden, um ein bestimmtes Thema zu hören, in dem Ihre Ereignisse ankommen, und den Code verwenden, den Sie bereits geschrieben haben, um diese Ereignisse zu verarbeiten.
Verwandte Themen
- 1. Ausführen von IPyWidgets in Google Cloud Datalab
- 2. Sperren von Entitäten zum Ausführen von get-update-set-Vorgängen im Google Cloud-Datenspeicher
- 3. Fehler beim Ausführen von Google Cloud Speech API
- 4. Ausführen von Google Cloud SQL Proxy im Hintergrund für Python
- 5. Schwachstellenüberprüfung von Google cloud
- 6. Kontinuierliche Eingabe von eventTrigger OnPointerDown
- 7. Ausführen von Node.js in Google Cloud Shell - Ist es kostenlos?
- 8. Ausführen von Google Cloud SQL Proxy auf Raspberry
- 9. Ausführen von verteilten Tensorflow auf Google Cloud ML-Engine ClusterSpec
- 10. Ausführen von Shell-Skript mit Google Cloud-Datenfluss-Job
- 11. Leistung von Google-Cloud-Messaging
- 12. Installieren von google-cloud-vision
- 13. Streaming-Videos von Google Cloud
- 14. Google Cloud IAM Rolle nur zum Starten/Stoppen von Instanzen?
- 15. Verwenden der Google Cloud-Plattform zum Analysieren von Protokollen
- 16. Beste Methode zum Einfügen von CSV in Google Cloud SQL?
- 17. Wie profitiert Google von Google Cloud Messaging?
- 18. Google Cloud Dataproc von Google Datalab
- 19. Google Cloud Sdk von DataProc Cluster
- 20. Google Cloud Endpoints mit Google Cloud-Funktionen
- 21. Verwenden der Spring Cloud-Aufgabe zum Ausführen von Aufgaben in einer Task-fähigen Cloud Foundry
- 22. Zurücksetzen von pg_stat_statements mit Google Cloud SQL
- 23. Google Cloud Ausführung von Programm vm instance
- 24. Ausführen von ASP.NET 5 in Cloud 9
- 25. Ausführen von Azure Cloud KUDU mit Administratorrechten
- 26. Verwendung von Google Cloud Platform mit Multizone
- 27. Vergleichen von Blobstore und Google Cloud Storage
- 28. Google Cloud Storage Usage Pricing von byte_hours
- 29. Daten von Google Cloud-SQL in Cloud Datastore verschieben
- 30. Verwenden von Google BigQuery zum Ausführen mehrerer Abfragen nacheinander
Vielen Dank für Dokumente Link bereitstellt. Durchgehen und hoffentlich wird es hilfreich sein. – Shikha
Hallo .. Gibt es eine Möglichkeit, Python-Skript innerhalb eines Ereignisauslösers direkt aufzurufen? Mein index.js hat folgenden Code in Ereignisauslöser: exports.helloGCS = function (event, Rückruf) { const file = event.data; if (file.resourceState === 'not_exists') { console.log ('Datei $ {datei.name} gelöscht.'); } sonst if (file.metageneration === '1') { console.log ('Datei $ {file.name} hochgeladen.'); } else { console.log ('Datei $ {file.name} Metadaten aktualisiert.'); } Rückruf(); }; Kann ich aus dieser Datei heraus nur Python-Skripte aufrufen, die auf der VM-Instanz gespeichert sind? – Shikha
Können Sie weitere Details zu dem, was Sie implementieren möchten, angeben? Liegt der Code über einer Google Cloud-Funktion, die Sie bereitstellen, um die Ereignisse zu verarbeiten? Verwenden Sie Object Change Notifications oder Pub/Sub? –