0
我正在使用SQS 2009-02-01版。我創建了一個新的隊列,並在該隊列中創建了4條消息。 我試圖用MaxNumberOfMessages作爲4使用下面的函數來接收消息,但每個響應都顯示隨機單個消息。MaxNumberOfMessages無法正常工作亞馬遜SQS(Coldfusion)
<cfset awsAccessKeyId = "XXXXX"/>
<cfset secretAccessKey = "XXXXXXXX"/>
<cfset sqs = CreateObject("component", "amazonsqs").init(awsAccessKeyId, secretAccessKey)/>
<cfset Recvmsg = sqs.SQSreceiveMessage(queue='298726564284/Queue2')/>
<cffunction name="SQSreceiveMessage" output="false" returntype="any">
<cfargument name="queue" type="string" required="true"/>
<cfargument name="amount" type="numeric" required="true"/>
<cfset Function.dateTimeString = dateFormat(now(), "yyyy-mm-dd") &"T" &timeFormat(now(), "HH:mm:ss") &"Z"/>
<cfset Function.fixedData = "ActionReceiveMessage" &
"AttributeNameAll"&
"AWSAccessKeyId#This.awsAccessKeyId#" &
"Expires#Function.dateTimeString#" &
"MaxNumberOfMessages4"&
"SignatureMethodHmacSHA1"&
"SignatureVersion1"&
"Version#This.sqsVersion#"&
"VisibilityTimeout15"
/>
<cfset Function.signature = createSignature(Function.fixedData)/>
<cfhttp method="GET" url="#This.SQSserviceUrl#/#Arguments.queue#" charset="UTF-8">
<cfhttpparam type="url" name="Action" value="ReceiveMessage"/>
<cfhttpparam type="url" name="AttributeName" value="All"/>
<cfhttpparam type="url" name="AWSAccessKeyId" value="#This.awsAccessKeyId#"/>
<cfhttpparam type="url" name="Expires" value="#Function.dateTimeString#"/>
<cfhttpparam type="url" name="MaxNumberOfMessages" value="4"/>
<cfhttpparam type="url" name="Signature" value="#Function.signature#"/>
<cfhttpparam type="url" name="SignatureMethod" value="HmacSHA1"/>
<cfhttpparam type="url" name="SignatureVersion" value="1"/>
<cfhttpparam type="url" name="Version" value="#This.sqsVersion#"/>
<cfhttpparam type="url" name="VisibilityTimeout" value="15"/>
</cfhttp>
<cfreturn cfhttp>
</cffunction>
和響應XML是像下面
<?xml version="1.0"?><ReceiveMessageResponse xmlns="http://queue.amazonaws.com/doc/2009-02-01/"><ReceiveMessageResult><Message><Body>Sree Test @ 11:32</Body><ReceiptHandle>+eXJYhj5rDrOel0ZHW3NR2q08uP0aaoVA8HrY/zch2J6b04T/wXiPrqAZx40IL60Jn+y3Ll4BHHs/3BQ7dTJR0SnjmqjgHI+pxmFUqvQ77ncStqJ0z7+7hnKyQBSnJgi1E5ScG7SgWkv9u0UDKFMkgZCZio29XPKAm7ZvYHAxXt0mAJHCXzcseh0albm/Dr/w7jNhsmK3eHs84PUuG256a09NxnDp0PhRgY3R+VxbKBZjdaaRsq0BU6j8sfyNjmylyGgZvHreitVyQm4LvnIBxl3HOnwOEKDFOziypP7lS8=</ReceiptHandle><MD5OfBody>58461dc4aacf99d0c5cb3a2514d72e52</MD5OfBody><Attribute><Name>SenderId</Name><Value>AIDAJKBGOBWAWOBX752KI</Value></Attribute><Attribute><Name>ApproximateFirstReceiveTimestamp</Name><Value>1409153512501</Value></Attribute><Attribute><Name>ApproximateReceiveCount</Name><Value>13</Value></Attribute><Attribute><Name>SentTimestamp</Name><Value>1409153512501</Value></Attribute><MessageId>068f8131-360c-4824-a133-660ff7108063</MessageId></Message></ReceiveMessageResult><ResponseMetadata><RequestId>2db8480b-9a1f-569a-8d43-047282ff5ce1</RequestId></ResponseMetadata></ReceiveMessageResponse>
如何從接收消息的功能