.NET SDK

<p>&nbsp;</p> <p>简介</p> <p>.NET SDK便于.NET平台开发者快速对接使用OBS对象存储服务。在使用之前,您需要确保已经是平安云用户,并且开通了OBS服务。如果您还没有开通或者还不了解平安云 OBS 服务,请登录 <a href="/ssr/products/OBS" target="_blank">OBS产品主页 </a>进行了解。</p> <p>SDK下载</p> <p>.NET SDK 开发包最新版本<a href="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/sdk%2Fobs-.NET-sdk-1.0.0.zip?response-content-disposition=attachment%3Bfilename%3Dobs-.NET-sdk-1.0.0.zip" target="_blank"> v1.0.0</a></p> <p>API概览</p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>API</p> </th> <th> <p>描述</p> </th> </tr> </thead> <tbody> <tr> <td> <p>PutObject</p> </td> <td> <p>OBS .NET SDK 提供了多种文件上传接口,可以通过以下方式上传文件:</p> <ul> <li>文件上传</li> <li>流式上传</li> </ul> </td> </tr> <tr> <td> <p>GetObject</p> </td> <td> <p>文件下载</p> </td> </tr> <tr> <td> <p>GetDownloadUrl</p> </td> <td> <p>获取下载链接</p> </td> </tr> <tr> <td> <p>DeleteObject</p> </td> <td> <p>删除文件</p> </td> </tr> </tbody> </table> <p>API描述</p> <p><strong>(1)初始化</strong></p> <p><strong>接口描述</strong></p> <p>初始化调用OBS服务的对象ObsService,提供三个入参的构造方法。ObsService提供上传、下载、上传文件基本操作。</p> <p>您需要接入平安云OBS服务,拥有有效的accessKey、secretKey进行签名认证。</p> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>endpoint</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>OBS区域访问地址</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>accessKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>OBS租户访问的ak</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>secretKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>OBS租户访问秘钥</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>ObsService</p> </td> <td> <p>var</p> </td> <td> <p>实例化对象</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>实例</strong></p> <pre> <code>var obsService = new ObsService("your endpoint", "your accessKey", "your secretKey");</code></pre> <p><strong>(2)PutObject</strong></p> <p><strong>接口描述</strong></p> <p>文件上传</p> <pre> PutObjectResponse PutObject(String BucketName, String ObjectKey, String FilePath) PutObjectResponse PutObject(String BucketName, String ObjectKey, String FilePath, MetadataCollection Metadata)</pre> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>bucketName</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>保存对象的 bucket 名称</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>objectKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>filePath</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>上传文件的路径</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>metadata</p> </td> <td> <p>MetadataCollection</p> </td> <td> <p>false</p> </td> <td> <p>对象元信息</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>putObjectResult</p> </td> <td> <p>PutObjectResult</p> </td> <td> <p>PutObjectResult返回对象</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>实例</strong></p> <pre> <em>/*标准文件上传*/</em> var putObjectResult = obsService.PutObject(BucketName,ObjectKey,FilePath); <em>/*附带文件原信息上传*/</em> var metaData = <strong>new</strong> MetadataCollection(); metaData.Add(<span style="color:#2a00ff">&quot;file_name&quot;</span>,<span style="color:#2a00ff">&quot;test.jpg&quot;</span>); var putObjectResult = obsService.PutObject PutObject(BucketName, ObjectKey, FilePath, metaData);</pre> <p><strong>(3) PutObject</strong></p> <p><strong>接口描述</strong></p> <p>流式上传</p> <pre> PutObjectResponse PutObject(String BucketName, String ObjectKey, Stream InputStream) PutObjectResponse PutObject(String BucketName, String ObjectKey, Stream InputStream, MetadataCollection Metadata)</pre> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>bucketName</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>保存对象的 bucket 名称</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>objectKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>inputStream</p> </td> <td> <p>Stream</p> </td> <td> <p>true</p> </td> <td> <p>输入流</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>metadata</p> </td> <td> <p>MetadataCollection</p> </td> <td> <p>false</p> </td> <td> <p>对象元信息</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>putObjectResult</p> </td> <td> <p>PutObjectResult</p> </td> <td> <p>PutObjectResult返回对象</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>实例</strong></p> <pre> <em>/*标准流上传*/</em> var putObjectResult = obsService.PutObject(BucketName,ObjectKey,InputStream); <em>/*附带流原信息上传*/</em> var metaData = <strong>new</strong> MetadataCollection(); metaData.Add(<span style="color:#2a00ff">&quot;file_name&quot;</span>,<span style="color:#2a00ff">&quot;test.jpg&quot;</span>); var putObjectResult = obsService.PutObject PutObject(BucketName, ObjectKey, InputStream, metaData);</pre> <p><strong>(4) GetObject</strong></p> <p><strong>接口描述</strong></p> <p>文件下载</p> <pre> GetObjectResponse GetObject (String BucketName, String ObjectKey)</pre> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>bucketName</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>保存对象的 bucket 名称</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>objectKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>对象Key,需自行实现策略保证同一bucket下objectKey唯一,不能为空,首字符不能为路径符</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>getObjectResponse</p> </td> <td> <p>GetObjectResponse</p> </td> <td> <p>GetObjectResponse对象</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>实例</strong></p> <pre> var getObjectResp = os.GetObject(bucketName, keyName);</pre> <p><strong>(5) GetDownloadUrl</strong></p> <p><strong>接口描述</strong></p> <p>获取下载链接。</p> <pre> String GetDownloadUrl(String BucketName, String ObjectKey) String GetDownloadUrl(String BucketName, String ObjectKey, String displayFileName) String GetDownloadUrl(String BucketName, String ObjectKey, String displayFileName, <strong>long</strong> expiresSeconds)</pre> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>bucketName</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>保存对象的 bucket 名称</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>objectKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>对象Key</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>displayFileName</p> </td> <td> <p>String</p> </td> <td> <p>false</p> </td> <td> <p>在请求url时,期望云存储服务端返回的content-disposition头信息,默认为null</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>expireSeconds</p> </td> <td> <p>long</p> </td> <td> <p>false</p> </td> <td> <p>url有效秒数,url生成后,在此时间段内有效,过期的url会被云存储拒绝访问,默认为20s</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>url</p> </td> <td> <p>String</p> </td> <td> <p>已签名的文件下载链接</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>(6) DeleteObject</strong></p> <p><strong>接口描述</strong></p> <p>删除文件</p> <pre> DeleteObjectResponse DeleteObject(String BucketName, String ObjectKey)</pre> <p><strong>请求参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>是否必须</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>bucketName</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>保存对象的 bucket 名称</p> </td> <td> <p>-</p> </td> </tr> <tr> <td> <p>objectKey</p> </td> <td> <p>String</p> </td> <td> <p>true</p> </td> <td> <p>对象Key</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table> <p><strong>响应参数</strong></p> <table> <caption>&nbsp;</caption> <thead> <tr> <th> <p>参数名称</p> </th> <th> <p>参数类型</p> </th> <th> <p>参数描述</p> </th> <th> <p>备注</p> </th> </tr> </thead> <tbody> <tr> <td> <p>deleteObjectResponse</p> </td> <td> <p>DeleteObjectResponse</p> </td> <td> <p>DeleteObjectResponse对象</p> </td> <td> <p>-</p> </td> </tr> </tbody> </table>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

工单支持

解决云产品相关技术问题