BigQuery で Gmail ログを設定する

この機能の対象となるサービスは G Suite EnterpriseG Suite Enterprise for Education で、これらのいずれかのライセンスをお持ちのユーザーにのみご利用いただけます。ライセンスは、個々のユーザー、組織部門内のすべてのユーザー、または G Suite アカウントのすべてのユーザーに割り当てることができます。詳しくは、ライセンス割り当ての仕組みをご覧ください。

Gmail ログには、Gmail のメール配信プロセスにおける各段階の記録が保存されます。配信プロセスでの Gmail のフローを分析するには、Gmail ログを BigQuery プロジェクトのデータセットに割り当てます。Gmail ログを割り当てると、レポートを表示できるようになります。   

注: [BigQuery のメールログ] を設定する前に作成されたメールログは、BigQuery に書き出せません。

Gmail ログを BigQuery のデータセットに割り当てる

  1. Google 管理コンソールログインします。

    管理者アカウント(末尾が @gmail.com でないアカウント)でログインしてください。

  2. 管理コンソールのホームページから、[アプリ] 次に [G Suite] 次に [Gmail の設定] 次に [設定] 次に 

    [BigQuery のメールログ] にアクセスします。

  3. [設定] をクリックします。
  4. [設定を追加] ウィンドウで説明を入力します。
  5. Gmail ログに使用する BigQuery プロジェクトを選択します。書き込みアクセスが可能なプロジェクトを選択してください。
  6. Gmail ログを保存するデータセット名を入力します。
  7. [設定を追加] をクリックして設定ページに戻り、[保存] をクリックします。

    : エラーが発生した場合は、[設定を追加] をもう一度クリックしてください。場合によっては、BigQuery コンソールに移動して、以前に作成したデータセットを削除する必要があります。

  8. 設定を保存したら、BigQuery プロジェクトに戻ります。次の情報を含むデータセットがプロジェクトに追加されます。
    • 通常のロール: プロジェクト オーナー、プロジェクト編集者、プロジェクト閲覧者
    • データセットの編集者として指定された 4 つのサービス アカウント:
      - gmail-for-work-logs-writer1@system.gserviceaccount.com: ログを書き込みます。 
      - gmail-for-work-logs-writer2@system.gserviceaccount.com: ログを書き込みます。
      - gmail-for-work-logs-recoverer@system.gserviceaccount.com: テンプレート テーブルが誤って削除された場合に自動的に復元します。 
      - gmail-for-work-logs-schema-updater@system.gserviceaccount.com: 今後のスキーマの更新を行います。

      注: これらのサービス アカウントを削除したり、ロールを変更したりしないでください。これらは必須アカウントです。
  9. サービス アカウントが追加されたことを確認するには、新しいデータセットにカーソルを合わせて、データセット名の横にある下矢印をクリックします。
  10. [共有データセット] をクリックします。これで、毎日のメールログが BigQuery に書き出されるようになります。変更内容が反映されるまでには、24 時間ほどかかることがあります。

daily_ テーブル

BigQuery のメールログを有効にすると、daily_ という名前の新しいテーブルがデータセットに追加されます。このテーブルは、毎日作成されるテーブルのスキーマを提供するテンプレートです。daily_ テンプレートを作成すると、データセットに毎日自動的にテーブルが作成され、ログを参照できるようになります。

daily_ テーブルに関する注意点:

  • テーブルは常に空であり、期限切れになることはありません。
  • このテーブルを削除、変更したり、テーブル名を変更したり、テーブルにデータを追加したりしないでください。
  • これは日付パーティション分割テーブルです。実際のデータは、イベントが発生した GMT 時間に基づいて、テーブル daily_YYYYMMDD に書き込まれます。

Gmail ログのクエリ

クエリの例

Gmail のログに対する BigQuery のクエリ例をいくつかお試しください。これらは、Gmail ログの一般的な使用例です。

カスタムクエリ

BigQuery での Gmail ログのスキーマを使用し、カスタムクエリを作成します。

クエリ用の SQL 言語

BigQuery では、次の 2 つのクエリ用の SQL 言語がサポートされています。

一部のフィールドでデータの後半が省略される場合がある

BigQuery の行の最大サイズは 1 MB であるため、ログが 1 MB から 1 KB を引いたサイズより小さくなり BigQuery に正常に挿入されるよう、一部のフィールドでは値が省略されます。1 KB は意図的にバッファとして残されます。

ログが長すぎる場合、またはログ内のトリガーされたルール(triggered_rule_info)の数が大きすぎる場合は、以下のフィールドの値の後半が省略されることがあります。

message_info.subject
message_info.source.from_header_displayname
message_info.triggered_rule_info.string_match.match_expression
message_info.triggered_rule_info.string_match.matched_string

詳しくは、BigQuery での Gmail ログのスキーマをご覧ください。

関連情報

ストリーミング挿入

サンドボックスの有効期限

次の BigQuery サンドボックス オブジェクトの有効期限は 60 日です。

  • テーブル
  • パーティション
  • パーティション テーブル内のパーティション
  • ビュー

テーブルのデフォルトの有効期限は変更できます。

テーブルの有効期限が切れたり、テーブルが削除されたりしても、2 日以内であれば復元可能です。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。