【发布时间】:2018-09-03 21:00:35
【问题描述】:
我正在尝试使用 PHP 连接到 Microsoft Azure 中的服务总线队列,使用 Azure 指南中的以下代码:
<?php
require_once 'vendor/autoload.php';
use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\CreateMessageOptions;
$connectionString = "DefaultEndpointsProtocol=https;AccountName="name";AccountKey=key";
// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);
try{
// Create message.
$builder = new ServicesBuilder();
$queueClient->createMessage("cmps297r1", "Hello World!");
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/azure/dd179446.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
?>
但是,当我运行它时,我得到了这个错误:
可捕获的致命错误:传递给 MicrosoftAzure\Storage\Common\Internal\ServiceRestProxy::__construct() 的参数 4 必须是 MicrosoftAzure\Storage\Common\Internal\Serialization\ISerializer 的实例,给定数组,在 /Applications/ 中调用XAMPP/xamppfiles/htdocs/297R/vendor/microsoft/azure-storage/src/Queue/QueueRestProxy.php 在第 110 行并在 /Applications/XAMPP/xamppfiles/htdocs/297R/vendor/microsoft/azure-storage/src/ 中定义第 77 行的 Common/Internal/ServiceRestProxy.php
【问题讨论】:
-
你能发布完整的源代码吗?从您的代码中,我看不到您是否已经创建了队列。请注意,下面的代码属于 Azure 存储队列,而不是服务总线队列。
标签: php azure azureservicebus