gpt4 book ai didi

Azure 连接尝试失败

转载 作者:行者123 更新时间:2023-12-03 01:35:43 26 4
gpt4 key购买 nike

我使用以下代码进行连接。我可以正常连接到其他 Azure 资源。

但对于一种资源,我收到以下错误:URL 和 key 正确。

{“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应”}

代码如下

 _searchClient = new SearchServiceClient(searchServiceName, new 
SearchCredentials(apiKey));
_httpClient.DefaultRequestHeaders.Add("api-key", apiKey);
_searchServiceEndpoint = String.Format("https://{0}.{1}",
searchServiceName, _searchClient.SearchDnsSuffix);

bool result = RunAsync().GetAwaiter().GetResult();

有什么想法吗?提前谢谢?我该如何解决这个问题?

最佳答案

  1. 我将展示如何在 C# 中完成此操作
  2. 您将需要一个appsettings.json
  3. 您将需要在program.cs 文件中使用此代码
  4. 示例中还有许多来自 document 的其他文件您可能需要为您的用例使用、学习和编辑

在使用 C# 和 Azure 时,请始终首先了解构建解决方案的文件的独特之处。这就是为什么我们在学习解决方案时从文档中构建示例的原因。接下来,我们必须研究不同的代码块,这些代码块在执行时会为整个解决方案提供一项特性或功能。

appsettings.json

{
"SearchServiceName": "[Put your search service name here]",
"SearchIndexName": "hotels",
"SearchServiceAdminApiKey": "[Put your primary or secondary Admin API key here]",
"SearchServiceQueryApiKey": "[Put your primary or secondary Query API key here]"
}

Program.cs

   namespace AzureSearch.SDKHowTo
{
using System;
using System.Linq;
using System.Threading;
using Microsoft.Azure.Search;
using Microsoft.Azure.Search.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Spatial;
// This sample shows how to delete, create, upload documents and query an index
static void Main(string[] args)
{
IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
IConfigurationRoot configuration = builder.Build();

SearchServiceClient serviceClient = CreateSearchServiceClient(configuration);

string indexName = configuration["SearchIndexName"];

Console.WriteLine("{0}", "Deleting index...\n");
DeleteIndexIfExists(indexName, serviceClient);

Console.WriteLine("{0}", "Creating index...\n");
CreateIndex(indexName, serviceClient);

ISearchIndexClient indexClient = serviceClient.Indexes.GetClient(indexName);

Console.WriteLine("{0}", "Uploading documents...\n");
UploadDocuments(indexClient);

ISearchIndexClient indexClientForQueries = CreateSearchIndexClient(indexName, configuration);

RunQueries(indexClientForQueries);

Console.WriteLine("{0}", "Complete. Press any key to end application...\n");
Console.ReadKey();
}
private static SearchServiceClient CreateSearchServiceClient(IConfigurationRoot configuration)
{
string searchServiceName = configuration["SearchServiceName"];
string adminApiKey = configuration["SearchServiceAdminApiKey"];

SearchServiceClient serviceClient = new SearchServiceClient(searchServiceName, new SearchCredentials(adminApiKey));
return serviceClient;
}

private static SearchIndexClient CreateSearchIndexClient(string indexName, IConfigurationRoot configuration)
{
string searchServiceName = configuration["SearchServiceName"];
string queryApiKey = configuration["SearchServiceQueryApiKey"];

SearchIndexClient indexClient = new SearchIndexClient(searchServiceName, indexName, new SearchCredentials(queryApiKey));
return indexClient;
}

private static void DeleteIndexIfExists(string indexName, SearchServiceClient serviceClient)
{
if (serviceClient.Indexes.Exists(indexName))
{
serviceClient.Indexes.Delete(indexName);
}
}

private static void CreateIndex(string indexName, SearchServiceClient serviceClient)
{
var definition = new Index()
{
Name = indexName,
Fields = FieldBuilder.BuildForType<Hotel>()
};

serviceClient.Indexes.Create(definition);
}}

要学习的 Azure 概念

  • 我们如何以及为何创建 Azure 客户端
  • 我们为什么使用 appsettings.json
  • Azure 搜索解决方案的一些示例文件结构是什么
  • 您想使用什么编码语言来构建该解决方案
  • 你想使用azure sdk
  • 如何查找和创建 API key

要学习的 C# 概念

  • 什么是接口(interface)以及如何使用它
  • 如何将文件结构中的一个文件导入到另一个文件
  • 主要功能如何工作
  • 如何在函数中调用变量
  • 如何用函数调用函数
  • 如何编写服务器端代码与客户端代码
  • 如何将 C# 代码部署到 Azure

  • 您使用的是哪个版本的 c# 什么是 asp.net,您将使用哪个版本

  • 什么是 asp.net core,您将使用什么版本

正如你所见,azure 和 c# 的学习曲线很高。

幸运的是,您有堆栈溢出和文档来研究上述所有问题以及更多:)

对于如何排除故障...我所做的是研究文档示例中的每个代码块并在本地运行所有代码。然后我一次测试每个代码块。你总是测试代码块中的数据流动。因此,您可以通过创建测试变量来控制台记录代码块的结果并将该变量打印到控制台。

由于每个代码块代表一个特性或功能,因此每个测试将输出该特性或功能的通过或失败交付。因此,您可以设计功能、实现该设计并为新功能创建测试。

关于Azure 连接尝试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249676/

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