azure-resource-lookupпоиск ресурсов Azure по подпискам
microsoft/github-copilot-for-azure
Обнаружение и запросы к Azure-ресурсам по всем подпискам через Resource Graph: VM, storage, orphaned диски, теги. Умная маршрутизация между MCP и ARG.
Установка
npx -y skills add microsoft/github-copilot-for-azure --skill azure-resource-lookup --agent claude-codeAzure Resource Lookup
Вывод, поиск и обнаружение Azure-ресурсов любого типа в подписках и группах ресурсов. Используйте Azure Resource Graph (ARG) для быстрых запросов, когда специализированные MCP-инструменты не охватывают нужный тип ресурса.
Когда использовать этот скилл
Используйте, когда пользователь хочет:
- Перечислить ресурсы любого типа (ВМ, веб-приложения, хранилища, container apps, базы данных и т.д.)
- Показать ресурсы в конкретной подписке или группе ресурсов
- Запросить ресурсы в нескольких подписках или нескольких типов одновременно
- Найти заброшенные ресурсы (несвязанные диски, неиспользуемые NIC, простаивающие IP)
- Обнаружить ресурсы без обязательных тегов или конфигурации
- Получить инвентарь ресурсов нескольких типов
- Найти ресурсы в определённом состоянии (нездоровые, сбой подготовки, остановленные)
- Ответить на «какие у меня ресурсы?» или «покажи мои Azure-ресурсы»
- Перечислить веб-приложения или App Services
⚠️ Важно: для App Service / Web Apps нет специальной MCP-команды списка. Запросы вида «list websites», «list web apps», «list app services» обязательно направляются через этот скилл с использованием Azure Resource Graph.
Краткий справочник
| Свойство | Значение |
|---|---|
| Язык запросов | KQL (подмножество Kusto Query Language) |
| Команда CLI | az graph query -q "<KQL>" -o table |
| Расширение | az extension add --name resource-graph |
| MCP-инструмент | extension_cli_generate с intent для az graph query |
| Лучше всего для | Запросы по нескольким подпискам, заброшенные ресурсы, аудит тегов |
MCP-инструменты
| Инструмент | Назначение | Когда использовать |
|---|---|---|
extension_cli_generate | Генерация команд az graph query | Основной инструмент — генерация ARG-запросов из намерения пользователя |
mcp_azure_mcp_subscription_list | Список доступных подписок | Определить область запроса перед выполнением |
mcp_azure_mcp_group_list | Список групп ресурсов | Сузить область запроса |
Рабочий процесс
Шаг 1: Проверить наличие специализированного MCP-инструмента
| Тип ресурса | MCP-инструмент | Покрытие |
|---|---|---|
| Виртуальные машины | compute | ✅ Полное — список, детали, размеры |
| Учётные записи хранилища | storage | ✅ Полное — аккаунты, блобы, таблицы |
| Cosmos DB | cosmos | ✅ Полное — аккаунты, базы данных, запросы |
| Key Vault | keyvault | ⚠️ Частичное — только секреты/ключи, нет списка хранилищ |
| SQL Databases | sql | ⚠️ Частичное — требуется имя группы ресурсов |
| Container Registries | acr | ✅ Полное — список реестров |
| Kubernetes (AKS) | aks | ✅ Полное — кластеры, пулы узлов |
| App Service / Web Apps | appservice | ❌ Нет команды списка — использовать ARG |
| Container Apps | — | ❌ Нет MCP-инструмента — использовать ARG |
| Event Hubs | eventhubs | ✅ Полное — пространства имён, хабы |
| Service Bus | servicebus | ✅ Полное — очереди, топики |
Если специализированный инструмент с полным покрытием доступен, используйте его. Иначе — шаг 2.
Шаг 2: Сгенерировать ARG-запрос
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <запрос пользователя>"
cli-type: "az"
Шаг 3: Выполнить и отформатировать результаты
az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table
Используйте --first N для ограничения результатов. Используйте --subscriptions для уточнения области.
Обработка ошибок
| Ошибка | Причина | Решение |
|---|---|---|
resource-graph extension not found | Расширение не установлено | az extension add --name resource-graph |
AuthorizationFailed | Нет доступа на чтение к подписке | Проверьте RBAC — нужна роль Reader |
BadRequest на запрос | Некорректный синтаксис KQL | Проверьте имена таблиц/столбцов; используйте =~ для регистронезависимого сравнения типов |
| Пустые результаты | Нет совпадающих ресурсов или неверная область | Проверьте флаг --subscriptions; уточните написание типа ресурса |
Ограничения
- ✅ Всегда используйте
=~для регистронезависимого сравнения типов (типы в нижнем регистре) - ✅ Всегда ограничивайте запросы с
--subscriptionsили--firstдля крупных арендаторов - ✅ Предпочитайте специализированные MCP-инструменты для запросов одного типа ресурса
- ❌ Не используйте ARG для мониторинга в реальном времени (данные с небольшой задержкой)
- ❌ Не пытайтесь изменять ресурсы через ARG (только чтение)
Из того же репозитория
azure-ai — AI-сервисы Azure для разработчиков
microsoft/github-copilot-for-azure
Инструменты Azure AI через MCP для разработчиков: AI Search, Speech, OpenAI и Document Intelligence — интеграция в приложения без управления инфраструктурой.
azure-storage — хранилище Azure для разработчиков
microsoft/github-copilot-for-azure
Управление Azure Storage через MCP или CLI: Blob, File Shares, Queue, Table и Data Lake. Сравнение сервисов, уровни доступа, операции с blob через MCP-инструменты.
azure-deploy — деплой подготовленных Azure-приложений
microsoft/github-copilot-for-azure
Выполняет деплой приложений с готовой инфраструктурой: azd up, azd deploy с проверками и обработкой ошибок. Требует предварительной подготовки через azure-prepare.
azure-cost-optimization — оптимизация реальных расходов Azure
microsoft/github-copilot-for-azure
Реальные данные о расходах Azure из Cost Management API: история трат, прогноз, рекомендации по экономии на orphaned ресурсах и rightsizing VM.
azure-diagnostics — диагностика проблем в Azure продакшене
microsoft/github-copilot-for-azure
Систематическая отладка продакшена Azure: Container Apps, Function Apps и AKS. AppLens для root cause, KQL-запросы под конкретные ошибки и crash loops.
microsoft-foundry — полный цикл AI-агентов на Foundry
microsoft/github-copilot-for-azure
Деплой, оценка и управление AI-агентами на Microsoft Foundry: контейнеризация, ACR, создание агентов, batch-оценки и оптимизация промптов по данным продакшена.
