エクスポート
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
App Center を使用すると、すべての Analytics 生データを Azure に継続的にエクスポートできます。 分析データは、 Blob Storage と Application 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
格納されます。 プロパティが config
に WithAppId
設定されている場合、データは appId/year/month/day/hour/minute 形式で格納され、既定のパスの前に appID が付けられます。 データがAzure Blob Storageに表示されるまでに最大 5 分かかります。
データは、"分析" データ (セッション、イベント)、"クラッシュ"、"エラー"、および "添付ファイル" に分割されます。 診断 データのエクスポートに関する詳細情報
BLOB ファイルの内容はクライアント デバイス ログの JSON 配列であり、Analytics データの場合は次のようになります。
[
{
"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 は、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 の詳細については、以下を参照してください。
- Application Insights 全般について学習する
- AI ブログ で App Center との統合 について学習する
- App Center ブログの Better Analytics を使用したより良い意思決定 について学習する
前提条件
エクスポートを使用するには、Azure サブスクリプションが必要です。Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。
Azure サブスクリプションのリンク
注意
この手順は、標準エクスポートにのみ必要です。カスタム エクスポートでは、Azure サブスクリプションは必要ありません。
App Center によるアプリ データの Azure への標準エクスポートには、App Center アプリにリンクされた Azure サブスクリプションが必要です。 サブスクリプションを追加してアプリにリンクするには、アプリ所有者 (アプリがorganizationに属していない場合)、またはorganizationの管理者が行う必要があります。
Azure サブスクリプションの追加
- organizationに属するアプリ: organization管理者の場合は、アプリが属するorganizationの下にある [管理] セクションに移動します。
- ユーザーに属するアプリ: アプリ所有者の場合は、次の手順に従います。
- App Center ポータルにログインします。
- ユーザー設定に移動します。
- [Azure] の [サブスクリプションの追加] をクリックします。
- 既存の Azure サブスクリプションを選択するか、新しいサブスクリプションを作成します。
アプリを Azure サブスクリプションにリンクする
ユーザーまたは組織アカウントに Azure サブスクリプションを追加したら、そのアプリ内でサブスクリプションを使用できるように、アプリにアクセス権を付与する必要があります。 これを行うことで、そのアプリ内のすべてのマネージャー/開発者がエクスポート目的でサブスクリプションを使用できるようになります。 これには、Azure サブスクリプションに対して課金される関連コストがあります。
エクスポートの設定
- App Center ポータルで、[アプリ] を選択します。
- [アプリの設定] に移動します。
- [ エクスポート ] をクリックし、[ 新しいエクスポート ] オプションを選択します。
- アプリのニーズに基づいて、BLOB ストレージまたは Application Insights を選択します。
- 必要な構成の種類 (標準とカスタム) を選択します。
App Center には、標準エクスポートとカスタム エクスポートという 2 つの方法でデータをエクスポートできます。 標準エクスポートを使用すると、アプリにリンクされた Azure サブスクリプションを使用して、ワンクリック エクスペリエンスでデータをエクスポートできます。 カスタム エクスポートにより、柔軟性が向上し、構成が Azure でカスタマイズされます。
標準エクスポート
Standard Export では、データをエクスポートするためのワンクリック エクスペリエンスが提供されます。 このオプションを使用すると、必要なすべてのリソースが Azure に自動的に作成されます。
カスタム エクスポート
カスタム エクスポートを使用すると、ユーザーは Azure でエクスポート構成をカスタマイズ できます。
Blob Storage の場合
- Azure portal にサインインします。
- [新しいリソースの作成] をクリックします
- [Marketplace の検索] で ストレージ アカウント を検索します。
- [作成] をクリックします。 [ストレージ アカウントの作成] ページが開きます。
- Azure のサブスクリプションを選択します
- 既存のリソース グループを選択するか、新しいリソース グループを作成します (リソース グループは、Azure ソリューションの関連リソースを保持するコンテナーです)
- [アカウントの種類] には、次のドロップダウンが表示されます。 サポートされているオプションは 3 つあります。 自分に適した内容を選択します。
- [確認と作成] をクリックします
- 検証に合格した後
- [作成] をクリックします。
- デプロイが成功したら、リソースに移動します
- [設定] タブで アクセス キー を見つける
- 接続文字列をコピーし、App Center のカスタム構成に追加します。
Application Insights の場合
- Azure portal にサインインします。
- [ リソース> 管理ツール > の作成] [Application Insights] の順に選択します。
- 構成ボックスが表示されます
- [アプリケーションの種類] を [App Center] アプリケーションに設定します。
- Azure portalからインストルメンテーション キーをコピーし、App Center のカスタム構成に追加します。 インストルメンテーション キーは、Application Insights リソースの [概要] ページにあります。
エクスポートの詳細については、 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
、および attachments
のerrors
組み合わせに設定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 サービスに依存するコストが関連付けられています。 各サービスの価格の詳細については、以下を参照してください。