Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как создать, разместить, зарегистрировать и опубликовать агент Agent 365, который работает на AWS Elastic Beanstalk, используя Agent 365 CLI. Microsoft Entra и Graph предоставляют идентификатор агента, права и шаблон, а AWS Elastic Beanstalk обеспечивает среду выполнения.
Если вы хотите направить ваш агент к вашему коду, который находится за конечной точкой AWS, вам потребуется только следующий шаг: Настройка для размещения вне Azure. Затем выполните все остальные шаги из раздела Начало работы с разработкой Agent 365.
Цели
Узнайте, как использовать Agent 365 и Microsoft 365 в качестве уровня управления и:
- Разверните среду выполнения агентов на AWS Elastic Beanstalk
- Настройте
a365.config.jsonдля размещения вне Azure - Создайте схему агента в Entra ID
- Настройте OAuth2 + наследуемые разрешения
- Зарегистрируйте конечную точку обмена сообщениями Bot Framework, направленную на AWS
- Создайте идентификацию агента + пользователя агента
- (Необязательно) Опубликуйте на платформах приложений Microsoft 365
- Выполните комплексное тестирование взаимодействий
Предварительные условия
Перед началом убедитесь, что выполнены следующие предварительные требования для Azure / Microsoft 365, AWS и локальной среды.
Необходимые условия для Azure/Microsoft 365
Убедитесь, что у вас есть доступ к вашему арендатору Microsoft Entra и установите следующие инструменты для создания учетных записей, шаблонов и регистрации вашего агента.
Арендатор Microsoft Entra с:
- Права или роль для создания приложений и шаблонов агентов (Глобальный администратор или аналогичная роль)
- Участие в программы предварительной версии Frontier для раннего доступа к Microsoft Agent 365.
- Должна быть хотя бы одна лицензия Microsoft 365, выделенная для пользователя агента
Предварительные требования для Amazon Web Services (AWS)
Убедитесь, что перечисленные сервисы и инструменты AWS настроены для развертывания и управления вашей средой Elastic Beanstalk.
- Учетная запись AWS с необходимыми правами доступа
- Доступ к AWS Elastic Beanstalk включен
- AWS CLI установлен и настроен
- Установлен Elastic Beanstalk CLI
Предварительные требования для локальной среды разработки
Установите и настройте следующие инструменты локально для сборки, запуска и развертывания агента.
Редактор кода: используйте Visual Studio Code или Visual Studio
.NET SDK: используйте .NET 8.0 SDK или более поздние версии
AWS Toolkit: установите это расширение из Visual Studio или Visual Studio Code. Выполните вход с помощью ваших учетных данных AWS Identity and Access Management (IAM).
Доступ к API LLM: выберите подходящий сервис в зависимости от конфигурации вашего агента или предпочитаемого поставщика моделей:
- Ключ OpenAI API: получите свой ключ OpenAI API
- Azure OpenAI: Создайте и разверните ресурс Azure OpenAI, чтобы получить ваш API-ключ и конечную точку
Создание и развертывание агента .NET
В следующих инструкциях описано, как создать минимальный агент, который:
- Обрабатывает запрос GET
/ - Принимает действия Bot Framework на POST
/api/messages
Создайте каталог проекта
mkdir aws-a365-agent
cd aws-a365-agent
Инициализируйте проект .NET
Для облегчения работы в этой статье используется уже подготовленный пример. Клонируйте репозиторий Agent365 Samples и перейдите в пример dotnet\semantic-kernel\sample-agent.
Пример Semantic Kernel Sample Agent - C#/.NET включает:
- Минимальный ASP.NET Core Web API
- Обработчик сообщений Bot Framework в
/api/messages -
Конечная точка проверки работоспособности в
/ - Интеграция семантического ядра для возможностей ИИ
Перейдите к dotnet\semantic-kernel\sample-agent и убедитесь, что проект успешно собирается:
dotnet restore
dotnet build
Настройте модель
Следуйте инструкциям в Шаг 2. Настройка LLM, чтобы настроить проект, используя ваш OpenAI API-ключ.
Протестируйте локально (необязательно)
Перед развертыванием в AWS протестируйте агент локально:
# Run the application dotnet runПротестируйте конечные точки в отдельном терминале:
# Test agent endpoint locally curl http://localhost:3978Нажмите
Ctrl+C, чтобы остановить локальный сервер.
Сборка и развертывание
Выберите предпочитаемый вариант для сборки и развертывания этого демонстрационного приложения:
- Вариант А: сборка и развертывание из Visual Studio
- Вариант B: сборка и развертывание в AWS Elastic Beanstalk с помощью CLI
Вариант А: сборка и развертывание из Visual Studio
Используйте AWS Toolkit для Visual Studio, чтобы опубликовать приложение в Elastic Beanstalk с помощью пошагового мастера.
В Обозревателе решений щелкните правой кнопкой мыши на проекте.
Выберите Опубликовать в AWS Elastic Beanstalk.
Следуйте мастеру развертывания Beanstalk:
- Выберите профиль учетных данных AWS.
- Выберите регион (например,
us-east-1). - Выберите платформу (
.NET Core on Linux). - Задайте настройки среды.
Выберите Развернуть.
Мастер создает, упаковывает и развертывает ваше приложение на AWS.
Вариант B: сборка и развертывание в AWS Elastic Beanstalk с помощью CLI
Используйте Elastic Beanstalk CLI для упаковки и развертывания .NET-агента в 64-разрядной среде Amazon Linux 2. Убедитесь, что AWS CLI и EB CLI настроены. Приложение привязывается к переменной среды PORT, установленной Beanstalk.
Соберите и опубликуйте .NET-приложение:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Создайте файл Procfile со следующим содержимым.
web: dotnet ./SemanticKernelSampleAgent.dllИнициализируйте Elastic Beanstalk для .NET. Вам предлагается выбрать регион и платформу:
eb initВыберите
-
Платформа:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Регион: ваш предпочтительный регион AWS (например:
us-east-1)
-
Платформа:
Создайте пакет развертывания и разверните его:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployЭта команда:
- Создает приложение в Elastic Beanstalk.
- Создает среду с балансировщиком нагрузки.
- Развертывает ваше приложение.
- Подготавливает к работе необходимые ресурсы AWS.
После завершения получите конечную точку Elastic Beanstalk:
eb statusЗапишите свою конечную точку. Должно отобразиться примерно следующее:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comЭта конечная точка является
messagingEndpoint, которая используется CLI Agent 365 Dev Tools.
Примечание
Для рабочих сред настройте HTTPS, добавив SSL/TLS-сертификат в Elastic Beanstalk. Bot Framework требует HTTPS для рабочих конечных точек.
Настройка для размещения вне Azure
Создайте a365.config.json вручную в папке проекта Elastic Beanstalk:
Важно
Для размещения вне Azure установите значение messagingEndpoint на URL-адрес Elastic Beanstalk с путем /api/messages.
Файл a365.config.json должен выглядеть примерно так:
{
"tenantId": "YOUR_TENANT_ID",
"environment": "prod",
"messagingEndpoint": "http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/api/messages",
"agentIdentityDisplayName": "MyAwsAgent Identity",
"agentBlueprintDisplayName": "MyAwsAgent Blueprint",
"agentUserDisplayName": "MyAwsAgent User",
"agentUserPrincipalName": "myawsagent@testTenant.onmicrosoft.com",
"agentUserUsageLocation": "US",
"managerEmail": "myManager@testTenant.onmicrosoft.com",
"deploymentProjectPath": ".",
"agentDescription": "AWS-hosted Agent 365 Agent"
}
Следующая таблица обобщает важные конфигурационные поля и их назначение.
| Поле | Значение |
|---|---|
messagingEndpoint |
URL-адрес вашей среды Elastic Beanstalk + /api/messages |
deploymentProjectPath |
Где происходит присвоение .env |
Соберите агент Agent 365
После того как код вашего агента будет работать с конечной точкой AWS, выполните оставшиеся шаги из раздела Начало разработки Agent 365, чтобы настроить агент Agent 365.
Комплексная проверка агента
Используйте эти проверки, чтобы убедиться, что ваш агент, размещенный на AWS, доступен, получает действия Bot Framework и правильно реагирует на всех поверхностях Agent 365.
Проверьте возможность подключения Elastic Beanstalk
Выполните GET-запрос к вашей конечной точке Elastic Beanstalk.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Запрос должен вернуть следующее сообщение:
AWS Agent is running.
Проверьте журналы Elastic Beanstalk на наличие входящих сообщений Bot Framework
Используйте ведение журнала Elastic Beanstalk, чтобы убедиться, что ваш агент получает действия Bot Framework и корректно отвечает.
eb logs
Или выполнять потоковую передачу журналов в реальном времени:
eb logs --stream
Когда сообщение достигает вашего агента, вы видите:
POST 200 /api/messages
Received activity: { ... }
Тестирование агента с поверхностей Agent 365
В зависимости от вашей среды, вы можете протестировать свой агент с разных поверхностей:
- Agents Playground
- Teams (если опубликован)
- Agent Shell
- Федеративные поверхности
Вы можете отправлять сообщения и проверять журналы Elastic Beanstalk. Узнайте, как тестировать агенты с помощью Microsoft Agent 365 SDK и проверить функциональность вашего агента с помощью инструмента тестирования Agents Playground.
Рабочий процесс разработчика
После завершения настройки следуйте этому рабочему процессу для итеративной разработки.
Разрабатывайте и тестируйте локально
Используйте режим отслеживания для быстрой разработки с автоматической перезагрузкой:
# Automatically rebuild and restart on file changes
dotnet watch run
Вносите изменения в код, сохраняйте и тестируйте локально перед развертыванием.
Соберите и повторно разверните на AWS Elastic Beanstalk
Когда вы готовы развернуть изменения:
# Clean previous builds (optional but recommended)
dotnet clean
# Publish optimized release build
dotnet publish -c Release -o ./publish --runtime linux-x64
# Create deployment package
cd publish
zip -r ../deploy.zip .
cd ..
# Deploy to AWS
eb deploy
Тестирование и отслеживание
Тестируйте с помощью поверхностей Agent 365 и отслеживайте журналы AWS Elastic Beanstalk:
# Stream logs in real-time
eb logs --stream
Вам не нужно заново создавать идентификатор, шаблон, конечную точку бота или права доступа.
Устранение неполадок
Используйте этот раздел для диагностики и устранения распространенных проблем при развертывании и работе агента Agent 365 на AWS Elastic Beanstalk. Он охватывает подключение и проверки работоспособности. Также рассматриваются проблемы с привязкой портов, ошибками сборки и лицензированием.
Совет
Руководство по устранению неполадок Agent 365 содержит общие рекомендации по устранению неполадок, лучшие практики и ссылки на материалы по устранению неполадок для каждого этапа жизненного цикла разработки Agent 365.
Конечная точка обмена сообщениями не получает запросы
Проверьте следующие сведения:
- Ваша конечная точка именно такая:
http://<your-app>.elasticbeanstalk.com/api/messages - Ваша среда Elastic Beanstalk находится в работоспособном состоянии. Выполните проверку с помощью
eb health. - Ваша группа безопасности разрешает входящий HTTP- или HTTPS-трафик.
- Нет правил брандмауэра или ограничений VPC.
Проблемы с работоспособностью приложения
Проверьте работоспособность среды:
eb health --refresh
Просмотрите подробные журналы:
eb logs
Проблемы с привязкой портов
Убедитесь, что ваше приложение прослушивает порт, указанный переменной среды PORT. Elastic Beanstalk автоматически устанавливает это значение.
Проблемы сборки или запуска .NET
Проверьте наличие ошибок сборки, используя следующие команды:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Проверьте версию .NET:
dotnet --version
dotnet --list-sdks
Проверьте наличие проблем с пакетами:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Сбой при назначении лицензии
Назначьте действительную лицензию Microsoft 365 вручную или используйте путь для нелицензированных пользователей, если это поддерживается системой.