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

Slack のアクセスおよび統合ログからデータを取り込む

備考

ベータ版

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

このページでは、LakeFlow Connect を使用して、マネージド Slack アクセスと統合ログ インジェスト パイプラインを作成する方法について説明します。

要件

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

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

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

    • 新しい接続を作成する予定がある場合は、メタストアに対する CREATE CONNECTION 特権が必要です。Unity Catalog での特権の管理を参照してください。

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

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

    • ターゲットカタログに対するUSE CATALOG権限が必要です。

    • 既存のスキーマに対するUSE SCHEMAおよびCREATE TABLE権限、またはターゲットカタログに対するCREATE SCHEMA権限を持っている必要があります。

  • Slack から取り込むには、まず Databricks から認証を設定し、接続を作成する必要があります。次を参照してください:Slack 認証の設定 および Slack アクセスおよび統合ログ接続を作成する

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

サポートされているソーステーブルの一覧については、「サポートされているソーステーブル」を参照してください。

Slackアクセスおよび統合ログのパイプラインをコードとして管理するには、宣言型オートメーションバンドルを使用してください。バンドルには、ジョブとタスクの YAML 定義を含めることができ、Databricks CLI を使用して管理され、異なるターゲット ワークスペース(開発、ステージング、本番運用など)で共有および実行できます。詳細については、「宣言型オートメーションバンドルとは」をご覧ください。

  1. Databricks CLIを使用してバンドルを作成するには、次の手順を実行します。

    Bash
    databricks bundle init
  2. バンドルに2つの新しいリソースファイルを追加:

    • パイプライン定義ファイル(例えば、resources/slack_access_integration_logs_pipeline.yml)です。「パイプライン.ingestion_definition」を参照してください。と
    • データ取り込みの頻度を制御するジョブ定義ファイル(例: resources/slack_access_integration_logs_job.yml)。
  3. Databricks CLIを使用してパイプラインをデプロイする:

    Bash
    databricks bundle deploy

Slack アクセスおよび統合ログコネクタは、default ソーススキーマの下に 2 つのソーステーブル (access_logsintegration_logs) を公開しています。個々のテーブルまたはスキーマ全体を取り込むことができます。

取り込むテーブルを指定する

このオプションを使用して、特定のテーブルのサブセットを取り込むか、テーブルごとに宛先名をカスタマイズします。

以下のパイプライン定義ファイルは、個別のスラック アクセスと統合ログ テーブルを取り込みます。

YAML
resources:
pipelines:
slack_access_integration_logs_pipeline:
name: slack_access_integration_logs_pipeline
catalog: 'main'
target: 'slack_access_integration_logs_data'
ingestion_definition:
connection_name: slack_access_integration_logs_connection
objects:
- table:
source_schema: 'default'
source_table: 'access_logs'
destination_catalog: 'main'
destination_schema: 'slack_access_integration_logs_data'
destination_table: 'access_logs'
- table:
source_schema: 'default'
source_table: 'integration_logs'
destination_catalog: 'main'
destination_schema: 'slack_access_integration_logs_data'
destination_table: 'integration_logs'

スキーマ全体を取り込む

すべてのSlackアクセスおよび統合ログのソーステーブルを1回の宣言で単一の宛先スキーマに取り込むには、このオプションを使用してください。

次のパイプライン定義ファイルは、サポートされているすべての Slack アクセスおよび統合ログテーブルを宛先スキーマに取り込みます。

YAML
resources:
pipelines:
slack_access_integration_logs_pipeline:
name: slack_access_integration_logs_pipeline
catalog: 'main'
target: 'slack_access_integration_logs_data'
ingestion_definition:
connection_name: slack_access_integration_logs_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'slack_access_integration_logs_data'

宣言型オートメーションバンドル ジョブ定義ファイル

以下は、宣言型オートメーションバンドルで使用するジョブ定義ファイルの例です。ジョブは毎日実行されます。

YAML
resources:
jobs:
slack_access_integration_logs_job:
name: slack_access_integration_logs_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: slack_access_integration_logs_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.slack_access_integration_logs_pipeline.id}

一般的なパターン

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

次のステップ

パイプラインの開始、スケジュール、アラートを設定する共通パイプラインメンテナンス タスクを参照してください。

その他のリソース