This article describes how to put a message in the Azure Service Bus Queue with PHP.
To put a message in the queue you need to create an SAS Token. This SAS Token is needed to authorize the Azure Service Bus.
<?php
// Create SAS token
function
CreateSASToken()
{
$namespace
=
"MyServiceBusNamespace"
;
// Change to your namespace.
$queuename
"TestMessageQueue"
// Change to your queue name.
$sharedAccessKeyName
"TestAccessKey"
$sharedAccessKey
"Gdfi2lb4fqNdozFGTRUsvfqZSMCMzfh/2oj02CZ0LPE="
// Change!
$expireInSeconds
= 1000;
$t0
= time();
// Returns the current time measured in the number of seconds since the Unix Epoch
$expire
+
$sr
= urlencode(
"https://$namespace.servicebus.windows.net/$queuename"
);
$tohash
= utf8_encode(
.
"\n"
$sig
base64_encode
(
hash_hmac(
'sha256'
,
, true)
$se
$skn
$token
"SharedAccessSignature sr=$sr&sig=$sig&se=$se&skn=$skn"
return
}
?>
Then you can put a message in the queue like this:
PostToQueue(
$message
)
$serviceUrl
"https://$namespace.servicebus.windows.net/$queuename/messages"
$messageLength
strlen
$header
"Content-type: application/atom+xml;\r\n"
"Content-Length: $messageLength\r\n"
"Authorization: $token\r\n"
$options
array
'http'
=>
'header'
'content'
'method'
'POST'
$context
= stream_context_create(
$result
file_get_contents
, false,
// Do error handling!