PHP ActiveX
PHP ActiveX
SQS Receive Message
See more Amazon SQS Examples
Retrieves one or more messages from an Amazon SQS queue, with a maximum limit of 10 messages, from the specified queue.See SQS ReceiveMessage or detailed information.
Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rest = new COM("Chilkat.Rest");
// Connect to the Amazon AWS REST server.
// such as https://sqs.us-west-2.amazonaws.com/
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect('sqs.us-west-2.amazonaws.com',$port,$bTls,$bAutoReconnect);
// Provide AWS credentials for the REST call.
$authAws = new COM("Chilkat.AuthAws");
$authAws->AccessKey = 'AWS_ACCESS_KEY';
$authAws->SecretKey = 'AWS_SECRET_KEY';
// the region should match our URL above..
$authAws->Region = 'us-west-2';
$authAws->ServiceName = 'sqs';
$rest->SetAuthAws($authAws);
$rest->AddQueryParam('Action','ReceiveMessage');
$rest->AddQueryParam('MaxNumberOfMessages','5');
$rest->AddQueryParam('VisibilityTimeout','15');
$rest->AddQueryParam('AttributeName','All');
$rest->AddQueryParam('MessageAttributeName','All');
// Use the actual path part of your SQS queue URL here:
$responseXml = $rest->fullRequestNoBody('GET','/123456789123/chilkatTest');
if ($rest->LastMethodSuccess != 1) {
print $rest->LastErrorText . "\n";
exit;
}
// A successful response will have a status code equal to 200.
if ($rest->ResponseStatusCode != 200) {
print 'response status code = ' . $rest->ResponseStatusCode . "\n";
print 'response status text = ' . $rest->ResponseStatusText . "\n";
print 'response header: ' . $rest->ResponseHeader . "\n";
print 'response body: ' . $responseXml . "\n";
exit;
}
// Examine the successful XML response.
$xml = new COM("Chilkat.Xml");
$xml->LoadXml($responseXml);
print $xml->getXml() . "\n";
print '----' . "\n";
// A successful response looks like this:
// <?xml version="1.0" encoding="utf-8" ?>
// <ReceiveMessageResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
// <ReceiveMessageResult>
// <Message>
// <Body>this is a test</Body>
// <MD5OfBody>54b0c58c7ce9f2a8b551351102ee0938</MD5OfBody>
// <ReceiptHandle>AQEBMyLof...UbKBTvHtEg==</ReceiptHandle>
// <Attribute>
// <Name>SenderId</Name>
// <Value>957491831129</Value>
// </Attribute>
// <Attribute>
// <Name>ApproximateFirstReceiveTimestamp</Name>
// <Value>1475013283557</Value>
// </Attribute>
// <Attribute>
// <Name>ApproximateReceiveCount</Name>
// <Value>4</Value>
// </Attribute>
// <Attribute>
// <Name>SentTimestamp</Name>
// <Value>1475013283557</Value>
// </Attribute>
// <MessageId>52882c65-5e21-4450-9024-93a3b01e61d3</MessageId>
// <MD5OfMessageAttributes>2ff68603f4239272bd03f543254ed040</MD5OfMessageAttributes>
// </Message>
// </ReceiveMessageResult>
// <ResponseMetadata>
// <RequestId>05ba5c92-80ee-5f87-be76-0cf67b7475d6</RequestId>
// </ResponseMetadata>
// </ReceiveMessageResponse>
// Get some values from the XML:
print 'Body: ' . $xml->chilkatPath('ReceiveMessageResult|Message|Body|*') . "\n";
print 'MessageId: ' . $xml->chilkatPath('ReceiveMessageResult|Message|MessageId|*') . "\n";
$unused = $xml->chilkatPath('ReceiveMessageResult|Message[0]|Attribute|$');
// rec is a Chilkat.Xml
$rec = $xml->FindNextRecord('Name','SenderId');
print 'SenderId: ' . $rec->getChildContent('Value') . "\n";
// rec is a Chilkat.Xml
$rec = $xml->FindNextRecord('Name','ApproximateFirstReceiveTimestamp');
print 'ApproximateFirstReceiveTimestamp: ' . $rec->getChildContent('Value') . "\n";
// rec is a Chilkat.Xml
$rec = $xml->FindNextRecord('Name','ApproximateReceiveCount');
print 'ApproximateReceiveCount: ' . $rec->getChildContent('Value') . "\n";
// rec is a Chilkat.Xml
$rec = $xml->FindNextRecord('Name','SentTimestamp');
print 'SentTimestamp: ' . $rec->getChildContent('Value') . "\n";
$xml->GetRoot2();
?>