Je crée un logiciel qui détecte si un nouveau fichier est téléchargé dans le stockage de compartiment de Google Cloud Platform à partir d'une instance de machine virtuelle. Un répertoire de fichier nommé images a été monté sur le seau à l'aide Cloud Storage Fuse par cette commandeDétection des modifications de fichiers dans un répertoire synchronisé avec un stockage cloud externe dans Ubuntu 16.04 LTS
gcsfuse cloud-storage-bucket ~/mystuff/images
Chaque fois qu'un fichier est téléchargé dans le stockage du godet, le fichier apparaît également dans le répertoire des images. J'utilise package Python chien de garde pour détecter si un nouveau fichier est créé
# -*- coding: utf-8 -*-
#!/bin/bash
import time
import TextDetector
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
DIR="~/mystuff/images"
class ExampleHandler(FileSystemEventHandler):
def on_created(self, event): # when file is created
# do something, eg. call your function to process the image
print("Got event for file %s" % event.src_path)
TextDetector.detect_text(event.src_path)
observer = Observer()
event_handler = ExampleHandler() # create event handler
# set observer to use created handler in directory
observer.schedule(event_handler, path=DIR)
observer.start()
# sleep until keyboard interrupt, then stop + rejoin the observer
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Le problème est le chien de garde n'a pas détecté quoi que ce soit, même quand il y a un nouveau fichier créé dans le répertoire d'images chaque fois que je téléchargé quelque chose dans le seau espace de rangement. J'ai aussi essayé d'utiliser inotify mais le résultat est également le même. Le code s'exécute sans aucun problème lorsque j'ai essayé localement dans la plate-forme Windows. Je suis vraiment nouveau à Ubuntu. Quelqu'un pourrait-il m'aider à résoudre ce problème?
Nous vous remercions de votre suggestion. Je suis assez nouveau sur cette plate-forme donc beaucoup de fonctionnalités que je ne connais pas encore. Je vais essayer d'explorer plus d'options. –