本文介绍使用PHP SDK将SMQ消息发布至主题时的准备工作及示例代码。
准备工作
CreateTopicAndPushMessageToQueue.php的代码最上方有一些设置,使用SDK时需按照注释进行设置。
// require替换为composer下载的vendor下的autoload文件。 require_once __DIR__ . '/vendor/autoload.php'; //代码里需要用的一些PHP class。 use AliyunMNS\Client; use AliyunMNS\Exception\MessageNotExistException; use AliyunMNS\Model\SubscriptionAttributes; use AliyunMNS\Requests\PublishMessageRequest; use AliyunMNS\Requests\CreateTopicRequest; use AliyunMNS\Requests\CreateQueueRequest; use AliyunMNS\Exception\MnsException;
发布Base64编码消息
对消息体是否进行Base64编码的使用建议,请参见消息体编码选择指南。
完整示例代码下载,请参见CreateTopicAndPushMessageToQueue。
// publish base64 encoded message
$messageBody = "test";
$request = new PublishBase64MessageRequest($messageBody);
try {
$res = $topic->publishMessage($request);
echo "Base64MessagePublished! \n";
} catch (MnsException $e) {
// 可能因为网络错误等原因导致PublishMessage失败,这里CatchException并做对应处理。
echo "PublishBase64Message Failed: " . $e;
return;
}
文档内容是否对您有帮助?