首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你能使用PHP与Azure CosmosDB连接吗?

你能使用PHP与Azure CosmosDB连接吗?
EN

Stack Overflow用户
提问于 2018-02-08 03:28:56
回答 3查看 4.2K关注 0票数 6

我目前正在构建一个webapp应用程序,我需要使用CosmosDB。我一直在尝试寻找PHP的连接脚本,但是我似乎找不到一个直接的答案。

所以我的问题是,我可以使用PHP来连接Azure Cosmos DB吗?我有一个来自Unity的脚本,可以将数据解析为JSON文件,但是我可以使用CosmosDB连接到Azure吗?访问数据的最佳方法是什么?

如果有,有没有我需要的API或某个连接脚本?我愿意寻求建议,但直接回答会很有帮助,因为我目前使用的是Bluehost的共享主机,所以我坚持使用典型的LAMP配置。

顺便说一句,如果你觉得这篇文章很熟悉,那是因为我半小时前也在Reddit上发表了这篇文章。

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2018-10-24 00:29:52

如果你想使用Azure Cosmos DB作为MongoDB,你可以使用它的MongoDB Api和“官方”MongoDB库。

获取连接字符串

要了解连接字符串,可以按照此处的文档进行操作:https://docs.microsoft.com/es-es/azure/cosmos-db/connect-mongodb-account#GetCustomConnection

从那里开始:

  1. 在互联网浏览器中,登录到Azure门户。
  2. 在Azure Cosmos DB刀片中,选择MongoDB帐户的API。
  3. 在帐户刀片的左窗格中,单击连接字符串。
  4. 连接字符串刀片打开。它包含使用MongoDB驱动程序连接到帐户所需的所有信息,包括预先构建的连接字符串。

Azure Cosmos DB支持标准的MongoDB连接字符串URI格式,有几个特定的要求: Azure Cosmos DB帐户需要通过SSL进行身份验证和安全通信。因此,连接字符串的格式为:

代码语言:javascript
运行
复制
mongodb://username:password@host:port/[database]?ssl=true

此字符串的值在前面所示的连接字符串刀片中可用:

Azure Cosmos DB用户名(必需):Azure Cosmos DB帐户name.

  • Password (必需):Azure Cosmos DB帐户password.

  • Host (必需):Azure Cosmos DB account.

  • Port的

  • (必需):10255.

  • Database (可选):连接使用的数据库。如果未提供数据库,则缺省数据库为"test."

  • ssl=true (必需)

例如,考虑连接字符串刀片中显示的帐户。有效的连接字符串为:

代码语言:javascript
运行
复制
mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true

访问数据

对于当前在PHP中的使用,您可以使用http://php.net/manual/en/mongodb.tutorial.library.php

通过运行以下命令安装库:

代码语言:javascript
运行
复制
$ composer require mongodb/mongodb

例如,以下是如何将文档插入到demo数据库的beers集合中的方法:

代码语言:javascript
运行
复制
<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>
票数 1
EN

Stack Overflow用户

发布于 2018-02-08 03:37:39

克隆https://github.com/Azure-Samples/azure-cosmos-db-graph-php-getting-started.git,然后输入connect.php填写您的凭据

代码语言:javascript
运行
复制
$db = new Connection([
    'host' => '<your_server_address>.graphs.azure.com',
    'username' => '/dbs/<db>/colls/<coll>',
    'password' => 'your_primary_key'
    ,'port' => '443'
    // Required parameter
    ,'ssl' => TRUE
]);
票数 0
EN

Stack Overflow用户

发布于 2018-02-08 14:15:01

不幸的是,Azure CosmosDB ( PHP )目前还没有官方的PHP。

您可以使用REST APIAzureDocumentDB-PHP等社区驱动程序与CosmosDB进行交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48671820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档