PHP code example of magetips / windowsazure

1. Go to this page and download the library: Download magetips/windowsazure library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

magetips / windowsazure example snippets


$connectionString = 'Endpoint=https://<namespace>.servicebus.windows.net/;'
    . 'SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<key>';

$serviceBus = \MageTips\WindowsAzure\Common\ServicesBuilder::getInstance()
    ->createServiceBusService($connectionString);

use MageTips\WindowsAzure\ServiceBus\Models\TopicInfo;
use MageTips\WindowsAzure\ServiceBus\Models\SubscriptionInfo;
use MageTips\WindowsAzure\ServiceBus\Models\RuleInfo;

$serviceBus->createTopic(new TopicInfo('orders-export'));
$serviceBus->createSubscription('orders-export', new SubscriptionInfo('defaultsub'));
$serviceBus->createRule('orders-export', 'defaultsub', new RuleInfo('$Default'));

use MageTips\WindowsAzure\ServiceBus\Models\BrokeredMessage;

$message = new BrokeredMessage(json_encode(['orderId' => 1001]));
$message->setContentType('application/json');
$message->setProperty('EventType', 'order.exported'); // custom property, arbitrary key/value

$serviceBus->sendTopicMessage('orders-export', $message);

use MageTips\WindowsAzure\ServiceBus\Models\ReceiveMessageOptions;
use MageTips\WindowsAzure\ServiceBus\Models\ReceiveMode;

$options = new ReceiveMessageOptions();
$options->setReceiveMode(ReceiveMode::PEEK_LOCK);

$message = $serviceBus->receiveSubscriptionMessage('orders-export', 'defaultsub', $options);

if ($message === null) {
    // The subscription had no messages available.
}

$body = (string) $message->getBody();
$deliveryCount = $message->getDeliveryCount(); // number of times Azure has (re)delivered this message

// Success: remove the message from the subscription for good.
$serviceBus->deleteMessage($message);

// Transient failure: release the lock immediately so the message is redeliverable.
// Azure automatically dead-letters it once the subscription's MaxDeliveryCount is exceeded.
$serviceBus->unlockMessage($message);

$serviceBus->renewLock($message); // call again before $message->getLockedUntilUtc() is reached

$deadLetter = $serviceBus->receiveSubscriptionMessage(
    'orders-export',
    'defaultsub/$DeadLetterQueue',
    $options
);

$topics = $serviceBus->listTopics()->getTopicInfos();
$subscriptions = $serviceBus->listSubscriptions('orders-export')->getSubscriptionInfos();