2019/1/14

 

1. 开始使用阿里云OSS

阿里云对象存储服务(Object Storage Service, 简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。

阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。您可以进行一下操作:

>创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。

>通过获取已上传文件的地址进行文件的分享和下载。

>通过修改存储空间或文件的属性或元信息来设置相应的访问权限。

>通过阿里云管理控制台、各种便捷工具、一级丰富的SDK包执行基本和高级OSS操作。

 

2.使用OSS管理控制台

使用阿里云管理控制台来完成OSS基本操作的流程如下:

开通OSS服务 -> 创建存储空间 -> 上传文件 -> 下载文件 -> 删除文件 -> 删除存储空间

step1.新建Bucket

 

2.在存储空间中上传文件

新建目录

上传文件

 

3. 复制文件URL,修改文件读写权限

 

 4. 使用命令行管理工具ossutil

ossutil是以命令行方式管理OSS数据的工具,支持Windows、Linux、Mac平台。ossutil提供方便、简洁、丰富的Object管理命令,操作性能好,可并发上传。支持文件和文件夹(目录)上传下载、断点续传等。

 

5. RAM和STS介绍

RAM和STS是阿里云提供的权限管理系统。

RAM主要的作用是控制账号系统的权限。通过使用RAM可以将在主账号的权限范围内创建子用户,给不同的子用户分配不同的权限从而达到授权管理的目的。

STS是一个安全凭证(Token)的管理系统,用来授予临时的访问权限,这样就可以通过STS来完成对于临时用户的访问权限。

基本概念

> 子账号(RAM acount):从阿里云的主账号中创建出来的子账号,在创建的时候可以分配独立的密码和权限,每个子账号拥有自己AccessKey,可以和阿里云主账号一样正常的完成有权限的操作。一般来说,这里的子账号可以理解为具有某种权限的用户,可以被认为是一个具有某些权限的操作发起者。

>角色(Role):表示某种操作权限的虚拟概念,但是没有独立的登录密码和AccessKey。

>授权策略(Policy): 用来定义权限的规则,比如允许用户读取、或者写入某些资源。

>资源(Resource):代表用户可访问的云资源,比如OSS所有的Bucket、或者OSS的某个Bucket、或者OSS的某个Bucket下面的某个Object等。

https://help.aliyun.com/document_detail/31931.html?spm=a2c4g.11186623.2.15.6e221594ufOo9c#concept-nsb-brz-5db

 

6. 配置ossutil

在使用访问oss的命令时,需要先配置访问AccessKey, ie AK。

交互式配置ossutil

>ossutil64.exe config -L ch

回车

 

回车

检验配置是否正确

上传文件

 

 

7. Windows安装 OSS SDK(.NET)

下载"aliyun_oss_dotnet_sdk_2_8_0.zip",目录结构如下

/**************************************************************/

/aliyun_oss_dotnet_sdk_2_8_0

-- /bin

-- /doc

-- /sample

-- /src

-- CHANGELOG.md

-- README.md

-- README-CN.md

 /**************************************************************/

打开src目录下aliyun-oss-sdk.csproj工程与sample目录下aliyun-oss-sdk-samples.csproj;

https://github.com/aliyun/aliyun-oss-csharp-sdk

Notes

If you want to run a sample project, you must set the aliyun-oss-sdk-sample project as the 'Startup Project' and add your own AccessKeyId, AccessKeySecret, buckets and keys, and then run the project.

 

8. OSS .NET SDK Quick Use

a.Get the bucket list (List Bucket)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
    var buckets = client.ListBuckets();

foreach(var bucket in buckets)
{
    Console.WriteLine(bucket.Name + ", " + bucket.Location + ", ", + bucket.Owner);
}

b.Create a bucket (Create Bucket)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.CreateBucket(bucketName);

c. Delete a bucket (Delete Bucket)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.DeleteBucket(bucketName);

d.Upload a file (Put Object)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.PutObject(bucketName, key, filePathToUpload);

e.Download an object (Get Object)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
var object = ossClient.GetOjbect(bucketName, key);

f. Get the object list (List Objects)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
var list Result = client.ListObjects(bucketName);
foreach(var summary in listResult.ObjectSummaries)
{
    Console.WriteLine(summary.Key);
}

g. Delete an object (Delete Object)

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
client.DeleteObject(bucketName,key);

 

posted @ 2019-01-14 16:35  wjefi  阅读(162)  评论(0编辑  收藏  举报