阿里云OSS NET SDK 引用示范程序

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 1.引入SDK bin文件,下载地址:https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_SDK_DOTNET_2_3_0.
1.引入SDK bin文件,下载地址:https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_SDK_DOTNET_2_3_0.zip?spm=5176.doc32085.2.3.dH1Os6&file=OSS_SDK_DOTNET_2_3_0.zip
2.源代码:

using System; using System.Collections.Generic; using Aliyun.OSS; namespace TaoYe { /// <summary> /// 快速入门示例程序    /// </summary> public static class SimpleSamples { private const string _accessKeyId = "<your AccessKeyId>"; private const string _accessKeySecret = "<your AccessKeySecret>"; private const string _endpoint = "<valid host name>"; private const string _bucketName = "<your bucket name>"; private const string _key = "<your key>"; private const string _fileToUpload = "<your local file path>"; private static OssClient _client = new OssClient(_endpoint, _accessKeyId, _accessKeySecret); public static void Main(string[] args) { CreateBucket(); SetBucketAcl(); GetBucketAcl(); PutObject(); ListObjects(); GetObject(); DeleteObject(); // DeleteBucket(); Console.WriteLine("Press any key to continue . . . "); Console.ReadKey(true); } /// <summary> /// 创建一个新的存储空间 /// </summary> private static void CreateBucket() { try { var result = _client.CreateBucket(_bucketName); Console.WriteLine("创建存储空间{0}成功", result.Name); } catch (Exception ex) { Console.WriteLine("创建存储空间失败. 原因:{0}", ex.Message); } } /// <summary> /// 上传一个新文件 /// </summary> private static void PutObject() { try { _client.PutObject(_bucketName, _key, _fileToUpload); Console.WriteLine("上传文件成功"); } catch (Exception ex) { Console.WriteLine("上传文件失败.原因: {0}", ex.Message); } } /// <summary> /// 列出存储空间内的所有文件 /// </summary> private static void ListObjects() { try { var keys = new List<string>(); ObjectListing result = null; string nextMarker = string.Empty; /// 由于ListObjects每次最多返回100个结果,所以,这里需要循环去获取,直到返回结果中IsTruncated为false do { var listObjectsRequest = new ListObjectsRequest(_bucketName) { Marker = nextMarker, MaxKeys = 100 }; result = _client.ListObjects(listObjectsRequest); foreach (var summary in result.ObjectSummaries) { keys.Add(summary.Key); } nextMarker = result.NextMarker; } while (result.IsTruncated); Console.WriteLine("列出存储空间中的文件"); foreach (var key in keys) { Console.WriteLine("文件名称:{0}", key); } } catch (Exception ex) { Console.WriteLine("列出存储空间中的文件失败.原因: {0}", ex.Message); } } /// <summary> /// 下载文件 /// </summary> private static void GetObject() { try { var result = _client.GetObject(_bucketName, _key); Console.WriteLine("下载的文件成功,名称是:{0},长度:{1}", result.Key, result.Metadata.ContentLength); } catch (Exception ex) { Console.WriteLine("下载文件失败.原因:{0}", ex.Message); } } /// <summary> /// 删除文件 /// </summary> private static void DeleteObject() { try { _client.DeleteObject(_bucketName, _key); Console.WriteLine("删除文件成功"); } catch (Exception ex) { Console.WriteLine("删除文件失败.原因: {0}", ex.Message); } } /// <summary> /// 获取存储空间ACL的值 /// </summary> private static void GetBucketAcl() { try { var result = _client.GetBucketAcl(_bucketName); foreach (var grant in result.Grants) { Console.WriteLine("获取存储空间权限成功,当前权限:{0}", grant.Permission.ToString()); } } catch (Exception ex) { Console.WriteLine("获取存储空间权限失败.原因: {0}", ex.Message); } } /// <summary> /// 设置存储空间ACL的值 /// </summary> private static void SetBucketAcl() { try { _client.SetBucketAcl(_bucketName, CannedAccessControlList.PublicRead); Console.WriteLine("设置存储空间权限成功"); } catch (Exception ex) { Console.WriteLine("设置存储空间权限失败. 原因:{0}", ex.Message); } } /// <summary> /// 删除存储空间 /// </summary> private static void DeleteBucket() { try { _client.DeleteBucket(_bucketName); Console.WriteLine("删除存储空间成功"); } catch (Exception ex) { Console.WriteLine("删除存储空间失败", ex.Message); } } } }


关于:

https://help.aliyun.com/document_detail/32085.html?spm=5176.doc32086.6.268.ahRddG (API文档的原文地址)

_accessKeyId 和 _accessKeySecret 是管理控制台里的key-value(需要注意别暴露在外面)
_endpoint 是域名,OSS控制台里能绑定自己的域名,没有自己的域名也无妨,默认是阿里云提供的域名地址
_bucketName 是OSS里面的文件夹名
_key是需要存储的文件名
_fileToUpload则是文件路径


以上,能实现简单的OSS使用。
 
 
 
 
相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
7月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
9月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
9月前
|
存储 域名解析 前端开发
震惊!不买服务器,还可以用阿里云国际站 OSS 轻松搭建静态网站
在数字化时代,利用阿里云国际站OSS可低成本搭建静态网站。本文详解OSS优势及步骤:创建Bucket、上传文件、配置首页与404页面、绑定域名等,助你快速上线个人或小型业务网站,操作简单,成本低廉,适合初学者与中小企业。
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1859 5
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
存储 XML 开发工具
【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
本文介绍了如何在Azure上使用App Service作为反向代理,以自定义域名访问Storage Account。主要内容包括: 1. **设置反向代理**:通过配置`applicationhost.xdt`和`web.config`文件,启用IIS代理功能并设置重写规则。 2. **验证访问**:测试原生URL和自定义域名的访问效果,确保两者均可正常访问Storage Account。 3. **.NET SDK连接**:使用共享访问签名(SAS URL)初始化BlobServiceClient对象,实现通过自定义域名访问存储服务。
239 0
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
360 0
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
407 7
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。