Обнаружение файла изменяет в каталоге, синхронизировавшем с устройством хранения данных внешнего облака в Ubuntu 16.04 LTS

Я делаю программное обеспечение, которые обнаруживают, если новый файл загружается в устройство хранения данных блока Платформы Google Cloud от экземпляра виртуальной машины. Названные изображения каталога файла были смонтированы к блоку с помощью Предохранителя Облачного хранилища этой командой

gcsfuse cloud-storage-bucket ~/mystuff/images

Каждый раз, когда файл загружается в устройство хранения данных блока, файл также появится в каталоге изображений. Я использую Сторожевой пакет Python, чтобы обнаружить, если новый файл создается

# -*- 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()

Проблемой является сторожевой таймер, ничего не обнаружил, даже когда существует новый файл, созданный в каталоге изображений каждый раз, когда я загрузил что-то в устройстве хранения данных блока. Я также пытался использовать inotify, но результатом является также то же. Код работает без любой проблемы, когда я попробовал локально в платформе Windows. Я на самом деле довольно плохо знаком с Ubuntu. Кто-либо мог помочь мне решить эту проблему?

0
задан 24 August 2017 в 19:23

1 ответ

Поздний альтернативный ответ: пользователь триггер облачного хранилища Google для обнаружения изменений и запуска облачных функций, но вам нужны права на GCP (все делается на стороне GCP).

0
ответ дан 11 June 2020 в 19:32

Другие вопросы по тегам:

Похожие вопросы: