簡體   English   中英

從 IBM 無服務器 function 下載文件時出錯

[英]Error while downloading files from IBM serverless function

我在 IBM 雲 object 存儲桶中有一些文件。 我需要使用無服務器 function 將這些文件下載到本地存儲。 我嘗試使用 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: You are using the post() function from 'ibm_botocore. vendored.requests'。這不是 ibm_botocore 中的公共 API,將來會被刪除。另外,這個版本的 requests 已經過時了。我們建議您安裝 requests package, 'import requests',直接使用 requests .post() function 代替。\n DeprecationWarning\nTraceback(最近一次調用最后一次):\n 文件 \"/action/1/src/exec__.py\",第 43 行,\n from main__ import main as main\ nImportError: 無法從 'main__' (/action/1/src/main__.py) 導入名稱 'main'\n" }

據我所知,沒有直接的方法來實現這個用例。 您可以檢查下面的指針來修復上面的代碼

對於該錯誤,您可以在此處使用 Python 運行時檢查支持的軟件包列表,然后再在您的操作中使用它們。

If you have a package that is not in the list, you can always package Python code with a virtual environment in.zip files or Packaging code in Docker images

您可能必須使用S3 API 來下載 object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM