Поделиться через


Экспорт

Это важно

Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.

Центр приложений позволяет непрерывно экспортировать все необработанные данные Аналитики в Azure. Вы можете экспортировать данные аналитики в хранилище Blob и Application Insights (Azure Monitor). Экспортируя данные, вы можете воспользоваться следующими преимуществами:

  • Неограниченное хранение данных
  • Подробный анализ использования
  • Унифицированная панель мониторинга
  • Дополнительные расширенные возможности из Application Insights, такие как воронки, хранение

Центр приложений постоянно экспортирует данные аналитики в Application Insights с момента настройки экспорта вместе с двумя днями обратного заполнения данных. С помощью обновленной панели мониторинга в Application Insights пользователи Центра приложений могут получить единое представление как об аналитике приложений, так и о серверной аналитике на одной панели мониторинга.

App Center непрерывно экспортирует данные аналитики в Blob Storage с момента настройки экспорта вместе с 28 днями добавленных данных. Узнать больше об объектном хранилище Blob

Вы также можете экспортировать данные в двоичный объект хранилища общего назначения Azure версии 2. Учетные записи хранения общего назначения версии 2 поддерживают последние функции службы хранилища Azure и включают все функции учетных записей хранения общего назначения версии 1 и BLOB-объектов.

Узнайте больше о хранилище общего назначения версии 2Узнайте больше об Application Insights

Azure Blob-хранилище

Хранилище BLOB-объектов Azure — это служба для хранения больших объемов неструктурированных данных объектов, таких как текстовые или двоичные данные, доступные по всему миру через HTTP или HTTPS. Хранилище объектов Blob можно использовать для общедоступного предоставления данных или для их хранения в закрытом доступе.

Данные экспортируются каждую минуту и каждый раз создаются новые вложенные папки. Данные хранятся в формате year/month/day/hour/minute (например, https://<blob-storage-account>.blob.core.windows.net/archive/2017/12/09/04/03/logs.v1.data) по умолчанию, если blob_path_format_kind задано значение WithoutAppId. config Если для свойства задано WithAppIdзначение, данные хранятся в формате appId/year/month/day/hour/minute, который префиксирует путь по умолчанию с помощью appID. Данные появятся в хранилище BLOB-объектов Azure через 5 минут максимум.

Данные делятся на данные из "Аналитики" (сеансы, события), "Сбои", "Ошибки" и "Вложения". Дополнительные сведения об экспорте диагностических данных

Визуализация данных в хранилище BLOB-объектов Azure

Содержимое файла BLOB-объекта — это массив JSON журналов клиентских устройств, который выглядит следующим образом для данных Аналитики:

[
    {
        "AppId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "Timestamp": "2017-12-09T04:02:53.618Z",
        "InstallId": "e589a371-ea0c-4479-9a7b-9f834adec040",
        "MessageType": "EventLog",
        "IngressTimestamp": "2017-12-09T04:02:57.987Z",
        "MessageId": "980e21a0-0cbb-48ac-8820-28acf4beb00d",
        "EventId": "ad980536-e743-48a9-ab7e-cb043602d2c9",
        "EventName": "log_out",
        "CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
        "IsTestMessage": "False",
        "SdkVersion": "1.0",
        "Model": "PC",
        "OemName": "Samsung",
        "OsName": "Android",
        "OsVersion": "8.1.0",
        "OsApiLevel": "2",
        "Locale": "EN",
        "TimeZoneOffset": "PT2M",
        "ScreenSize": "320x240",
        "AppVersion": "1.1.0",
        "AppBuild": "1",
        "AppNamespace": "com.microsoft.test",
        "CarrierName": "AT&T",
        "CarrierCountry": "US",
        "CountryCode": "US",
        "WrapperSdkVersion": "1.0",
        "WrapperSdkName": "mobilecenter.xamarin","Properties": "{\"extra_00\":\"5bcacf3598ca44ebbbc99e4488cfc854\",\"extra_01\":\"2673e48867c74d51af8dc24c762a8b28\",\"extra_02\":\"5b76c801e5074cd3a13ea37253b94484\",\"extra_03\":\"c1e76aa252c947d4b4bcd4d1d96a7be6\",\"extra_04\":\"caea50034c4f441a963700fa3cf70d03\"}",
        "SessionId": "10df497a-4261-4995-b466-3fd77ac47395",
        "SdkName": "mobilecenter.android",
        "OsBuild": "2",
        "WrapperRuntimeVersion": "None",
        "LiveUpdateDeploymentKey": "stage",
        "LiveUpdatePackageHash": "dsadsdasd3211321233",
        "LiveUpdateReleaseLabel": "2.0"
    }
]

Azure Application Insights

Application Insights — это служба управления производительностью приложений (APM), которая предлагает возможности запросов, сегментации, фильтрации и аналитики использования по данным событий Центра приложений. Добавив пакет SDK Центра приложений в приложение и экспортируя данные в ресурс Application Insights типа приложения Центра приложений, вы получите доступ к следующим функциям:

  • Application Insights: Аналитика Используйте мощный язык запросов для анализа необработанных данных событий и создания визуализаций. Результаты запросов можно экспортировать в Power BI или Excel.
  • Пользователи, сеансы и события. Узнайте, сколько пользователей использует каждую страницу и функцию приложения, а затем сегментировать по странам, браузерам или другим свойствам, чтобы понять, почему.
  • Воронки и потоки пользователей. Узнайте, как пользователи перемещаются по приложению. Выявление узких мест. Узнайте, как увеличить конверсию и устранить проблемные моменты.
  • Хранение. Узнайте, сколько пользователей возвращаются для использования приложения. Узнайте, где и почему они выбывают.
  • Рабочие книги. Создайте интерактивные книги, которые объединяют визуализации анализа использования, запросы Application Insights Analytics и текст для совместного использования аналитических сведений в команде.

Поля Центра приложений сопоставляются с форматом Application Insights. Ниже приведена эквивалентность сопоставленных полей:

Application Insights Центр приложений
отметка времени Время события
имя Имя пользовательского события или типа данных
customDimensions Это включает в себя несколько полей, показанных в таблице ниже
session_id Уникальный идентификатор сеанса
user_Id Идентификатор установки
приложение_Version Версия приложения
тип_клиента, модель_клиента Модель устройства
клиентская_ОС Тип и версия ОС
sdkVersion Версия пакета SDK для Центра приложений

В таблице ниже показано сопоставление полей для поля customDimensions.

Application Insights Центр приложений
AppBuild Номер сборки приложения
AppId Идентификатор приложения Центра приложений
AppNamespace Пространство имен приложения
Страна перевозчика Страна-перевозчик
Имя перевозчика Тип перевозчика
EventId Идентификатор события Центра приложений
IngressTimestamp Метка времени приема журнала
Региональные настройки Язык устройства
ТипСообщения Тип события (сеанс, событие, ...)
OsApiLevel Уровень API ОС
OsBuild Номер сборки ОС
OsName Имя ОС
OsVersion Версия ОС
Свойства Свойства, прикрепленные к пользовательскому событию
Размер экрана Размер экрана устройства
SdkName Имя пакета SDK центра приложений
SdkVersion Версия пакета SDK для Центра приложений
Смещение часового пояса Смещение часового пояса
UserId Настраиваемый идентификатор пользователя (установленный разработчиком)
ОболочкаRuntimeVersion Версия среды выполнения оболочки SDK для App Center
WrapperSdkName Имя оболочки пакета SDK для Центра приложений
ОболочкаSdkVersion Версия оболочки пакета SDK для Центра приложений

Примерный запрос с использованием ИИ для получения пользовательских событий:

customEvents
    | where name == "YourEventName"
    | extend Properties = todynamic(tostring(customDimensions.Properties))
    | extend YourPropertyName = Properties.YourPropertyName

Дополнительные сведения о Application Insights и Центре приложений:

Предпосылки

Для использования экспорта необходимо иметь подписку Azure; Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.

Связывание подписок Azure

Замечание

Этот шаг необходим только для стандартного экспорта; Для пользовательского экспорта не требуется подписка Azure.

Для стандартного экспорта данных приложения Центра приложений в Azure требуется подписка Azure, связанная с приложением Центра приложений. Добавление подписки и связывание его с приложением должно выполняться владельцем приложения (если приложение не принадлежит организации) или администратором организации.

Добавление подписки Azure

  • Приложение, принадлежащее организации: Если вы являетесь администратором организации, перейдите в раздел "Управление " в организации, к которой принадлежит приложение.
  • Приложение, принадлежащее пользователю: Если вы являетесь владельцем приложения, выполните следующие действия.
  1. Войдите на портал Центра приложений.
  2. Перейдите к параметрам пользователя.
  3. В разделе Azure нажмите кнопку "Добавить подписку"
  4. Выберите существующую подписку Azure или создайте новую.

Связывание приложения с подпиской Azure

После добавления подписки Azure в учетную запись пользователя или организации необходимо предоставить приложения с доступом, чтобы подписка была использована в этом приложении. Благодаря этому вы разрешаете любому менеджеру или разработчику в этом приложении использовать подписку для экспорта. Эта плата связана с вашей подпиской на Azure и взимается с нее.

Настройка экспорта

  1. На портале Центра приложений выберите приложение.
  2. Перейдите к параметрам приложения.
  3. Щелкните "Экспорт" и выберите пункт "Создать экспорт ".
  4. Выберите хранилище BLOB-объектов или Application Insights в зависимости от потребностей приложения.
  5. Выберите нужный тип конфигурации (стандартный и настраиваемый).

Центр приложений предлагает два способа экспорта данных: стандартный экспорт и настраиваемый экспорт. Стандартный экспорт позволяет экспортировать данные с помощью единого щелчка, используя подписку Azure, связанную с приложением. Настраиваемый экспорт обеспечивает большую гибкость, а конфигурации будут настроены в Azure.

Стандартный экспорт

Стандартный экспорт предоставляет возможность экспорта данных одним щелчком мыши. С помощью этого параметра все необходимые ресурсы автоматически создаются в Azure.

Настраиваемый экспорт

Настраиваемый экспорт позволяет пользователям настраивать конфигурацию экспорта в Azure.

Для хранилища BLOB-объектов

  1. Войдите на портал Azure.
  2. Щелкните "Создать ресурс"
  3. Найдите учетную запись хранения данных в поиске Marketplace.
  4. Нажмите кнопку Создать. Откроется страница "Создание учетной записи хранения".
  5. Выберите подписку Azure.
  6. Выберите имеющуюся группу ресурсов или создайте новую. (Группа ресурсов — это контейнер, содержащий связанные ресурсы для решения Azure)
  7. Для типов учетных записей вы увидите следующий раскрывающийся список. Поддерживается три варианта. Выберите то, что подходит для вас. Поддерживаемые учетные записи хранения BLOB-объектов
  8. Нажмите кнопку "Рецензирование" и "Создать"
  9. После прохождения проверки
  10. Щелкните "Создать"
  11. После успешного развертывания перейдите к ресурсу
  12. Поиск ключей доступа на вкладке "Параметры"
  13. Скопируйте строку подключения и добавьте ее в пользовательские конфигурации Центра приложений.

Добавление строки подключения в Центр приложений

Для Application Insights

  1. Войдите на портал Azure.
  2. Выберите Создать ресурс> Инструменты управления > Application Insights.
  3. Появится поле конфигурации
  4. Установите Тип приложения на приложение App Center.
  5. Скопируйте ключ инструментирования с портала Azure и добавьте его в пользовательские конфигурации Центра приложений. Ключ инструментирования находится на странице «Обзор» в ресурсе Application Insights.

Добавьте ключ инструментов в Центр приложений

Дополнительные сведения о экспорте см. в кратком руководстве по Application Insights.

Экспорт нескольких приложений в одну учетную запись хранения

При настройке экспорта для нескольких приложений необходимо создать или обновить конфигурацию с blob_path_format_kind (частью модели ExportBlobConfiguration) установленным на WithAppId, что добавляет перед путь экспорта соответствующие идентификаторы appID.

Путь к BLOB форматируется следующим образом:

  • Когда для перечисления установлено значение WithoutAppId=false, это year/month/day/hour/minute
  • Когда для перечисления установлено значение WithAppId=true, это appId/year/month/day/hour/minute

API создания конфигурации экспорта был описан выше. Для существующих конфигураций ниже приведен API частичного обновления:

PATCH /v0.1/apps/{owner_name}/{app_name}/export_configurations/{export_configuration_id}

Для распространения изменений потребуется 5–10 минут, а сущности с этого момента будут записаны с помощью нового формата пути.

Отказ от функции обратного заполнения

По умолчанию новая конфигурация экспорта будет заполнять данными последние два дня для ресурсов искусственного интеллекта и последние 30 дней для хранилища объектов BLOB. Существуют сценарии, когда обратное заполнение не требуется; например, если это приведет к перезаписи или дублированию данных. В этом случае при создании новой конфигурации задайте свойство backfill равным false.

Выбор типа данных для экспорта

По умолчанию новая конфигурация экспорта экспортирует только данные аналитики (события, сеансы и т. д.) Данные, связанные с диагностикой, можно экспортировать с помощью параметра Entities свойства (export_entity модели) в комбинацию errors, crashesи attachments. Это свойство также позволяет исключить экспорт данных Аналитики путем добавления no_logs значения в Entities массив.

Механизм автоматического отключения

Центр приложений может автоматически отключить плохую конфигурацию экспорта, чтобы предотвратить любую возможную задержку во всем конвейере экспорта. Например, Центр приложений обрабатывает приведенные ниже ошибки из Azure.

  • Недопустимый ключ инструментирования Application Insights.
  • Не удается аутентифицировать ресурс BLOB или определить удаленное имя.

Замечание

Если экспорт повторно включен, поток данных будет продолжаться с этого момента без резервного заполнения, чтобы избежать возможного переопределения или дублирования данных. Если вам нужно создать резервную заливку отсутствующих данных, необходимо повторно создать конфигурацию экспорта. Данные, поступающие в Application Insights, хранятся 48 часов, а в хранилище BLOB-объектов — 30 дней.

Чтобы проверить состояние и управлять восстановлением, можно использовать один из следующих API-интерфейсов.

GET  /v0.1​/apps​/{owner_name}​/{app_name}​/export_configurations
GET  /v0.1​/apps​/{owner_name}​/{app_name}​/export_configurations​/{export_configuration_id}

Чтобы включить конфигурацию экспорта, можно использовать следующий API.

POST /v0.1​/apps​/{owner_name}​/{app_name}​/export_configurations​/{export_configuration_id}/enable

Ценообразование

Чтобы настроить экспорт, необходимо создать подписку Azure. Экспорт данных имеет связанные затраты, которые будут зависеть от службы Azure, в которую вы экспортируете. Найдите информацию о ценах на каждую услугу по следующей ссылке:

Цены на Application Insights

Цены на BLOБ-хранилище