【发布时间】:2016-04-27 19:51:10
【问题描述】:
我正在尝试使用 php 与 documentDB Azure 连接,但无法正常工作。现在我正在使用code given here,但即使这样也不起作用。我可以连接到 documentDB 帐户,但问题是我无法在我的帐户中选择数据库。这是我正在使用的 selectDB 函数
public function selectDB($db_name)
{
$rid_db = false;
$object = json_decode($this->listDatabases());
$db_list = $object->Databases;
foreach ($db_list as $value)
{
if ($value->id === $db_name)
{
$rid_db = $value->_rid;
}
}
if (!$rid_db)
{
$object = json_decode($this->createDatabase('{"id":"' . $db_name . '"}'));
$rid_db = $object->_rid;
}
if ($rid_db)
{
return new DocumentDBDatabase($this, $rid_db);
}
else
{
return false;
}
}
我尝试调试它,发现listDatabases()函数不起作用(没有选择帐户中的数据库)这是listDatabase()函数:
public function listDatabases()
{
$headers = $this->getAuthHeaders('GET', 'dbs', '');
$headers[] = 'Content-Length:0';
$options = array(
CURLOPT_HTTPHEADER => $headers,
CURLOPT_HTTPGET => true,
);
return $this->request("/dbs", $options);
}
有人可以帮我解决这个问题吗?
【问题讨论】:
-
listDatabases 请求是否返回 200?响应 JSON 是什么样的?它应该看起来像这样:msdn.microsoft.com/en-us/library/azure/mt489065.aspx
-
当我在本地机器上运行此代码时,它正在连接到数据库,但是当我将此代码推送到 azure 上的本地 git 存储库时,它不起作用。你知道为什么吗?
标签: php azure azure-cosmosdb