エクスポート

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

サポートタイムラインと代替手段の詳細については、こちらを参照してください。

App Center を使用すると、すべての Analytics 生データを Azure に継続的にエクスポートできます。 分析データは、 Blob StorageApplication Insights (Azure Monitor) の両方にエクスポートできます。 データをエクスポートすると、次の利点があります。

  • 無制限のデータ保持
  • 詳細な使用状況分析
  • 統合ダッシュボード
  • じょうご、リテンション期間など、Application Insights からの追加の豊富な機能

App Center は、エクスポートを構成した時点から、2 日間のバックフィルされたデータと共に、Analytics データを Application Insights に継続的にエクスポートします。 Application Insights の新しい更新されたダッシュボードを使用すると、App Center ユーザーは 1 つのダッシュボードで Application と Backend Analytics の両方の統合ビューを取得できます。

App Center は、エクスポートを構成した時点から、28 日間のバックフィルされたデータと共に Analytics データを Blob Storage に継続的にエクスポートします。 Blob Storage の詳細を確認する

Azure General Purpose v2 Storage BLOB にデータをエクスポートすることもできます。 汎用 v2 ストレージ アカウントは、最新の Azure Storage の機能をサポートし、汎用 v1 と BLOB ストレージ アカウントのすべての機能が組み込まれています。

General Purpose v2 Storage詳細を確認する Application Insights の詳細

Azure Blob Storage

Azure Blob Storageは、大量の非構造化オブジェクト データ (テキストやバイナリ データなど) を HTTP または HTTPS 経由で世界中で使用できる格納するためのサービスです。 Blob Storage を使用して、データをパブリックに公開したり、データを非公開で格納したりできます。

データは 1 分ごとにエクスポートされ、毎回新しいサブフォルダーが作成されます。 データは、 が に設定されている場合blob_path_format_kind、既定では年/月/日/時/分形式 (例: https://<blob-storage-account>.blob.core.windows.net/archive/2017/12/09/04/03/logs.v1.data) がWithoutAppId格納されます。 プロパティが configWithAppId設定されている場合、データは appId/year/month/day/hour/minute 形式で格納され、既定のパスの前に appID が付けられます。 データがAzure Blob Storageに表示されるまでに最大 5 分かかります。

データは、"分析" データ (セッション、イベント)、"クラッシュ"、"エラー"、および "添付ファイル" に分割されます。 診断 データのエクスポートに関する詳細情報

Azure Blob Storageでのデータの視覚化

BLOB ファイルの内容はクライアント デバイス ログの JSON 配列であり、Analytics データの場合は次のようになります。

[
    {
        "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 は、App Center イベント データに対するクエリ、セグメント化、フィルター処理、使用状況分析機能を提供するアプリケーション パフォーマンス管理 (APM) サービスです。 App Center SDK をアプリに追加し、App Center アプリタイプの Application Insights リソースにデータをエクスポートすると、次の機能にアクセスできます。

  • Application Insights Analytics。 強力なクエリ言語を使用して、生のイベント データを分析し、視覚化を作成します。 クエリの結果は 、Power BI または Excel にエクスポートできます。
  • ユーザー、セッション、およびイベント。 アプリの各ページと機能を使用しているユーザーの数を確認し、国、ブラウザー、またはその他のプロパティ別にセグメント化して、その理由を理解します。
  • じょうごユーザー フロー。 ユーザーがアプリ内を移動する方法を理解します。 ボトルネックの特定 コンバージョン率を高め、問題点を排除する方法を見つけます。
  • 保持。 アプリを使用するために返されるユーザーの数を確認します。 それらがドロップアウトする場所と理由を確認します。
  • Workbooks。 使用状況分析の視覚化、Application Insights Analytics クエリ、およびチームで分析情報を共有するテキストを組み合わせた対話型ブックを作成します。

App Center フィールドは Application Insights 形式にマップされます。 マップされたフィールド間の等価性を次に示します。

Application Insights App Center
timestamp イベントの時刻
name カスタム イベントの名前またはデータの種類
customDimensions これには、次の表に示す複数のフィールドが含まれます
session_Id 一意のセッション識別子
user_Id インストール識別子
application_Version アプリケーションのバージョン
client_Type、client_Model デバイス モデル
client_OS OS の種類とバージョン
sdkVersion App Center SDK のバージョン

次の表は、"customDimensions" フィールドのフィールド マッピングを示しています。

Application Insights App Center
AppBuild アプリケーション ビルド番号
AppId App Center App ID
AppNamespace アプリケーション名前空間
CarrierCountry 通信事業者の国
CarrierName 運送業者の種類
EventId App Center イベント ID
IngressTimestamp ログ インジェストのタイムスタンプ
Locale デバイスの言語
MessageType イベントの種類 (セッション、イベント、...)
OsApiLevel OS API レベル
OsBuild OS ビルド番号
OsName OS 名
OsVersion OS バージョン
プロパティ カスタム イベントにアタッチされたプロパティ
ScreenSize デバイスの画面サイズ
SdkName App Center SDK 名
SdkVersion App Center SDK のバージョン
TimeZoneOffset タイム ゾーン オフセット
UserId カスタム ユーザー識別子 (開発者セット)
WrapperRuntimeVersion App Center SDK ラッパー ランタイム のバージョン
WrapperSdkName App Center SDK ラッパー名
WrapperSdkVersion App Center SDK ラッパー のバージョン

カスタム イベントを取得するためのサンプル AI クエリ:

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

Application Insights と App Center の詳細については、以下を参照してください。

前提条件

エクスポートを使用するには、Azure サブスクリプションが必要です。Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。

Azure サブスクリプションのリンク

注意

この手順は、標準エクスポートにのみ必要です。カスタム エクスポートでは、Azure サブスクリプションは必要ありません。

App Center によるアプリ データの Azure への標準エクスポートには、App Center アプリにリンクされた Azure サブスクリプションが必要です。 サブスクリプションを追加してアプリにリンクするには、アプリ所有者 (アプリがorganizationに属していない場合)、またはorganizationの管理者が行う必要があります。

Azure サブスクリプションの追加

  • organizationに属するアプリ: organization管理者の場合は、アプリが属するorganizationの下にある [管理] セクションに移動します。
  • ユーザーに属するアプリ: アプリ所有者の場合は、次の手順に従います。
  1. App Center ポータルにログインします。
  2. ユーザー設定に移動します。
  3. [Azure] の [サブスクリプションの追加] をクリックします。
  4. 既存の Azure サブスクリプションを選択するか、新しいサブスクリプションを作成します。

アプリを Azure サブスクリプションにリンクする

ユーザーまたは組織アカウントに Azure サブスクリプションを追加したら、そのアプリ内でサブスクリプションを使用できるように、アプリにアクセス権を付与する必要があります。 これを行うことで、そのアプリ内のすべてのマネージャー/開発者がエクスポート目的でサブスクリプションを使用できるようになります。 これには、Azure サブスクリプションに対して課金される関連コストがあります。

エクスポートの設定

  1. App Center ポータルで、[アプリ] を選択します。
  2. [アプリの設定] に移動します。
  3. [ エクスポート ] をクリックし、[ 新しいエクスポート ] オプションを選択します。
  4. アプリのニーズに基づいて、BLOB ストレージまたは Application Insights を選択します。
  5. 必要な構成の種類 (標準とカスタム) を選択します。

App Center には、標準エクスポートとカスタム エクスポートという 2 つの方法でデータをエクスポートできます。 標準エクスポートを使用すると、アプリにリンクされた Azure サブスクリプションを使用して、ワンクリック エクスペリエンスでデータをエクスポートできます。 カスタム エクスポートにより、柔軟性が向上し、構成が Azure でカスタマイズされます。

標準エクスポート

Standard Export では、データをエクスポートするためのワンクリック エクスペリエンスが提供されます。 このオプションを使用すると、必要なすべてのリソースが Azure に自動的に作成されます。

カスタム エクスポート

カスタム エクスポートを使用すると、ユーザーは Azure でエクスポート構成をカスタマイズ できます

Blob Storage の場合

  1. Azure portal にサインインします。
  2. [新しいリソースの作成] をクリックします
  3. [Marketplace の検索] で ストレージ アカウント を検索します。
  4. [作成] をクリックします。 [ストレージ アカウントの作成] ページが開きます。
  5. Azure のサブスクリプションを選択します
  6. 既存のリソース グループを選択するか、新しいリソース グループを作成します (リソース グループは、Azure ソリューションの関連リソースを保持するコンテナーです)
  7. [アカウントの種類] には、次のドロップダウンが表示されます。 サポートされているオプションは 3 つあります。 自分に適した内容を選択します。 サポートされている Blob Storage アカウント
  8. [確認と作成] をクリックします
  9. 検証に合格した後
  10. [作成] をクリックします。
  11. デプロイが成功したら、リソースに移動します
  12. [設定] タブで アクセス キー を見つける
  13. 接続文字列をコピーし、App Center のカスタム構成に追加します。

App Center で接続文字列を追加する

Application Insights の場合

  1. Azure portal にサインインします。
  2. [ リソース> 管理ツール > の作成] [Application Insights] の順に選択します。
  3. 構成ボックスが表示されます
  4. [アプリケーションの種類][App Center] アプリケーションに設定します。
  5. Azure portalからインストルメンテーション キーをコピーし、App Center のカスタム構成に追加します。 インストルメンテーション キーは、Application Insights リソースの [概要] ページにあります。

App Center でインストルメンテーション キーを追加する

エクスポートの詳細については、 Application Insights クイックスタート ガイドを参照してください。

複数のアプリを同じストレージ アカウントにエクスポートする

複数のアプリのエクスポートを構成する場合は、 (モデルのExportBlobConfiguration一部) が に設定された構成blob_path_format_kindを作成または更新する必要があります。この構成では、エクスポート パスの前に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 分かかります。その後、その時点のエンティティは新しいパス形式を使用して書き込まれます。

バックフィルのオプトアウト

既定では、新しいエクスポート構成では、AI リソースの最後の 2 日間のデータと BLOB ストレージの 30 日間がバックフィルされます。 バックフィルが必要ないシナリオがあります。たとえば、そうすると、データが上書きまたは複製される場合があります。 この場合は、新しい構成を作成するときに プロパティを にfalse設定backfillします。

エクスポートするデータの種類の選択

既定では、新しいエクスポート構成では、Analytics データ (イベント、セッションなど) のみをエクスポートします。診断関連のデータは、プロパティ (export_entity モデル) を 、crashes、および attachmentserrors組み合わせに設定Entitiesすることでエクスポートできます。 プロパティでは、配列に値Entitiesを追加no_logsすることで、Analytics データをエクスポートから除外することもできます。

自動無効化メカニズム

App Center では、エクスポート パイプライン全体で遅延が発生する可能性を防ぐために、不適切なエクスポート構成が自動的に無効になる場合があります。 たとえば、App Center は Azure からの以下のエラーを処理します。

  • Application Insights インストルメンテーション キーが無効です。
  • BLOB リソースを認証できないか、リモート名を解決できません。

注意

エクスポートが再び有効になっている場合は、データのオーバーライドや重複を回避するために、バックフィルなしでその時点からデータ フローが続行されます。 不足しているデータをバックフィルする必要がある場合は、エクスポート構成を再作成する必要があります。 Application Insights に送られるデータは、Blob Storage に対して 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 Storage の価格