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一目了然
这是我的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一目了然