コンテンツにスキップ

Raw APIスナップショット

Android · アーカイブグレードのエクスポート

Raw API Snapshotは、移行とアーカイブのワークフロー向けに用意された、Health.md for Androidの独立したエクスポート製品です。選択した期間ごとに、ネイティブなレコードを保持した不変でバージョン管理されたJSONまたはNDJSONアーティファクトを1つ生成します。

互換エクスポートはHealth Connectのレコードを読みやすい日次のHealthDataサマリーへ変換します。Rawスナップショットはこの変換を完全にスキップします:

  • Health Connectスナップショットは、ピン留めされたAndroidX APIが公開するすべてのフィールドを保持します。ネイティブな識別子とメタデータ、ナノ秒タイムスタンプ、null許容のソースオフセット、生の列挙値、ネストしたサンプル、ステージ、経路、計画されたワークアウト構造まで含みます。
  • Fitbit、Oura、WHOOP、Withingsのスナップショットは、成功したプロバイダ応答の正確なバイト列を保持し、エンドポイントのページネーションとサーバー側集計を明示します。未対応のプロバイダは、正規化されたりHealth Connectのデータで黙って置き換えられたりせず、報告されます。
  • すべてのアーティファクトは、型ごとのステータス、問題、件数、チェックサムを含むマニフェストで終わります。フォルダエクスポートにはさらに.sha256サイドカーファイルが付きます。

Rawスナップショットは、アプリがピン留めしたプロバイダAPIに対してAPI完全ですが、プロバイダデータベースのトランザクショナルバックアップではありません。アクセス不能なレコード、APIが公開しない元の単位、削除済みレコード、インストール済みSDKに未知のフィールドは復元できません。

Rawスナップショットは、送信先を設定しなくてもプレビューできます。プレビューはプロバイダネイティブの読み取り全体を非バックアップのプライベートストレージに対して実行し、メモリには上限付きの先頭・末尾テキストだけを保持し、一時アーティファクトをアップロードせずに削除します。

Raw APIのアップロードは、互換APIエクスポートより意図的に厳格です:

ルール 理由
HTTPSのみ ストリーミングされるアーティファクトが平文で流れることはない
リダイレクト拒否 アーティファクトと資格情報が別のオリジンに再生されることはない
スキーマ・エクスポート・チェックサムヘッダー 受信側エンドポイントが受け取った内容を検証できる
試行後に一時プライベートアーティファクトを削除 端末にコピーが残らない

別個にバージョン管理されるhealthmd.raw-changesバックエンドは、Health Connectの変更トークンと削除トゥームストーンを使い、将来の差分アーカイブワークフローに備えます。これにより、完全なスナップショットだけがアーカイブ戦略である必要はありません。

  • Raw API Snapshot製品を備えたHealth.md for Android。
  • 選択したレコード型のHealth Connect権限、またはプロバイダスナップショット用に接続済みのFitbit、Oura、WHOOP、Withingsアカウント。
  • スナップショットをアップロードする場合はHTTPSエンドポイント。ローカルフォルダへのエクスポートにトランスポート要件はありません。