您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: