Step By Step
1、SDK安裝:composer.json
{
"require": {
"aliyunmq/mq-http-sdk": ">=1.0.1"
}
}
2、install requires
composer install
3、認證參數擷取
參考: 阿裡雲Rocket MQ Java Http SDK發送消費消息示例Demo 參數擷取部分
4、Send Code Sample
<?php
require "vendor/autoload.php";
use MQ\Model\TopicMessage;
use MQ\MQClient;
class ProducerTest
{
private $client;
private $producer;
public function __construct()
{
$this->client = new MQClient(
// 設定HTTP接入域名(此處以公共雲生産環境為例)
"http://1848217816617278.mqrest.cn-qingdao.aliyuncs.com",
// AccessKey 阿裡雲身份驗證,在阿裡雲伺服器管理控制台建立
"LTAIOZ**********",
// SecretKey 阿裡雲身份驗證,在阿裡雲伺服器管理控制台建立
"v7CjUJCMk7j9aK****************"
);
// 所屬的 Topic
$topic = "******";
// Topic所屬執行個體ID,預設執行個體為空NULL
$instanceId = "MQ_INST_18482178********";
$this->producer = $this->client->getProducer($instanceId, $topic);
}
public function run()
{
try
{
for ($i=1; $i<=4; $i++)
{
$publishMessage = new TopicMessage(
"this is test message"// 消息内容
);
// 設定屬性
$publishMessage->putProperty("a", $i);
// 設定消息KEY
$publishMessage->setMessageKey("MessageKey");
if ($i % 2 == 0) {
// 定時消息, 定時時間為10s後
$publishMessage->setStartDeliverTime(time() * 1000 + 10 * 1000);
}
$result = $this->producer->publishMessage($publishMessage);
print "Send mq message success. msgId is:" . $result->getMessageId() . ", bodyMD5 is:" . $result->getMessageBodyMD5() . "\r\n";
// 設定換行
echo "<br>";
}
} catch (\Exception $e) {
print_r($e->getMessage() . "\n");
}
}
}
$instance = new ProducerTest();
$instance->run();
?>
5、測試效果
