主题使用示例

本文介绍使用PHP SDK将SMQ消息发布至主题时的准备工作及示例代码。

准备工作

  • 已安装SDK

  • 已配置访问域名及凭证

  • 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;
}