Azure Table 存储 PHP 错误

Azure Table Storage PHP Error

这是我的PHP代码

<?php
// Load Azure Drivers
require_once '../vendor/autoload.php';

use WindowsAzure\Common\ServicesBuilder;
use MicrosoftAzure\Storage\Common\ServiceException;
use MicrosoftAzure\Storage\Table\Models\QueryEntitiesOptions;


// Connection String
$connectionString = 'DefaultEndpointsProtocol=https;AccountName=<account_name>;AccountKey=<account_key>==';

// Create table REST proxy.
$tableRestProxy = ServicesBuilder::getInstance()->createTableService($connectionString);


$user_input = "Username eq '<user>'";

try {
    $result = $tableRestProxy->queryEntities("<table>", $user_input);
}
catch(ServiceException $e){
    echo "<h1>Error querying, please contact Admin.</h1>";
    die();
}

$entities = $result->getEntities();
foreach($entities as $entity){
    echo $entity;
}
?>

我已经删除了所有连接和 table 信息。但是当我使用演示代码时一切正常。但我想检索整行。当我执行这个时,我得到这个错误

Catchable fatal error: Object of class MicrosoftAzure\Storage\Table\Models\Entity could not be converted to string

有什么想法吗?

一般来说,您正在尝试 echo 引发此问题的对象。由于循环语句中的 $entity 是一个对象,因此您不能直接 echo 它。

数组中的queryEntities() returns QueryEntitiesResult object, and then you call getEntities() function which returns Entity个对象。

因此您可以使用函数 $entity->getXXXX()$entity->getPropertyValue({key}) 来获取 table 存储实体中的属性。

可以参考a simple sample一目了然