Какой тип API или ссылок / команд мне нужен при загрузке файла, а также для подключения к MongoDB из функции Google?

#python #mongodb #google-cloud-functions #google-cloud-storage #google-api-python-client

# #python #mongodb #google-cloud-функции #google-облачное хранилище #google-api-python-client

Вопрос:

Сейчас я пытаюсь создать этот простой скрипт на Python, который будет запускаться при вызове через вызов API или через функцию Google. Я очень, очень новичок в GCP и Python, поскольку я больше знаком с Azure и PowerShell, но мне нужно знать, что мне нужно использовать / вызывать, чтобы загрузить файл в корзину, а также прочитать информацию о файле, а затем подключиться к базе данных MongoDB.

Вот схема того, что мне нужно сделать:

  1. API / функция будет вызываться с его URL-адресом, и к нему будет прикреплен фактический файл, например, файл сейсмического типа.
  2. При вызове API / функции запускается скрипт Python, который захватывает этот файл и загружает его в корзину.
  3. Затем мне нужно выполнить команды для загруженного файла, чтобы получить такие элементы, как «версия», «компания», «wellname» и т.д.
  4. Затем я хочу загрузить документ со всеми этими значениями в базу данных MongoDB.

По сути, мы пытаемся воспроизвести то, что мы сделали в Azure, с помощью функций и экземпляра CosmosDB. Там мы создали функцию, которая будет загружать файл в хранилище Azure, а затем извлекать значения из файла, которые, как я полагаю, являются его метаданными. После этого мы загрузили бы документ в CosmosDB с этими значениями. Это способ записи значений, полученных из самого файла. Буду признателен за любую помощь, поскольку это часть POC, которую я пытаюсь представить!! Пожалуйста, задавайте любые вопросы!

Ответ №1:

Чтобы ответить на ваши вопросы:

Вот код о том, как загрузить файл в облачное хранилище с помощью Python:

 from google.cloud import storage


def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    # bucket_name = "your-bucket-name"
    # source_file_name = "local/path/to/file"
    # destination_blob_name = "storage-object-name"

    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_filename(source_file_name)

    print(
        "File {} uploaded to {}.".format(
            source_file_name, destination_blob_name
        )
    )
 

Убедитесь, что на вашем компьютере установлена клиентская библиотека облачного хранилища. requirements.txt . Пример:
google-cloud-storage> = 1.33.0

Чтобы получить и просмотреть метаданные объекта, вот код и ссылка в качестве ссылки:

 from google.cloud import storage


def blob_metadata(bucket_name, blob_name):
    """Prints out a blob's metadata."""
    # bucket_name = 'your-bucket-name'
    # blob_name = 'your-object-name'

    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)
    blob = bucket.get_blob(blob_name)

    print("Blob: {}".format(blob.name))
    print("Bucket: {}".format(blob.bucket.name))
    print("Storage class: {}".format(blob.storage_class))
    print("ID: {}".format(blob.id))
    print("Size: {} bytes".format(blob.size))
    ...

 

Наконец,

Чтобы подключиться к MongoDB с помощью Python, вот пример проекта, который может помочь вам понять, как это работает.