メインコンテンツまでスキップ

Microsoft Outlookからデータを取り込む

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

このページでは、 Databricks LakeFlow Connectを使用してマネージド Outlook インジェスト パイプラインを作成する方法を示します。

要件

  • 取り込みパイプラインを作成するには、まず以下の要件を満たす必要があります。

    • ワークスペースでUnity Catalogが有効になっている必要があります。

    • ワークスペースでサーバレスコンピュートを有効にする必要があります。 「サーバレス コンピュート要件」を参照してください。

    • 新しい接続を作成する場合:メタストアに対してCREATE CONNECTION権限が必要です。Unity Catalogの「権限の管理」を参照してください。

      コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。

    • 既存の接続を使用する場合:接続オブジェクトに対してUSE CONNECTION権限、またはALL PRIVILEGES権限が必要です。

    • 対象カタログに対してUSE CATALOG権限が必要です。

    • 既存のスキーマに対してUSE SCHEMAおよびCREATE TABLE権限、または対象カタログに対してCREATE SCHEMA権限が必要です。

  • Microsoft Outlook から取り込むには、まず「 Microsoft Outlook への認証の構成」を完了し、 Outlookを使用して接続を作成する必要があります。

取り込みパイプラインを作成する

このコネクタは、 defaultスキーマの下にある単一のテーブルemail_messagesをサポートします。すべてのメールボックスはこのテーブルに統合され、 mailbox列によって区別されます。宛先スキーマの詳細については、 「サポートされているデータ」を参照してください。

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. 「データの追加」 ページで、 「Databricksコネクタ」 の下にある 「Outlook」 をクリックします。
  3. 取り込みウィザードの 「接続」 ページで、Microsoft Outlookのアクセス資格情報が保存されている接続を選択します。メタストアでCREATE CONNECTION権限を持っている場合は、クリックできます プラスアイコン。 Microsoft Outlook への認証を構成する際に認証の詳細を使用して新しい接続を作成するには、接続を作成します。
  4. 次へ をクリックします。
  5. 取り込み設定 ページで、パイプラインの一意の名前を入力します。
  6. イベントログを書き込むカタログとスキーマを選択してください。カタログに対してUSE CATALOGCREATE SCHEMA権限をお持ちの場合は、クリックできます。 プラスアイコン。 ドロップダウンメニューから「スキーマを作成」を選択して、新しいスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. ソース ページで、 email_messagesテーブルを取り込むためのスキーマとしてdefaultを選択します。
  9. 保存して続行 をクリックします。
  10. 「宛先」 ページで、データをロードするカタログとスキーマを選択します。カタログに対してUSE CATALOGCREATE SCHEMA権限をお持ちの場合は、クリックできます。 プラスアイコン。 ドロップダウンメニューから「スキーマを作成」を選択して、新しいスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) スケジュールと通知 ページで、 プラスアイコン。スケジュールを作成します 。宛先テーブルを更新する頻度を設定します。
  13. (オプション)クリック プラスアイコン。通知を追加して パイプライン操作の成功または失敗に関する電子メール通知を設定し、 [保存してパイプラインを実行] をクリックします。

これらの例を参考に、パイプラインを設定してください。利用可能なコネクタの全リストについては、コネクタオプションを参照してくださいoutlook_options

すべての電子メール メッセージを取り込む (無事受信トレイ フォルダー)

この例では、テナント内のアクセス可能なすべてのメールボックスの受信トレイ フォルダーから電子メール メッセージを取り込みます。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

resources:
pipelines:
pipeline_outlook:
name: outlook_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <outlook-connection>
objects:
- schema:
source_schema: default
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
connector_options:
outlook_options:
start_date: '2024-01-01'

フィルターを使用して特定のメールボックスからデータを取り込みます

この例では、フォルダ、送信者、件名でフィルタリングされた特定のメールボックスからの電子メールメッセージを取り込みます。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

resources:
pipelines:
pipeline_outlook:
name: outlook_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <outlook-connection>
objects:
- schema:
source_schema: default
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
connector_options:
outlook_options:
include_mailboxes:
- user1@contoso.com
- user2@contoso.com
include_folders:
- Inbox
- Sent Items
include_senders:
- alerts@vendor.com
- noreply@system.io
include_subjects:
- SubjectExactMatch
- SubjectPrefixMatch*
start_date: '2024-01-01'
body_format: TEXT_PLAIN
attachment_mode: NON_INLINE_ONLY

email_messagesテーブルを明示的に取り込む

この例では、スキーマを対象とする代わりに、 email_messagesテーブルを直接選択します。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

resources:
pipelines:
pipeline_outlook:
name: outlook_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <outlook-connection>
objects:
- table:
source_schema: default
source_table: email_messages
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: my_email_messages
connector_options:
outlook_options:
start_date: '2024-01-01'

バンドルジョブ定義ファイル

以下は、宣言型自動化バンドルで使用するジョブ定義ファイルの例です。ジョブは毎日、最後の実行からちょうど 1 日後に実行されます。

YAML
resources:
jobs:
outlook_dab_job:
name: outlook_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_outlook.id}

一般的なパターン

高度なパイプライン構成については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。

次のステップ

パイプラインの開始、スケジュール設定、アラートの設定を行います。「一般的なパイプラインのメンテナンス作業」を参照してください。

その他のリソース