このページでは、ワークスペースの通知先を作成して構成する方法について説明します。
システム通知は、ワークフローで実行イベント (開始、成功、失敗) が発生したときに通知するメッセージです。 デフォルトでは通知はユーザーのメールアドレスに送信されますが、管理者はWebhooksやSlackおよびMicrosoft Teams(ベータ版)用のDatabricks Genieアプリを使って、別の通知宛先を設定することができます。 これにより、Azure Databricksとのイベントドリブン統合を構築できます。
管理者は、Unity カタログ オブジェクトの特権要求など、ワークスペース ユーザーからアクセス要求を受け取るように通知先を構成することもできます。
通知の送信先を管理するには、Azure Databricks ワークスペース管理者である必要があります。 送信先を構成すると、すべてのユーザーがそれを使用できるようになります。
ネットワーク要件
ウェブフックベースの宛先では、受信エンドポイントが以下の要件を満たす必要があります:
- Azure Databricksは、セキュリティのために HTTPS の使用を強制します。 通知先は、信頼された証明機関によって署名された Secure Sockets Layer (SSL) 証明書を使用することが必要です。
- 通知先は、ワークスペース コントロール プレーンとデータ プレーン送信 IP アドレスの両方を許可リストに追加する必要があります。
コントロール プレーン Web アプリの IP アドレスについては、Azure Databricks サービスと資産のIP アドレスとドメインを参照してください。
データ プレーンのアウトバウンド IP アドレスについては、Azure Databricks が公開している
ip-ranges.jsonファイルを参照してください。 ワークスペースのデータ プレーンリージョンのファイルを検索し、ネットワーク スタック内の対応する送信 IP アドレスを許可リストに登録します。Azure Databricksは、送信 IP を 30 日に 1 回更新できます。 更新された IP は公開から 60 日後にアクティブになるため、アクティブ化ウィンドウが閉じる前にファイルを定期的に確認し、許可リストを更新します。
リリース間の変更を追跡するには、JSON ファイルの連続するバージョンを保存し、
timestampSeconds値を比較します。 次の場所にあるエントリをフィルター処理します。-
serviceフィールドはDatabricksです。 -
platformフィールドはazureです。 -
typeフィールドはoutboundです。
-
新しい通知の送信先を作成する
新しい通知の送信先を構成するには
- ワークスペースの上部バーでユーザー名を選択し、ドロップダウンから [設定] を選択します。
- [ワークスペース管理者] セクションで、[通知] タブをクリックします。
- [管理] ボタンをクリックします。
- [+ ターゲットの追加] をクリックします。
- 送信先の種類を選択します。 現時点では、次の送信納先がサポートされています。
- スラック
- Webhook(オプション のOAuth認証付き)(ベータ版)
- Microsoft Teams
- PagerDuty
- 種類に基づいて宛先を構成します。
- Create をクリックしてください。
ウェブフックペイロード
通知を送信するサービスがウェブフックのペイロードを定義します。 ジョブが送信するペイロードについては、 HTTPウェブフックペイロードを参照してください。 状態変更後にDatabricks SQLアラートが送信するペイロードについては、 SQL alert webhookペイロードを参照してください。
宛先ごとに異なる資格情報を使用する
宛先の構成は、Azure Databricks ワークスペースに安全に暗号化されて格納されます。 URLや認証情報の提供が必要な目的地については、Azure Databricksは設定済みの宛先ごとに異なる認証情報を使うことを推奨しています。 これにより、サードパーティのエンドポイントが侵害された場合の影響は限定されます。 次のようなものが含まれます。
- Slackを使ったウェブフック:通知を送信するURLです。
- Microsoft Teamsがウェブフックを使う場合:通知が送信されるURLです。
- PagerDuty: 通知を PagerDuty サービスに一意にルーティングするために使われる統合キー。
- Webhook:HTTP Basic認証用のユーザー名とパスワード、または OAuth認証(ベータ版)用のクライアントIDとクライアントシークレット。
構成された宛先ごとに異なるシークレットを使用すると、Azure Databricks ワークスペース内の他のすべての宛先の操作に影響を与えることなく、個々の通知先のアクセスを個別に取り消すことができます。
ウェブフック宛先のOAuth認証
Important
この機能は ベータ版です。 使用するには、ワークスペース管理者がプレビューページから「Destination Type Generic Webhook Oauth」を有効にする必要があります。 ワークスペース レベルのプレビューの管理を参照してください。
OAuth 2.0のクライアント認証情報を使って、アクセストークンが必要なエンドポイントに通知を送信します。 Azure Databricksはアイデンティティプロバイダーからトークンを取得し、それを使って通知リクエストを認証します。
あなたのアイデンティティプロバイダーはクライアントの資格付与を支持しなければなりません。 受信端とトークン端の両方がHTTPSを使用しなければなりません。
OAuthのウェブフック宛先を作成するには:
- 設定>通知で「管理」をクリックし、+宛先を追加してください。
- 名前を入力し、Type で Webhook を選択します。
- 認証モードではOAuthを選択してください。
- 次の値を入力します。
- URL:通知を受け取るエンドポイントです。
- クライアントID と クライアントシークレット:あなたのアイデンティティプロバイダーが発行する認証情報です。
- トークンエンドポイントURL:Azure Databricksがアクセストークンを取得するエンドポイントです。
- スコープ と オーディエンス:アイデンティティプロバイダーが要求する場合は、これらのオプション値を入力してください。 複数のスコープはカンマで区切ってください。
- Create をクリックしてください。
クライアントID、クライアントシークレット、トークンエンドポイントURLは一緒に必要です。 OAuthはHTTP Basic認証と組み合わせることはできません。
設定を確認するには、宛先の三点メニューを開き、「 テスト」をクリックしてください。 Azure Databricksはアクセストークンを取得し、サンプル通知を送信します。 テストが失敗した場合は、両方のエンドポイントの認証情報、スコープ、オーディエンス、受信者の権限、ネットワークアクセスを確認してください。
Slack の送信先
WebhookベースのSlack宛先を設定するには、 Incoming webhooks for Slackの指示に従ってください。 生成された URL をAzure Databricks通知先に貼り付けます。 代わりにDatabricks Genieアプリを使用するには、SlackおよびMicrosoft Teams Genieのアプリ宛先をご覧ください。
SlackおよびMicrosoft Teams Genieアプリの目的地
Important
この機能は ベータ版です。 これを使用するには、ワークスペース管理者がプレビューページからDestinationタイプのDatabricks App SlackまたはDestinationタイプのDatabricks App Teamsを有効にする必要があります。 ワークスペース レベルのプレビューの管理を参照してください。
Databricks Genieアプリを使って、SlackワークスペースやMicrosoft TeamsテナントをAzure Databricksワークスペースに接続してください。 次に、通知先として利用可能なチャンネルを選択します。
Genieアプリの宛先は以下の機能で利用できます:
- SQLアラート:SlackとMicrosoft Teams。
- Unity Catalog のアクセス リクエスト: Slack と Microsoft Teams。
- エンドポイント通知のモデル:Slack。
Genieアプリの宛先を作成する
Genieアプリの目的地を作成する前に、SlackまたはMicrosoft Teams用のDatabricks Genieアプリをインストールし、それをAzure Databricksワークスペースに接続し、通知を受け取るチャネルに追加してください。 アプリのインストールや接続手順の詳細については、SlackまたはMicrosoft Teamsをご覧ください。
Genieアプリの宛先を作成するには:
設定>通知で「管理」をクリックし、+宛先を追加してください。
タイプを選択し、SlackまたはMicrosoft Teamsを選択し、その後「Using Databricks App」を選択してください。
目的地の名前を入力してください。
ワークスペースまたはテナントとチャンネルを選択してください:
- Slackでは、 Slackのワークスペース と チャンネルを選択します。
- Microsoft Teamsでは、テナントとチャネルを選択してください。 テナントセレクターは、各テナントIDの最後の6文字でテナントを特定します。
SlackワークスペースやMicrosoft Teamsテナントが接続されていない場合は、「Slackワークスペースを接続」または「Teamsテナントを接続」をクリックして、Genieアプリのセットアップを完了してください。 宛先フォームに戻り、「 更新」をクリックします。 もしGenieアプリをチャンネルに追加したばかりなら、チャンネルリストを更新するには 「チャンネルを読み込み」 をクリックしてください。
Create をクリックしてください。
PagerDutyの目的地
PagerDutyの目的地を設定するには:
- PagerDutyでサービスに統合を追加し、「 Events API V2 」統合タイプを選択します。
- PagerDutyが統合のために生成する統合キーをコピーしてください。
- Azure Databricksで、統合キーをPagerDutyの通知宛先に貼り付けます。
Webhook をジョブに追加する
宛先を構成した後は、ジョブの ジョブ通知 設定でそれらの宛先にアクセスできます。 詳細については、「ジョブに通知を追加する」を参照してください。
各ジョブは、イベントの種類ごとに最大 3 つのシステム宛先をサポートします。 ジョブ通知を構成するときは、電子メール アドレスを手動で入力する必要があります。
制限事項
現在、通知先には次の制限があります。
- メール通知の送信先には、受信者のアドレスの長さに 1,300 文字の制限があります。
- カスタム通知機関の場合、SlackやMicrosoft Teamsなどの非メール宛先はHTMLフォーマットをサポートしていません。 一部の通知先ではマークダウンがサポートされています。
- ジョブの場合、メールの送信先はジョブの設定で手動で設定する必要があります。