AWS SDK for .NET开发人员指南
适用于Cleversafe Cloud Storage Object API 2.5
克莱沃3.6。1
版本20150813D,2015年8月13日
目录
文件信息 ........................................................................................................................................................................................................... 1
法律声明 .................................................................................................................................................................................................... 1
文件约定 .................................................................................................................................................................................................... 1
文件历史 .................................................................................................................................................................................................... 1
目标和受众 ................................................................................................................................................................................................. 1
1. 使用AWS .NET SDK ............................................................................................................................................................................................... 2
2. 安装AWS .NET SDK ............................................................................................................................................................................................... 3
2.1. 验证依赖关系是否满足 ....................................................................................................................................................................... 3
2.2. 下载AWS .NET SDK ............................................................................................................................................................................... 3
2.3. 安装SDK ...................................................................................................................................................................................................... 3
3. 配置SDK以使用dsNet系统 .............................................................................................................................................................................. 4
3.1. 配置针对dsNet系统的身份验证 ........................................................................................................................................................... 4
3.1.1. 将凭据添加到应用程序 .............................................................................................................................................................. 4
3.1.2. 使用访问凭据 ................................................................................................................................................................................... 6
3.2. 配置存储端点和主机寻址方案 ............................................................................................................................................................ 7
3.2.1. 使用虚拟主机寻址 ..................................................................................................................................................................... 8
3.2.2. 资源路径寻址 ................................................................................................................................................................................... 9
4. 配置可选设置 .............................................................................................................................................................................................. 10
4.1. 设置客户端超时................................................................................................................................................................................. 10
4.2. 设置最大重试限制 ............................................................................................................................................................................. 10
5. 识别支持的方法 .......................................................................................................................................................................................... 11
5.1. 支持的方法 ........................................................................................................................................................................................ 11
5.2. 不支持的方法 .................................................................................................................................................................................... 12
6. 例子 ................................................................................................................................................................................................................... 13
6.1. 创建AWS .NET SDK客户端和连接 ....................................................................................................................................................... 13
6.2. 创建一个桶 .............................................................................................................................................................................................. 14
6.3. 上传对象 ............................................................................................................................................................................................ 14
6.4. 使用流下载对象................................................................................................................................................................................. 15
6.5. 删除对象 ............................................................................................................................................................................................ 16
6.6. 复制对象 ............................................................................................................................................................................................ 17
6.7. 列出对象 ............................................................................................................................................................................................ 18
附录A:Cleversafe知识产权 .......................................................................................................................................................................... 19
A.1. 版权和商标 ....................................................................................................................................................................................... 19
A.2. 专利 ......................................................................................................................................................................................................... 19
文件信息
法律声明
Cleversafe,Inc。(Cleversafe)认为本出版物在发布之日内容准确无误。信息如有更改,恕不另行通知。
本文档中的信息按“原样”提供.Cleversafe对本文档中的信息不做任何形式的陈述或保证,特别是对用于特定目
的的适销性或适用性不做出暗示保证。
本文档中的所有信息均以保密方式提供,未经Cleversafe书面许可,不得全部或部分发布或披露给任何其他方。
文件约定
• 代码示例,命令行界面和URL采用等宽字体类型:http://url.com 要么
getMethod()。
• 变量用粗体蓝色等宽字体类型用大括号括起来:{variable}。
• 长代码示例使用省略号(...)代替已删除长度的内容。
• 用户界面中找到的项目的标签是粗体。
• 对本文档或其他文档的其他部分的引用采用粗体斜体。
• 注释和其他注意事项以斜体显示。
文件历史
版
日期
改变了
描述
受影响的部分
20150723A
2015年7月23
斯科特霍兰
初稿
日
20150729B
2015年7月29
那安东尼T.
日
20150804C
2015年8月4
那安东尼T.
日
20150813D
2015年8月13
日
Anthony T. Sansone, Justin
Nordstrom, Justin Jarczyk
修订
修订
修订
目标和受众
所有
所有
所有
所有
本指南向熟悉Amazon Simple Storage Service(S3)概念的C#开发人员解释如何使用适用于.NET的AWS开发工具
包(AWS .NET SDK),一个开源C#库,用于将现有的S3应用程序从Amazon Web Services(AWS)移植到Cleversafe
dsNet系统。
2015 Cleversafe, Inc. All Rights Reserved.
AWS SDK for .NET Developer Guide | 1
1. 使用AWS .NET SDK
将AWS .NET SDK与CSO API一起使用需要稍作修改:设置S3端点。本文概述了其他微小变化。
有关S3 API和CSO API之间的功能差异以及CSO API支持的S3 API功能的子集的详细信息,
请参阅CSO API指南。
请咨询AWS .NET SDK API参考有关SDK类和方法的详细信息。
Cleversafe Vault和S3 Bucket是同义词。
有些部分涉及主目录。用户的主目录因平台而异:
口
Linux的
/家庭/ {用户名}
~/
Windows 7的 %用户资料%\
Mac OS X.
/用户/ {用户名}
地点
为简单起见,本指南将在其示例中假设Unix / Linux开发环境。
2 | AWS SDK for .NET Developer Guide
2015 Cleversafe, Inc. All Rights Reserved.
2. 安装AWS .NET SDK
2.1. 验证依赖关系是否满足
表1. AWS .NET SDK软件版本要求
软件
软件版本
发布日期
2015年6月30日
2015年6月30日
2015年7月28日
克莱沃
切索阿皮
NET SDK AWS。
微软。NET框架
微软Visual Studio
3.6
2.5
3.0
3.5+
2010
2.2. 下载AWS .NET SDK
最新的NET SDK AWS。可以从亚马逊下载。
2.3. 安装SDK
参考亚马逊的入门指南有关安装和配置说明。
2015 Cleversafe, Inc. All Rights Reserved.
AWS SDK for .NET Developer Guide | 3
3. 配置SDK以使用dsNet系统
3.1. 配置针对dsNet系统的身份验证
CSO API支持dsNet系统上的AWS Signature v2和v4身份验证。
AWS Signature v4签名规范描述了如何向S3请求添加身份验证信息。
使用AWS身份验证的请求必须使用请求用户的访问密钥ID和秘密访问密钥(统称为访问凭据)进行签名。
凭证可以存储在以下任一位置:
1. 微软的SDK商店
2. AWS的共享凭证文件
这些凭据源要求凭据存储在单独的命名配置文件中。在命名每个配置文件时,可以通过编程方式引用它以
使用一组给定的凭据。
3.1.1. 将凭据添加到应用程序
在SDK Store中添加凭据
SDK Store是每用户加密的访问凭据列表。
选择以下选项之一以将新配置文件添加到SDK存储:
1. 使用Amazon.Util.ProfileManager类的RegisterProfile:
亚马逊使用。运行配置管理或使用。RegisterProfile(profilename,accesskey,密钥)①
o每个配置文件只需调用一次。
2. 使用AWS的Visual Studio工具箱.
使用SDK Store,Cleversafe强烈建议创建一个默认配置文件,如果应用程序中未设置
其他配置文件,则可以使用该配置文件。
4 | AWS SDK for .NET Developer Guide
2015 Cleversafe, Inc. All Rights Reserved.
将凭据添加到AWS凭据文件
要在AWS Shared Credentials File中创建一组凭据,请执行以下操作:
使用aws configure创建具有默认配置文件的Access Credentials文件。
示例1. aws configure的命令输出
AWS配置美元
AWS访问密钥ID [无]:lDrDjH0D45hQivu6FNlwQ①
AWS秘密访问密钥[无]:bHp5DOjg0HHJrGK7h3ejEqRDnVmWZK03T4lstel6②
默认区域名称[无]:③
默认输出格式[无]:json④
o 访问密钥将存储在〜/ .aws / credentials中。
o 密钥将存储在〜/ .aws /凭证中。
③不需要设置区域。用户可以按Return键跳过此步骤。Region将存储在〜/ .aws / config中。
④输出格式将存储在〜/ .aws / config中。
请咨询配置AWS命令行界面在Amazon上获取有关aws configure的更多信息。
要支持多个身份,AWS Credential Files可以具有命名配置文件。
使用aws configure --profile {profileName}创建具有命名配置文件的Access Credentials文件。附加命名的
配置文件附加到〜/ .aws /凭证。
示例2. aws configure --profile pool2的命令输出
$aws 配置--配置文件池2
AWS访问密钥ID [无]:lDrDjH0D45hQivu6FNlwQ①
AWS秘密访问密钥[无]:bHp5DOjg0HHJrGK7h3ejEqRDnVmWZK03T4lstel6②
默认区域名称[无]:③
默认输出格式[无]:json④
o 访问密钥将存储在〜/ .aws / credentials中。
o 密钥将存储在〜/ .aws /凭证中。
③不需要设置区域。用户可以按Return键跳过此步骤。Region将存储在〜/ .aws / config中。
④输出格式将存储在〜/ .aws / config中。
2015 Cleversafe, Inc. All Rights Reserved.
AWS SDK for .NET Developer Guide | 5
[默认]
aws_access_key_id = lDrDjH0D45hQivu6FNlwQ
aws _ 秘密访问 _ key = bhp5dojg0hjrg7h3eqdwwwvzk03t4lstel6
[简介]①池
aws _ access _ key _ id = n67w90rklcolpskn8w8
aws _ 秘密 _ access _ key = rlftdyqp0wyyp pwmyee\ gjug7qckynofrmw. r. chcl谋生 rmwr
o pool2配置文件为S3连接提供另一组访问凭据。
示例3. AWS凭证文件的内容(〜/ .aws / credentials)
[默认]输出=
JSON
[简介]输出为文本池
示例4. AWS配置文件的内容(〜/ .aws / config)
3.1.2. 使用访问凭据
使用Access Credentials的优先顺序是:
1. 使用应用程序配置文件中的凭据集
2. [在共享凭据源中使用配置文件集]:
3. 使用环境变量中的凭据集
使用应用程序配置文件中的凭据集
这些将被硬编码到配置文件中。
Cleversafe强烈建议使用命名配置文件。
使用SDK Store或AWS Credentials File中的配置文件集
应用程序使用由配置文件名称标识的凭据,默认情况下存储在SDK Store或AWS Credentials文件中。应用程
序通过其配置文件中设置的参数访问一组或多组这些凭据。
Microsoft .NET应用程序具有配置文件:用于桌面或服务器应用程序的App.config或
Web应用程序的Web.config。
通过在配置文件中为每个配置文件中定义的
元素定义配置文件加 SDK存储中的凭据部分。在构建过程中,
关联的凭据将合并到应用程序中。
6 | AWS SDK for .NET Developer Guide
2015 Cleversafe, Inc. All Rights Reserved.