Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как создать, разместить, зарегистрировать и опубликовать агент Agent 365, который работает на AWS Elastic Beanstalk, используя Agent 365 CLI. Microsoft Entra и Graph предоставляют идентификатор агента, права и чертеж, а AWS Elastic Beanstalk обеспечивает среду выполнения.
Если вы хотите направить агента на ваш код, расположенный за AWS-конечной точкой, вам нужно выполнить следующий шаг: настроить хостинг вне Azure. Затем следуйте всем остальным шагам от Get Start with Agent 365 development.
Цели
Узнайте, как использовать Agent 365 и Microsoft 365 в качестве управляющей плоскости и:
- Развертывание времени выполнения агентов на AWS Elastic Beanstalk
- Configure
a365.config.jsonfor non-Azure hosting - Создать Agent Blueprint в Entra ID
- Настройте OAuth2 + наследуемые разрешения
- Конечная точка сообщений Register Bot Framework, указывающая на AWS
- Создать идентичность агента + Пользователь агента
- (По желанию) Опубликовать поверхности приложений Microsoft 365
- Взаимодействия тестов от конца до конца
Предпосылки
Перед началом убедитесь, что выполнены следующие требования Azure / Microsoft 365, AWS и локальной среды.
Azure / Microsoft 365 prerequisites
Подтвердите доступ к вашему арендатору Microsoft Entra и установите следующие инструменты для создания идентичностей, чертежей и регистрации вашего агента.
Арендатор Microsoft Entra с:
- Разрешение или роль на создание приложений и чертежей агентов (глобальный администратор или эквивалент)
- Участие в программе предварительного просмотра Frontier для раннего доступа к Microsoft Agent 365.
- По крайней мере одна лицензия Microsoft 365 доступна для пользователя агента
Требования к Amazon Web Services (AWS)
Убедитесь, что следующие сервисы и инструменты AWS настроены для развертывания и управления вашей средой Elastic Beanstalk.
- Аккаунт AWS с соответствующими правами
- Доступ к AWS Elastic Beanstalk включён
- Установка и настройка AWS CLI
- Установка эластичного бобового стебла 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 ).
Доступ к LLM API: Выберите подходящий сервис на основе конфигурации вашего агента или предпочтительного провайдера модели:
- Ключ API OpenAI: получение ключа API OpenAI
- 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 , чтобы настроить проект с помощью Open 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 Beansstem».
Следуйте Beansstem Deployment Wizard:
- Выберите свой профиль 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Эта команда:
- Создаёт прикладной образец эластичного бобового стебля.
- Создаёт среду с балансировщиком нагрузки.
- Развёртывает ваше приложение.
- Необходимые ресурсы AWS.
Когда закончите, получите конечную точку Elastic Beansstem:
eb statusЗапишите свою конечную точку. Должно отобразиться примерно следующее:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comЭта конечная точка используется
messagingEndpointв CLI Agent 365 Dev Tools.
Note
Для производственных сред настройте HTTPS, добавив SSL/TLS-сертификат в Elastic Beanstalk. В Bot Framework требуется HTTPS для производственных конечных точек.
Configure for non-Azure hosting
Создайте a365.config.json его вручную в папке проекта Elastic Beansstem:
Important
Для хостинга вне 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 вашего эластичного бобового стебля + /api/messages |
deploymentProjectPath |
Где .env происходит штамповка |
Агент Build 365
После того как ваш код агента будет работать с AWS-конечной точкой, выполните оставшиеся шаги из раздела «Начать разработку с агентом 365 », чтобы настроить агента Agent 365.
Проверьте агент от конца до конца
Используйте эти проверки, чтобы убедиться, что ваш агент, размещённый на AWS, доступен, получает активности Bot Framework и корректно отвечает на поверхностях Agent 365.
Проверьте подключение эластичного бобового стебля
Отправьте запрос на GET на вашу конечную точку Elastic Beansstem.
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
В зависимости от вашей среды, вы можете протестировать свой агент с разных поверхностей:
- Детская площадка агентов
- Команды (если опубликованы)
- Агент Шелл
- Федеративные поверхности
Вы можете отправлять сообщения и проверять свои логи Elastic Beansstem. Узнайте, как тестировать агентов с помощью 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 и контролируйте логи эластичных бобовых стебель:
# Stream logs in real-time
eb logs --stream
Вам не нужно заново создавать свою личность, чертеж, конечную точку бота или права доступа.
Устранение неполадок
Используйте этот раздел для диагностики и решения распространённых проблем при развертывании и запуске агента Agent 365 на AWS Elastic Beanstalk. Он охватывает подключение и медицинские проверки. Также решается привязка портов, ошибки сборки и проблемы лицензирования.
Tip
Руководство по устранению неполадок Agent 365 содержит рекомендации по решению неполадок на высоком уровне, лучшие практики и ссылки на контент по устранению неполадок для каждой части жизненного цикла разработки Agent 365.
Конечная точка обмена сообщениями не получает запросы
Ознакомьтесь со следующими деталями:
- Ваша конечная точка именно такая:
http://<your-app>.elasticbeanstalk.com/api/messages - Ваша среда с эластичным бобовым стеблем здорова. Используйте чек, используя
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 вручную или используйте нелицензированный пользовательский путь при поддержке пользователя.