Ошибка при загрузке файлов из бессерверной функции IBM - PullRequest
0 голосов
/ 04 октября 2019

У меня есть несколько файлов в хранилище облачных объектов IBM. Мне нужно загрузить эти файлы в локальное хранилище, используя функцию без сервера. Я попробовал это с использованием Python, но столкнулся с проблемой. И я также хотел спросить, где указать путь к папке локального хранилища.

Будет очень полезно, если какой-нибудь код будет добавлен. Спасибо.

Я пытался это сделать:

import ibm_boto3

from ibm_botocore.client import Config

import os,os.path

import pathlib

import glob


import requests


    cos = ibm_boto3.client(service_name='s3',

    ibm_api_key_id='my-api-key',

    ibm_service_instance_id='id-from-service-credential',

    config=Config(signature_version='oauth'),

    endpoint_url='https://s3.eu-gb.cloud-object-storage.appdomain.cloud')


try:

res = cos.download_file(Key='abc.txt',Bucket='cloud-college-bucket0',Filename='abc.txt')


except Exception as e:

    print(Exception, e)

else:

    print('File Downloaded')

Произошла ошибка:

"ошибка": "Файл загружен \ n/usr/local/lib/python3.7/site-packages/ibm_botocore/vendored/requests/api.py:67: DeprecationWarning: вы используете функцию post () из 'ibm_botocore.vendored.requests'. Это необщедоступный API в ibm_botocore и будет удален в будущем. Кроме того, эта версия запросов устарела. Мы рекомендуем вам установить пакет запросов, напрямую импортировать запросы и использовать вместо этого функцию запросы.post (). \ nDeprecationWarning \ nTraceback (последний вызов был последним): \ n Файл \ "/ action / 1 / src / exec __. Py \", строка 43, в \ n из main__ импортировать main как main \ nImportError: невозможно импортировать имя 'main' из'main__' (/action/1/src/main__.py)\n "}

1 Ответ

0 голосов
/ 09 октября 2019

Насколько я знаю, нет прямого способа достичь этого варианта использования. Вы можете проверить указатели ниже, чтобы исправить приведенный выше код

. При ошибке вы можете проверить список поддерживаемых пакетов с Python runtime here , прежде чем использовать их в своих действиях.

Если у вас есть пакет, которого нет в списке, вы всегда можете упаковать код Python с виртуальной средой в файлы .zip или Упаковка кода в образах Docker

Возможно, вам придется использовать S3 API для загрузки объекта

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