Amazon SimpleDB (二) 使用
2014-06-04 09:39
225 查看
关于使用,这是一个heloworld教程,首先我们创建一个域domain,相当于一个表。
注意我们并不能做域之间的连接操作,单次查询都只能针对一个域,不能跨域,这是SimpleDB的一个限制,所以开发者应当规划好,别选错了域。另外所有的存储都是string,UTF-8编码的。
你可以用Java,Python,ruby的开发包,这里不多讲了,这里只列举http请求和响应,以REST方式为例。
1 先创建一个domain
https://sdb.amazonaws.com/
?Action=CreateDomain
&AWSAccessKeyId=[valid access key id]
&DomainName=hongchangfirst
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2014-01-25T15%3A01%3A28-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为
<CreateDomainResponse>
<ResponseMetadata>
<RequestId>2a1305a2-ed1c-43fc-b7c4-e6966b5e2727</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</CreateDomainResponse>
2 加一个数据进去,replace代表不是添加一个值,而是替换响应的值,避免关联多值。
https://sdb.amazonaws.com/
?Action=PutAttributes
&DomainName=hongchangfirst
&ItemName=zhc
&Attribute.1.Name=Color
&Attribute.1.Value=Blue
&Attribute.2.Name=Price
&Attribute.2.Value=0014.99
&Attribute.2.Replace=true
&AWSAccessKeyId=[valid access key id]
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2010-01-25T15%3A03%3A05-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为:
<PutAttributesResponse>
<ResponseMetadata>
<RequestId>490206ce-8292-456c-a00f-61b335eb202b</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</PutAttributesResponse>
3 去拿到刚才加进去的数据
https://sdb.amazonaws.com/
?Action=GetAttributes
&AWSAccessKeyId=[valid access key id]
&DomainName=hongchangfirst
&ItemName=zhc
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2010-01-25T15%3A03%3A07-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为:
<GetAttributesResponse>
<GetAttributesResult>
<Attribute><Name>Color</Name><Value>Blue</Value></Attribute>
<Attribute><Name>Price</Name><Value>0014.99</Value></Attribute>
</GetAttributesResult>
<ResponseMetadata>
<RequestId>b1e8f1f7-42e9-494c-ad09-2674e557526d</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</GetAttributesResponse>
4 SimpleDB还有一个特点是可以使用类select语句查询相关属性值,limit限制一次响应的item数。
select output_list
from domain_name
[where expression]
[sort_instructions]
[limit limit]
想选只拥有一个值的属性,就用where every(name) = value。
原文:http://blog.csdn.net/hongchangfirst/article/details/25538133
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
注意我们并不能做域之间的连接操作,单次查询都只能针对一个域,不能跨域,这是SimpleDB的一个限制,所以开发者应当规划好,别选错了域。另外所有的存储都是string,UTF-8编码的。
你可以用Java,Python,ruby的开发包,这里不多讲了,这里只列举http请求和响应,以REST方式为例。
1 先创建一个domain
https://sdb.amazonaws.com/
?Action=CreateDomain
&AWSAccessKeyId=[valid access key id]
&DomainName=hongchangfirst
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2014-01-25T15%3A01%3A28-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为
<CreateDomainResponse>
<ResponseMetadata>
<RequestId>2a1305a2-ed1c-43fc-b7c4-e6966b5e2727</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</CreateDomainResponse>
2 加一个数据进去,replace代表不是添加一个值,而是替换响应的值,避免关联多值。
https://sdb.amazonaws.com/
?Action=PutAttributes
&DomainName=hongchangfirst
&ItemName=zhc
&Attribute.1.Name=Color
&Attribute.1.Value=Blue
&Attribute.2.Name=Price
&Attribute.2.Value=0014.99
&Attribute.2.Replace=true
&AWSAccessKeyId=[valid access key id]
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2010-01-25T15%3A03%3A05-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为:
<PutAttributesResponse>
<ResponseMetadata>
<RequestId>490206ce-8292-456c-a00f-61b335eb202b</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</PutAttributesResponse>
3 去拿到刚才加进去的数据
https://sdb.amazonaws.com/
?Action=GetAttributes
&AWSAccessKeyId=[valid access key id]
&DomainName=hongchangfirst
&ItemName=zhc
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2010-01-25T15%3A03%3A07-07%3A00
&Version=2009-04-15
&Signature=[valid signature]
响应为:
<GetAttributesResponse>
<GetAttributesResult>
<Attribute><Name>Color</Name><Value>Blue</Value></Attribute>
<Attribute><Name>Price</Name><Value>0014.99</Value></Attribute>
</GetAttributesResult>
<ResponseMetadata>
<RequestId>b1e8f1f7-42e9-494c-ad09-2674e557526d</RequestId>
<BoxUsage>0.0000219907</BoxUsage>
</ResponseMetadata>
</GetAttributesResponse>
4 SimpleDB还有一个特点是可以使用类select语句查询相关属性值,limit限制一次响应的item数。
select output_list
from domain_name
[where expression]
[sort_instructions]
[limit limit]
想选只拥有一个值的属性,就用where every(name) = value。
原文:http://blog.csdn.net/hongchangfirst/article/details/25538133
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
相关文章推荐
- 使用 Amazon SimpleDB 进行云存储
- amazon simpledb分析
- Using the Java Persistence API with Amazon SimpleDB
- Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB
- Amazon云产品介绍(2) - Amazon SimpleDB
- [WebSimpleDB]HTML5之IndexedDB使用详解
- Amazon SimpleDB (一) 简介
- 使用Amazon Simple Queues Service (SQS)实现与AutoCAD远程交互
- Amazon S3 & Simpledb内部实现分析
- ADO.net DataTable 和Amazon SimpleDB的相互转换
- java操作SimpleDB amazon 亚马逊数据库
- java中时间格式SimpleDateFormat的使用学习
- DBChartView使用
- 判断DB启动时使用的是spfile还是pfile的方法
- 使用SimpleDateFormat必须注意的问题
- SimpleDateFormat使用详解
- SimpleDateFormat函数使用的例子
- 使用Spring MVC 的表单控制器SimpleFormController
- 如何使用USER.DB找回丢失QQ中的好友?
- 使用SimpleDateFormat对日期进行处理