Как запустить сценарий bash внутри сценария python, запущенного событием завершения облачного хранилища Google? - PullRequest
0 голосов
/ 19 марта 2020

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

Вот моя функция main.py, которая подписана на событие финализации gcs

import subprocess
# [START functions_helloworld_storage_generic]                                                                                                                                                                                          
def hello_gcs_generic(data, context):
    subprocess.call("alert.sh", shell=True)
    """Background Cloud Function to be triggered by Cloud Storage.                                                                                                                                                                      
       This generic function logs relevant data when a file is changed.                                                                                                                                                                 

    Args:                                                                                                                                                                                                                               
        data (dict): The Cloud Functions event payload.                                                                                                                                                                                 
        context (google.cloud.functions.Context): Metadata of triggering event.                                                                                                                                                         
    Returns:                                                                                                                                                                                                                            
        None; the output is written to Stackdriver Logging                                                                                                                                                                              
    """
    print('Event ID: {}'.format(context.event_id))
    print('Event type: {}'.format(context.event_type))

Вот предупреждение. sh bash script

echo "FILE ADDED"

1 Ответ

0 голосов
/ 19 марта 2020

Функция Google Cloud будет запускаться при каждом добавлении нового файла в облачное хранилище. Вы не можете вызывать bash скрипты из своей облачной функции. Если вы хотите регистрировать сообщение каждый раз, когда добавляется файл или запускается функция, вы можете использовать cloud function default logging или Stackdriver Logging Client Library.

Облачные функции по умолчанию включают простую регистрацию. Журналы, записанные в stdout или stderr, будут автоматически отображаться в консоли Cloud. Для более расширенного ведения журнала используйте клиентскую библиотеку ведения журнала Stackdriver.

Примечание. Как правило, существует небольшая задержка между созданием записей журнала и отображением u

Запись , Просмотр и ответ на логи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...