Как получить информацию обо всех LexChatBots под сервером с использованием AWSSDKCore.dll и AWSSDKLex.dll в C # - PullRequest
0 голосов
/ 26 июня 2018

Недавно, работая с Lex в C #, я ссылался на AWSCore.dll и AWSLex.dll и все еще пытаюсь получить метод, который предоставляет все доступные Lexchatbots, которые я создал на сервере Aamazon.

  var amazonPostRequest = new Amazon.Lex.Model.PostContentRequest();

  var amazonPostResponse = new Amazon.Lex.Model.PostContentResponse();

использовал оба метода для получения всей остальной информации. Методы в запросе имени и псевдонима бота предназначены для настройки, и в ответ нет способа получить доступные Lexchatbots на сервере.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

После долгих исследований я нашел ответ на свою проблему, он может помочь другим.

Сначала нам нужно добавить AWSSDK.LexModelBuildingService через Nuget. Это добавит ссылку на DLL.

От этого все методы уже выставлены. Нам нужно создать методы GetBotsRequest и GetBotsResponse.

var botRequest = new Amazon.LexModelBuildingService.Model.GetBotsRequest();
var botResponse = new Amazon.LexModelBuildingService.Model.GetBotsResponse();

Тогда нам нужно позвонить клиенту службы построения моделей lex

var amazonmodel = new AmazonLexModelBuildingServiceClient("YourAccesKeyId","YourSecretAccessKey",Amazon.RegionEndpoint.USEast1);

После этого мы можем получить ответ встроенного метода GetBots ()

botResponse = amazonmodel.GetBots(botRequest);

Получим список метаданных ботов

List<Amazon.LexModelBuildingService.Model.BotMetadata> bots = botResponse.Bots;

Каждая информация о каждом созданном боте будет доступна в массиве списка ботов. Есть почти все методы получения деталей из конфигурации Lex в LexModelBuildingService dll

Примечание:

  1. В IAM (Identity Access Management) в AWS нам нужно предоставить Access доступ к компонентам Lex в разделе «Политика». AWSLexFullAccess или же atleast arn: aws: lex: region: account-id: bot: * доступ в политике
0 голосов
/ 26 июня 2018

Я не верю, что Lex SDK поддерживает этот вызов напрямую.

Используйте API AWS Lex REST для получения списка ботов:

GET https://<your aws region endpoint>/bots/

https://docs.aws.amazon.com/lex/latest/dg/API_GetBots.html

...