文件未使用python上传到IBM云对象存储中

问题描述 投票:0回答:1

在IDLE中运行代码时,它什么也不显示。

从ibm_botocore.client导入配置

导入ibm_boto3

def upload_file(凭证,本地文件名,密钥):

cos = ibm_boto3.client(service_name ='s3',ibm_api_key_id =凭证['从服务凭证中获取'],

ibm_service_instance_id =凭据['从服务凭据描述中获取'],

ibm_auth_endpoint = credentials ['s3.eu-gb.cloud-object-storage.appdomain.cloud'],//因为我所在的地区是伦敦

配置=配置(signature_version = '的OAuth'),

endpoint_url =凭证[ 'https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints'])

尝试:

res=cos.upload_file(Filename='D:\ibm-cloud\get-started-python\abc.txt', 

Bucket=credentials['cloud-college-bucket0'],Key=key)

例外,如e:

print(Exception, e)

否则:

print('File Uploaded')
ibm-cloud ibm-cloud-storage
1个回答
0
投票

您未提供有效的endpoint_url。您从凭证中提取的值将提供有效端点的列表,但本身无效。在docs中了解更多信息。

编辑:嗯,我明白了。您已将正确的端点放在错误的位置。只需将ibm_auth_endpoint中的内容用作endpoint_url。实际上,您可以完全省略授权端点行(SDK将默认设置为正确的值),也可以使用https://iam.cloud.ibm.com/identity/token

© www.soinside.com 2019 - 2024. All rights reserved.