gpt4 book ai didi

azure - 部署 DocumentDb 帐户后无法直接连接到 DocumentDb

转载 作者:行者123 更新时间:2023-12-03 04:31:24 27 4
gpt4 key购买 nike

我有一个 ARM 模板,用于将 DocumentDB 以及其他 Azure 资源部署到资源组。我希望我的 ARM 模板设置一个使用 DocumentDB 作为输出的流分析作业。为此,ARM 模板创建的 DocumentDB 帐户还需要有一个数据库和一个集合设置。我无法找到从 ARM 模板执行此操作的方法,因此我编写了一个 Powershell CmdLet 来为我创建数据库和集合。

流分析作业无法由第一个 ARM 模板创建,因为它依赖于首先创建的数据库和集合。相反,我必须将部署分为两个 ARM 模板,第一个设置 DocDb 帐户,第二个设置 SA 作业。

问题是,在通过 ARM 模板部署帐户后,我无法直接在 DocDB 帐户中创建数据库。当我尝试使用从 ARM 模板部署返回的 DocDbEndpoint 和 AuthKey 执行 CreateDatabaseAsync 方法时,出现以下消息的异常:“无法解析远程名称:'test.documents.azure.com'”。

使用 ARM 模板部署 Azure 资源后,在以编程方式访问它们之前是否存在任何计时问题?对于以这种方式创建的其他 Azure 资源来说,这似乎不是问题。

非常感谢有关此问题的任何帮助,以及将 ARM 模板与 DocumentDB 和流分析作业配合使用的良好实践。

更新2016-03-23

用于设置与 DocumentDB 的连接以创建数据库的代码。

Uri endpointUri = new Uri(documentDbEndPoint);
DocumentClient client = new DocumentClient(endpointUri, authKey);
var db = await client.CreateDatabaseAsync(new Database { Id = databaseId });
return db;

其中 documentDbEndPoint 的形式为:https://name.documents.azure.com:443/ name 是我刚刚通过 ARM 模板部署创建的 DocDB 帐户的名称。

我的库中有代码,我可以从控制台应用程序调用它,也可以通过使用以下命令加载库从 Powershell 脚本调用:

Add-Type -Path <path to library dll file>

无论我使用 powershell 还是控制台应用程序,如果我在使用 ARM 模板创建 DocDB 帐户后尝试创建数据库,都会遇到相同的错误。如果我等待一个小时左右,powershell 脚本和控制台应用程序都会工作,并且可以在帐户中创建数据库。

似乎存在某种计时问题,以便 Azure 为新创建的 DocDB 帐户设置 DNS 记录,以便可以使用 DocDB API 访问它。

更新2 2016-03-23只是尝试直接从门户创建 DocDB 帐户,这样做而不是从 ARM 模板创建它,这样就可以立即使用我的 powershell 脚本和控制台应用程序在帐户中创建数据库。

最佳答案

此计时问题现已修复,您现在应该可以从 ARM 模板使用它。

关于azure - 部署 DocumentDb 帐户后无法直接连接到 DocumentDb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159612/

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