gpt4 book ai didi

php - 可以使用 PHP 与 Azure CosmosDB 连接吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:48:51 24 4
gpt4 key购买 nike

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

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

如果是这样,是否有我需要的 API 或特定连接脚本?我愿意接受建议,但直接回答会有很大帮助,因为我目前正在使用 Bluehost 的共享主机,所以我只能使用典型的 LAMP 配置。

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

谢谢!

最佳答案

如果要将 Azure Cosmos DB 用作 MongoDB,可以使用其 MongoDB Api 和“官方”MongoDB 库。

获取连接字符串

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

从那里:

  1. 在 Internet 浏览器中登录 Azure 门户。
  2. 在 Azure Cosmos DB 边栏选项卡中,选择 MongoDB 帐户的 API。
  3. 在帐户边栏选项卡的左侧 Pane 中,点击“连接字符串”。
  4. “连接字符串”边栏选项卡将打开。它包含使用 MongoDB 驱动程序连接到帐户所需的所有信息,包括预构建的连接字符串。

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

mongodb://username:password@host:port/[database]?ssl=true

该字符串的值可在前面显示的“连接字符串”边栏选项卡中找到:

  • 用户名(必填):Azure Cosmos DB 帐户名。
  • 密码(必填):Azure Cosmos DB 帐户密码。
  • 主机(必需):Azure Cosmos DB 帐户的 FQDN。
  • 端口(必填):10255。
  • 数据库(可选):连接使用的数据库。如果未提供数据库,则默认数据库为“test”。
  • ssl=true(必需)

例如,考虑“连接字符串”边栏选项卡中显示的帐户。有效的连接字符串是:

mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bfeccddbc88282ffdcd0d1cbd0ccd08e8d8c91dbd0dccad2dad1cbcc91dec5cacdda91dcd0d2" rel="noreferrer noopener nofollow">[email protected]</a>:10255/mydatabase?ssl=true

访问数据

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

通过运行安装库:

$ composer require mongodb/mongodb

举个例子,这是将文档插入演示数据库的 beers 集合的方法:

<?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()}'";
?>

关于php - 可以使用 PHP 与 Azure CosmosDB 连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48671820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com