华为云OBS上传下载文件对象(通过python-SDK)

news2025/1/17 3:59:41

华为云OBS上传下载文件对象

本教程使用python3.X版本
  • 华为云SDK链接地址

https://support.huaweicloud.com/sdkreference-obs/obs_02_0001.html

  • 安装环境:

使用 pip 安装(推荐)

1. 运行pip -V命令查看pip版本并确保pip已安装。
2. 运行 pip install esdk-obs-python --trusted-host pypi.org命令执行安装。

说明
● 如果您的环境尚未安装pip,请参见pip官网安装。
● 如果您使用的是Windows操作系统,当运行pip命令时提示“不是内部或外部命令”,请在 Path环境变量中增加pip的安装目录(一般为Python所在目录的Scripts文件夹)。
● 您可能需要重启电脑使环境变量生效。

创建 AK、SK

OBS:通过用户帐户中的AK和SK进行签名验证,确保通过授权的帐户才能访问指定的OBS资源。

以下是对AK和SK的解释说明:

● AK:Access Key ID,接入键标识,用户在对象存储服务系统中的接入键标识,一
个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象 存储服务系统通过接入键标识识别访问系统的用户。 ●
SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入
键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。

创建访问密钥的操作步骤如下:

  1. 登录管理控制台。
  2. 单击页面右上角的用户名,并选择“我的凭证”。
  3. 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。
  4. 在“访问密钥”页面,单击“新增访问密钥”。 说明 每个用户最多可创建两个有效的访问密钥。
    在这里插入图片描述
  5. 在弹出的“新增访问密钥”对话框中,输入描述内容(建议),单击“确定”。
    在这里插入图片描述
  6. (可选)在弹出的“身份验证”对话框中,选择合适的验证方式进行验证,单击“确定”
    在这里插入图片描述
  7. 在弹出的“创建成功”提示框中,单击“立即下载”后,密钥会直接保存到浏览器默认的下载文件夹中。
    在这里插入图片描述
  8. 打开下载下来的“credentials.csv”文件既可获取到访问密钥(AK和SK)。
    在密钥文件中,Access Key ID列对应的值即AK,Secret Access Key列对应的值即SK。
    为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。
  • 创建桶

    首先呢,我们在华为云的服务列表里的存储类里面找到对象存储服务OBS。进入之后我们点击右上角的创建桶。桶名称设置为 “tong_name”
    在这里插入图片描述
    下面是创建成功的图
    在这里插入图片描述

下面的操作是在桶名称为 tong_name 中操作上传、下载

server在桶详情中查找
在这里插入图片描述

  • 上传文件
# 引入模块
from obs import ObsClient
# 创建ObsClient实例
obsClient = ObsClient(
    access_key_id='K2AJOTf$%HretvUdfFYGB8',     # 这里替换你的
    secret_access_key='PD7R5h6LvK7OSeE976d#8532IopyARAFyJd8LnjF',  # 这里替换你的
    server='obs.cn-no3rh32-334.myloud.com'   # 这里替换你的
)


# 使用访问OBS

try:
    from obs import PutObjectHeader

    headers = PutObjectHeader()
    headers.contentType = 'text/plain'

    resp = obsClient.putFile(
        'tong_name',
        'file_name.xlsx',    # 这里是上传后的文件名
        '/xxx/xxx/upload_file.xlsx',     # 这里替换为你本地文件的路径
        metadata={'meta1': 'value1', 'meta2': 'value2'},
        headers=headers,
        progressCallback=callback

    )
    if resp.status < 300:
        print(resp)
        print('objectUrl:',resp.body.objectUrl)
        print('requestId:', resp.requestId)
        print('etag:', resp.body.etag)
        print('versionId:', resp.body.versionId)
        print('storageClass:', resp.body.storageClass)
    else:
        print(resp)
        print('errorCode:', resp.errorCode)
        print('errorMessage:', resp.errorMessage)
except:
    import traceback

    print(traceback.format_exc())

# 关闭obsClient
obsClient.close()

  • 下载文件
# 引入模块
from obs import ObsClient
# 创建ObsClient实例
obsClient = ObsClient(
    access_key_id='K2AJOTf$%HretvUdfFYGB8',     # 这里替换你的
    secret_access_key='PD7R5h6LvK7OSeE976d#8532IopyARAFyJd8LnjF',  # 这里替换你的
    server='obs.cn-no3rh32-334.myloud.com'   # 这里替换你的
)


# 使用访问OBS

try:
    resp = obsClient.getObject(
	    	'tong_name',       # 桶名称
	    	'file_name.xlsx',  # 这里为你要下载的文件名称
	    	downloadPath='./localfile.xlsx'   # ./表示下载到当前文件所在目录
    	)

    if resp.status < 300:
        print('requestId:', resp.requestId)
        print('url:', resp.body.url)
    else:
        print('errorCode:', resp.errorCode)
        print('errorMessage:', resp.errorMessage)
except:
    import traceback

    print(traceback.format_exc())

# 关闭obsClient
obsClient.close()

感谢观看,希望对读者有所帮助,有疑问可以评论,不定时回复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1154247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

M3重磅来袭 苹果多款新品上架

10月31日早上8点&#xff0c;苹果举行了新品发布会&#xff0c;正式发布了M3、M3 Pro、 M3 Max芯片&#xff0c;以及基于新款芯片打造的14英寸和16英寸MacBook Pro、新款iMac。 我们现在花一分钟&#xff0c;简单了解一下这次的新品。 M3、M3 Pro、M3 Max M3系列芯片就是M2系…

Spring 中事务的传播行为有哪些?

事务传播行为来说&#xff0c;它解决的核心问题是&#xff0c;多个声明了事务的方法相互调用的时候存在事务嵌套问题&#xff0c;那么这个事务的行为应该如何进行传递&#xff1f; 事务传播 比如说&#xff0c;methodA()调用 methodB()&#xff0c;两个方法都显示的开启了事务。…

《C和指针》(7)函数

问题 具有空函数体的函数可以作为存根使用。你如何对这类函数进行修改&#xff0c;使其更加有用&#xff1f; 答&#xff1a;当存根函数被调用时&#xff0c;打印一条消息&#xff0c;显示它已被调用&#xff0c;或者也可以打印作为参数传递给它的值。 .如果在一个函数的声明中…

【广州华锐互动】VR特警作战模拟演练系统

在科技发展的驱动下&#xff0c;各行各业都在寻找新的方式来提升效率和培训质量。其中&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在各个领域都有广泛的应用&#xff0c;包括警察培训。VR特警作战模拟演练系统由VR公司广州华锐互动开发&#xff0c;它使用虚拟现实环境…

GB/T28181实时视频传输模式介绍

GB/T28181实时视频传输模式介绍 文章目录 GB/T28181实时视频传输模式介绍1. 概述2. 28181视频传输模式2.1 UDP被动模式2.2 TCP被动模式2.3 TCP主动模式 1. 概述 在GB/T28181-2022版本中增加了基于TCP的视频传输的两种模式&#xff1a;主动模式和被动模式&#xff0c;UDP是面向…

Django实战项目-学习任务系统-兑换物品管理

接着上期代码框架&#xff0c;开发第5个功能&#xff0c;兑换物品管理&#xff0c;再增加一个学习兑换物品表&#xff0c;主要用来维护兑换物品&#xff0c;所需积分&#xff0c;物品状态等信息&#xff0c;还有一个积分流水表&#xff0c;完成任务奖励积分&#xff0c;兑换物品…

通用开源自动化测试框架 - Robot Framework

一、什么是 Robot Framework&#xff1f; 1. Robot Framework 的历史由来 Robot Framework是一种通用的自动化测试框架&#xff0c;最早由Pekka Klrck在2005年开发&#xff0c;并由Nokia Networks作为内部工具使用。后来&#xff0c;该项目以开源形式发布&#xff0c;并得到了…

SPSS平均值检验

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

ChatGPT文章创作指令Prompt提示词模板

目录 用途&注意说明提示模板中文版英文版 指令说明提示示例输出结果示例 用途&注意说明 用途&#xff1a;根据命题写作&#xff0c;可以用来起草文章&#xff0c;写英语范文适合。 注意点&#xff1a;如果不给范文示例&#xff0c;会写成英文小作文的翻译版。 提示模…

基于Selenium+Python的web自动化测试框架详解

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE&#xff1a;Firefo…

HZGO-A-031/315、KZGO-A-031/50比例减压阀放大器

RZGO-A-010/210、RZGO-A-010/32、RZGO-A-010/100、RZGE-A-010/210、RZGE-A-010/32、RZGE-A-010/100、CART RZGE-A-010/210、CART RZGE-A-010/32、CART RZGE-A-010/100、RZGO-A-031/210、RZGO-A-033/100、HZGO-A-033/350、HZGO-A-031/315、KZGO-A-031/50、KZGO-A-033/210滑阀型、…

对音频文件的处理:音频信息,读取内容,获取时长,切割音频,pcm与wav互转

音频处理发现的比较简单的代码&#xff0c;原作者代码在github&#xff1a;GitHub - silencesmile/python_wav: 对音频文件的处理&#xff1a;音频信息&#xff0c;读取内容&#xff0c;获取时长&#xff0c;切割音频&#xff0c;pcm与wav互转 可以按给定的开始和结束时间调用代…

Spring Boot Web MVC

文章目录 一、Spring Boot Web MVC 概念二、状态码三、其他注解四、响应操作 一、Spring Boot Web MVC 概念 Spring Web MVC 是⼀个 Web 框架&#xff0c;一开始就包含在Spring 框架里。 1. MVC 定义 软件⼯程中的⼀种软件架构设计模式&#xff0c;它把软件系统分为模型、视…

最新版本idea2023.2新特性,最后一点你肯定想不到哈哈

idea2023.2版本正式发布&#xff0c;最新的idea2023.2包含以下新特性&#xff1a; AI Assistant 当前具备一组由 AI 提供支持的初始功能&#xff0c;提供集成式 AI 聊天&#xff0c;可以完成一些任务&#xff0c;例如自动编写文档注释、建议名称、生成提交消息等。编辑器内性能…

【23真题】对不起,由于我的择校分析,这所可能会炸!

哈喽大家好&#xff0c;现在这个时间节点&#xff0c;有很多同学开始刷真题了&#xff01;所以23真题系列正式启动&#xff01;小马哥将全面发布23真题及详细解析&#xff01; 注意太原科技大学&#xff0c;自我发了择校分析以后&#xff08;苍天为证&#xff0c;我真的没有任…

水果FL Studio21.2体验版下载安装教程(增加云服务功能)

FL Cloud 音效库包含开放版权的Loop和采样&#xff0c;以及来自 FL Studio 著名用户的艺术家独家内容。更新后&#xff0c;现在还可以使用人工智能辅助母带处理和数字发行功能来制作音轨。FL Studio 由最初的 "Fruity Loops" DAW 发展而来&#xff0c;25 年来&#x…

RISC-V IDE MRS无感远程协助模块详解

RISC-V IDE MRS无感远程协助模块详解 一、说明 1.1 概述 针对RISC-V/ARM等内核MCU的嵌入式集成开发环境MRS(MounRiver Studio)从V1.90版本开始内置无感远程协助模块&#xff08;Sensorless Remote Assistant Module&#xff0c;以下简称SRA模块&#xff09;。SRA模块是一款支…

PowerCLI vCenter批量更改esxi主机root密码

前提条件 安装 powercli开启wmi,配置网卡,参考 PowerCLi 批量添加所有esxi到vCenter 编写通过vCenter批量更改所有esxi主机root密码自动化脚本 最终实现批量重置所有esxi 密码,无需干预。$vCenterServer = "192.168.19.254" #你的vCenter 管理中心地址更改$User= …

国外调查问卷真的能做吗?

大家好&#xff0c;我是橙河网络&#xff0c;今天聊一聊国外调查问卷真的能做吗&#xff1f; 国外问卷调查这个项目已经存在多年&#xff0c;其赚钱逻辑非常简单&#xff0c;即通过填写国外公司发放的商业调查问卷来获取报酬&#xff0c;一般都是以美元的方式结算。这些问卷可…

性能优化之AA反走样优化

反走样主要是解决采样不足导致的。一般方案选择需要兼顾画面质量与渲染效率权衡的前提下&#xff0c;对图像进行增强。反走样经过了第一代超级采样抗锯齿SSAA&#xff0c;到第二代的多重采样抗锯齿MSAA&#xff0c;快速近似采样FXAA&#xff0c;增强子像素变形抗锯齿SMAA&#…