Экспорт

Важно!

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

Узнайте больше о сроках поддержки и альтернативных вариантах.

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

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

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

Центр приложений постоянно экспортирует данные аналитики в хранилище BLOB-объектов с момента настройки экспорта вместе с 28-дневными резервными данными. Дополнительные сведения о хранилище BLOB-объектов

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

Дополнительные сведения о хранилище общего назначения версии 2Подробнее о Application Insights

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

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

Данные экспортируются каждую минуту, и каждый раз создается новая вложенная папка. Данные хранятся в формате год/месяц/день/час/минута (например, ) по умолчанию, 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/год/месяц/день/час/минута , который префиксирует путь по умолчанию appID. Для отображения данных в Хранилище BLOB-объектов Azure потребуется до 5 минут.

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

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

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

[
    {
        "AppId": "046d56b8-ea26-4653-97ba-12b8f99c3ef5",
        "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": "83a2daa9-e5b4-4082-ba4a-ce34b95ab859",
        "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 Analytics. Используйте мощный язык запросов для анализа необработанных данных о событиях и создания визуализаций. Результаты запросов можно экспортировать в Power BI или Excel.
  • Пользователи, сеансы и события. Узнайте, сколько людей используют каждую страницу и функцию вашего приложения, а затем сегментируйте по стране, браузеру или другим свойствам, чтобы понять, почему.
  • Воронки и потоки пользователей. Узнайте, как пользователи перемещаются по вашему приложению. Выявление узких мест. Найдите способы повышения коэффициента конверсии и устранения проблемных точек.
  • Хранение. Узнайте, сколько пользователей возвращаются для использования вашего приложения. Узнайте, где и почему они бросают.
  • Workbooks. Создавайте интерактивные книги, которые объединяют визуализации анализа использования, запросы Аналитики Application Insights и текст для обмена аналитическими сведениями в команде.

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

Application Insights Центр приложений
TIMESTAMP Время события
name Имя настраиваемого события или типа данных
customDimensions Сюда входит несколько полей, показанных в таблице ниже
session_Id Уникальный идентификатор сеанса
user_Id Идентификатор установки
application_Version Версия приложения
client_Type, client_Model Модель устройства
client_OS Тип и версия ОС
sdkVersion Версия пакета SDK центра приложений

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

Application Insights Центр приложений
AppBuild Номер сборки приложения
AppId Идентификатор приложения Центра приложений
AppNamespace Пространство имен приложения
CarrierCountry Страна оператора
CarrierName Тип носителя
EventId Идентификатор события Центра приложений
IngressTimestamp Метка времени приема журнала
Locale Язык устройства
MessageType Тип события (сеанс, событие, ...)
OsApiLevel Уровень API ОС
OsBuild Номер сборки ОС
OsName Имя ОС
OsVersion Версия ОС
Свойства Свойства, присоединенные к пользовательскому событию
ScreenSize Размер экрана устройства
Имя пакета SDK Имя пакета SDK центра приложений
SdkVersion Версия пакета SDK для Центра приложений
TimeZoneOffset Смещение часового пояса
UserId Пользовательский идентификатор пользователя (набор разработчика)
ОболочкаRuntimeVersion Версия среды выполнения оболочки пакета SDK для Центра приложений
WrapperSdkName Имя оболочки пакета SDK для Центра приложений
WrapperSdkVersion Версия оболочки пакета 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. Задайте для параметра Тип приложения значениеПриложение Центра приложений.
  5. Скопируйте ключ инструментирования из портал Azure и добавьте его в пользовательские конфигурации Центра приложений. Ключ инструментирования можно найти на странице Обзор в ресурсе Application Insights.

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

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

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

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

Путь к большому двоичному объекту имеет следующий формат:

  • если для перечисления задано значение WithoutAppId=falseyear/month/day/hour/minute
  • если для перечисления задано значение WithAppId=trueappId/year/month/day/hour/minute

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

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

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

Отказ от обратной заполнения

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

Выбор типа экспортируемых данных

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

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

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

  • Недопустимый ключ инструментирования Application Insights.
  • Ресурс BLOB-объекта не может пройти проверку подлинности или удаленное имя не может быть разрешено.

Примечание

Если экспорт повторно включен, поток данных будет продолжаться с этого момента без обратного заполнения, чтобы избежать возможного переопределения или дублирования данных. Если вам нужно вернуть отсутствующие данные, необходимо повторно создать конфигурацию экспорта. Данные, передаваемые в Application Insights, хранятся в Хранилище BLOB-объектов 48 часов и 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

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