Поддержка Azure службы поиска в облаке правительственного сообщества (g cc) - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь проиндексировать некоторые данные для службы поиска и извлечь их с помощью поисковых запросов, находящихся в облаке правительства. Служба поиска Url оканчивается на (.search. azure .us). Это отличается от обычной azure поисковой службы, где URL заканчивается (.search. windows. net).

Наша команда использует Azure. Net SDK версии 5, и я вижу, что при создании SearchIndexClient с именем службы конструктор проверяет URL-адрес службы и всегда добавляет .search. windows. net в конце и потерпит неудачу для g cc URL-адресов, подобных * .search. azure .us.

Я искал в Azure клиентской библиотеке поиска, и SearchIndexClient всегда проверял с .search.wndows. net суффикс

private static void ValidateSearchServiceAndIndexNames(string searchServiceName, string indexName)
{
    Throw.IfNullOrEmptySearchServiceName(searchServiceName);
    SearchIndexClient.ThrowIfNullOrEmptyIndexName(indexName, nameof (indexName));
    if (TypeConversion.TryParseUri(string.Format("https://{0}.search.windows.net/indexes('{1}')/", 
        (object) searchServiceName, (object) indexName)) == (Uri) null)
        throw new ArgumentException(string.Format("Either the search service name '{0}' or the index name 
            '{1}' is invalid. Names must contain only characters that are valid in a URL.", (object) 
            searchServiceName, (object) indexName), nameof (searchServiceName));
} 

Так есть ли обновленная версия sdk, где клиент поискового индекса может поддерживать URL-адреса типа ".search. azure .us"? или какой-либо другой рекомендуемый способ для URL-адресов облака правительства?

Это так же просто, как правильно задать свойство SearchDnsSuffix для searchIndexClient с соответствующим суффиксом?

1 Ответ

0 голосов
/ 24 марта 2020

Не могли бы вы рассказать, как вы создаете экземпляр своего SearchIndexClient? Я догадываюсь, что вы включили суффикс домена в службу поиска или индексное имя, что приведет к появлению ошибки, которую вы видите. Попробуйте установить SearchDnsSuffix в «search. azure .us».

Справочные документы: https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.search.searchindexclient.searchdnssuffix?view=azure-dotnet#Microsoft_Azure_Search_SearchIndexClient_SearchDnsSuffix

...