直接使用
请打开阿里云OSS使用指南,并点击右上角 “ 在DSW中打开” 。
阿里云OSS
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。
前提条件
- 阿里云账号
- 开通OSS
- OSS管理控制台
- 开通PAI
- 获取AccessKey
- 至少有一个运行中的DSW实例
快速使用
创建bucket
在OSS管理控制台创建bucket
在上传文件(Object)到OSS之前,您需要创建一个用于存储文件的存储空间(Bucket)。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。您可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
注意:
- 存储空间名称在OSS范围内必须全局唯一。有关存储空间的命名规范,请参见存储空间命名。
- 存储空间创建后,其名称、所处地域、存储类型、冗余类型不支持修改。
- 单个存储空间的容量不限制
读写OSS数据
OSS Python SDK
您可以直接使用OSS的Python API读写OSS中的数据,详情请参见OSS2 Package。PAI-DSW已预装OSS2 Python包,您可以参见如下方法读写OSS数据。
初始化sdk
AccessKey(AK)获取
config需要您当前账号的AccessKey(AK)信息。获取AK的方式,请参见 获取AccessKey
import oss2 auth = oss2.Auth('<your_AccessKey_ID>', '<your_AccessKey_Secret>') bucket = oss2.Bucket(auth, 'http://oss-cn-beijing-internal.aliyuncs.com', '<your_bucket_name>')
参数 | 描述 | |
<your_AccessKey_ID> | 阿里云的AccessKey ID。 | |
<your_AccessKey_Secret> | 阿里云的AccessKey Secret。 | |
http://oss-cn-beijing-internal.aliyuncs.com | OSS域名。需要根据实例的地域选择对应的OSS域名:
|
|
<your_bucket_name> | Bucket名称,且开头不带oss://。 |
读写OSS数据
#读取一个完整文件。 result = bucket.get_object('<your_file_path/your_file>') print(result.read()) #按Range读取数据。 result = bucket.get_object('<your_file_path/your_file>', byte_range=(0, 99)) #写数据至OSS。 bucket.put_object('<your_file_path/your_file>', '<your_object_content>') #对文件进行Append。 result = bucket.append_object('<your_file_path/your_file>', 0, '<your_object_content>') result = bucket.append_object('<your_file_path/your_file>', result.next_position, '<your_object_content>')
其中<your_file_path/your_file>表示待读写的文件路径,<your_object_content>表示待Append的内容,需要根据实际情况修改。
OSS CLI
ossutil支持在Windows、Linux、macOS等系统中运行,您可以根据实际环境下载和安装合适的版本。 PAI-DSW已预装ossutil64, 您可以参见如下方法读写OSS数据。 下载地址
初始化配置文件
AccessKey(AK)获取
config需要您当前账号的AccessKey(AK)信息。获取AK的方式,请参见 获取AccessKey
config = ''' [Credentials] language=EN accessKeyID={accessKeyID} accessKeySecret={accessKeySecret} '''.format(accessKeyID= '**your-access_id**' , accessKeySecret= '**your-access-key**')
保存到配置文件 oss.conf
import os if os.path.exists('./oss.conf'): print('oss config file is already exist') else: with open('./oss.conf', 'w') as f: f.write(config)
下载文件
!ossutil64 cp -r oss://pai-vision-data-bj/data/VOCdevkit/VOC2007/ -e oss-cn-beijing.aliyuncs.com data -c ./oss.conf
上传文件
!ossutil64 cp localfile oss://examplebucket/destfolder/ -e oss-cn-beijing.aliyuncs.com -c ./oss.conf
文件夹同步
!ossutil64 sync localfolder/ oss://examplebucket/destfolder/ -c ./oss.conf
其中表示待读取的文件夹路径,表示写入的buckeet, 表示待写入的文件夹。
更多关于ossutil64的命令,见常用命令
OSS 客户端
ossbrowser是阿里云官方提供的OSS图形化管理工具,提供类似Windows资源管理器的功能。使用ossbrowser,您可以快速完成存储空间(Bucket)和文件(Object)的相关操作。下载地址
OSS权限管理
OSS 通过RAM策略管理Bucket的访问权限,关于RAM策略编辑器如何配置的问题,见RAM策略编辑器