OssClient 用于管理阿里云OSS对象存储的文档数据。
Nuget包:NewLife.Core
源码地址:https://github.com/NewLifeX/X/blob/master/NewLife.Core/Yun/OssClient.cs
基本属性
主要属性设置,主要是指定阿里云OSS地址和应用密钥,还有Bucket名称。
/// <summary>访问域名</summary> public String Endpoint { get; set; } = "http://oss-cn-shanghai.aliyuncs.com"; /// <summary>访问密钥</summary> public String AccessKeyId { get; set; } /// <summary>访问密钥</summary> public String AccessKeySecret { get; set; } /// <summary>存储空间</summary> public String BucketName { get; set; }
Bucket操作
主要用于列出Bucket等操作,安全起见,未实现添删改Bucket的功能,建议在阿里云控制台人工操作。实在有需要时,可以继承OssClient进行扩展。
/// <summary>列出所有存储空间名称</summary> /// <returns></returns> public async Task<String[]> ListBuckets(); /// <summary>列出所有存储空间明细,支持过滤</summary> /// <param name="prefix"></param> /// <param name="marker"></param> /// <param name="maxKeys"></param> /// <returns></returns> public async Task<IList<Object>> ListBuckets(String prefix, String marker, Int32 maxKeys = 100);
Object操作
对象操作主要成员如下:
/// <summary>列出所有文件名称</summary> /// <returns></returns> public async Task<String[]> ListObjects(); /// <summary>列出所有文件明细,支持过滤</summary> /// <param name="prefix"></param> /// <param name="marker"></param> /// <param name="maxKeys"></param> /// <returns></returns> public async Task<IList<Object>> ListObjects(String prefix, String marker, Int32 maxKeys = 100); /// <summary>上传文件</summary> /// <param name="objectName">对象文件名</param> /// <param name="data">数据内容</param> /// <returns></returns> public async Task PutObject(String objectName, Byte[] data); /// <summary>获取文件</summary> /// <param name="objectName"></param> /// <returns></returns> public async Task<Byte[]> GetObject(String objectName); /// <summary>删除文件</summary> /// <param name="objectName"></param> /// <returns></returns> public async Task DeleteObject(String objectName);
文件列表、搜索、上传、获取、删除,各功能已经俱全。
总结
OssClient 是阿里云OSS对象存储的轻量级封装,主要用于核心的常用功能。