.NET SDK便于.NET平台开发者快速对接使用OBS对象存储服务。在使用之前,您需要确保已经是平安云用户,并且开通了OBS服务。如果您还没有开通或者还不了解平安云 OBS 服务,请登录 OBS产品主页 进行了解。
.NET SDK 开发包最新版本 v1.0.0
API |
描述 |
---|---|
PutObject |
OBS .NET SDK 提供了多种文件上传接口,可以通过以下方式上传文件:
|
GetObject |
文件下载 |
GetDownloadUrl |
获取下载链接 |
DeleteObject |
删除文件 |
(1)初始化
接口描述
初始化调用OBS服务的对象ObsService,提供三个入参的构造方法。ObsService提供上传、下载、上传文件基本操作。
您需要接入平安云OBS服务,拥有有效的accessKey、secretKey进行签名认证。
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
endpoint |
String |
true |
OBS区域访问地址 |
- |
accessKey |
String |
true |
OBS租户访问的ak |
- |
secretKey |
String |
true |
OBS租户访问秘钥 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
ObsService |
var |
实例化对象 |
- |
实例
var obsService = new ObsService("your endpoint", "your accessKey", "your secretKey");
(2)PutObject
接口描述
文件上传
PutObjectResponse PutObject(String BucketName, String ObjectKey, String FilePath) PutObjectResponse PutObject(String BucketName, String ObjectKey, String FilePath, MetadataCollection Metadata)
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符 |
- |
filePath |
String |
true |
上传文件的路径 |
- |
metadata |
MetadataCollection |
false |
对象元信息 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult返回对象 |
- |
实例
/*标准文件上传*/ var putObjectResult = obsService.PutObject(BucketName,ObjectKey,FilePath); /*附带文件原信息上传*/ var metaData = new MetadataCollection(); metaData.Add("file_name","test.jpg"); var putObjectResult = obsService.PutObject PutObject(BucketName, ObjectKey, FilePath, metaData);
(3) PutObject
接口描述
流式上传
PutObjectResponse PutObject(String BucketName, String ObjectKey, Stream InputStream) PutObjectResponse PutObject(String BucketName, String ObjectKey, Stream InputStream, MetadataCollection Metadata)
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符 |
- |
inputStream |
Stream |
true |
输入流 |
- |
metadata |
MetadataCollection |
false |
对象元信息 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
putObjectResult |
PutObjectResult |
PutObjectResult返回对象 |
- |
实例
/*标准流上传*/ var putObjectResult = obsService.PutObject(BucketName,ObjectKey,InputStream); /*附带流原信息上传*/ var metaData = new MetadataCollection(); metaData.Add("file_name","test.jpg"); var putObjectResult = obsService.PutObject PutObject(BucketName, ObjectKey, InputStream, metaData);
(4) GetObject
接口描述
文件下载
GetObjectResponse GetObject (String BucketName, String ObjectKey)
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符 |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
getObjectResponse |
GetObjectResponse |
GetObjectResponse对象 |
- |
实例
var getObjectResp = os.GetObject(bucketName, keyName);
(5) GetDownloadUrl
接口描述
获取下载链接。
String GetDownloadUrl(String BucketName, String ObjectKey) String GetDownloadUrl(String BucketName, String ObjectKey, String displayFileName) String GetDownloadUrl(String BucketName, String ObjectKey, String displayFileName, long expiresSeconds)
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象Key |
- |
displayFileName |
String |
false |
在请求url时,期望云存储服务端返回的content-disposition头信息,默认为null |
- |
expireSeconds |
long |
false |
url有效秒数,url生成后,在此时间段内有效,过期的url会被云存储拒绝访问,默认为20s |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
url |
String |
已签名的文件下载链接 |
- |
(6) DeleteObject
接口描述
删除文件
DeleteObjectResponse DeleteObject(String BucketName, String ObjectKey)
请求参数
参数名称 |
参数类型 |
是否必须 |
参数描述 |
备注 |
---|---|---|---|---|
bucketName |
String |
true |
保存对象的 bucket 名称 |
- |
objectKey |
String |
true |
对象Key |
- |
响应参数
参数名称 |
参数类型 |
参数描述 |
备注 |
---|---|---|---|
deleteObjectResponse |
DeleteObjectResponse |
DeleteObjectResponse对象 |
- |