データ接続と統合利用可能なコネクターSlack

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Slack [ベータ版]

ベータ版

Data Connection の Slack コネクターは開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。開発が進むにつれて機能が変更される場合があります。Data Connection に Slack コネクターが表示されず、利用をご希望の場合は、Palantir サポートにお問い合わせください。

CData JDBC ドライバーを使用して Foundry を Slack に接続し、Foundry データセットにデータをインポートします。

サポートされる機能

機能ステータス
一括インポート🟡 ベータ版
探索🟡 ベータ版
インクリメンタル(差分連携)🟡 ベータ版

データモデル

CData ドライバーは Slack データを、標準 SQL ステートメントでクエリできるリレーショナルデータベース内のテーブルの一覧としてモデル化します。利用可能なテーブルとその内容については、CData の Slack テーブルに関するドキュメント ↗ を参照してください。

セットアップ

  1. Data Connection アプリケーションを開き、画面の右上にある + 新規ソースを選択します。
  2. 利用可能なコネクターの種類から Slack を選択します。
  3. 追加の設定プロンプトに従い、以下のセクションの情報を使用してコネクターのセットアップを続けます。

Foundry でのコネクターのセットアップについて詳しくはこちらをご覧ください。

認証

Slack への認証は Bearer トークンで行います。これには、Slack ワークスペースにインストールされた Slack アプリに関連付けられたボットユーザートークンを使用できます。

ボットトークンを使用すると、個々のユーザーに直接リンクしない、永続的で長期的に利用できるソースを作成できます。Slack アプリを作成してそのボットトークンを取得するには、Slack ドキュメントの手順に従います。

権限

データテーブルを取り込むには、ソース設定の資格情報設定で指定した Bearer トークンに対応する Slack アプリケーションに、特定の Slack 権限スコープを付与する必要があります。

CData ドライバーのすべての機能をサポートするために必要な権限スコープの完全な一覧については、CData ドキュメント ↗ を参照してください。Slack コネクターをデータ取り込み機能のみに使用する場合、書き込み権限スコープは不要です。権限スコープの詳細については、Slack ドキュメント ↗ を参照してください。

取り込みに必要なのが特定のデータテーブルのみ、またはこれらのテーブル内の特定の種類の Slack チャネルデータのみであれば、データ取り込みに使用する Slack アプリケーションに必要な権限スコープを減らせます。

例: Slack メッセージとチャネルの種類に関連するデータテーブルを取り込むために必要な権限スコープには、次のものがあります。

テーブル名スコープ常に必要?説明
Usersusers:readはいユーザーを読み込みます。
Channelschannels:read, groups:read, im:read, mpim:readいいえパブリックチャネルを読み込む場合は channels:read、プライベートチャネルの場合は groups:read、im(ダイレクトメッセージ)チャネルの場合は im:read、mpim(グループダイレクトメッセージ)チャネルの場合は mpim:read が必要です。すべての種類のチャネルを読み込む場合は、これらすべてが必要です(チャネルフィルターが指定されていない場合、これがデフォルトです)。
Messages または MessageReplieschannels:history, groups:history, im:history, mpim:history + Channels の要件いいえパブリックチャネルからメッセージ/返信を読み込む場合は channels:history、プライベートチャネルの場合は groups:history、im チャネルの場合は im:history、mpim チャネルの場合は mpim:history が必要です。すべての種類のチャネルから読み込む場合は、これらすべてが必要です(チャネルフィルターが指定されていない場合、これがデフォルトです)。チャネルへの参加要件については、以下の補足も参照してください。

Slack コネクターで Slack アプリケーションのボットトークンを使用し、特定の Slack チャネルからメッセージとメッセージへの返信を取り込むには、まず Slack アプリケーションを Slack チャネルに追加し、さらに前述のとおり、そのチャネルの種類に対する読み取り権限スコープを付与する必要があります。 Slack アプリケーションは、Slack でユーザーが手動でチャネルに追加できます。また、アプリケーションのボットユーザートークンを使用し、Slack Web API ↗ を通じてプログラムでパブリックチャネルに参加させることもできます。

ネットワーク

Slack コネクターには、ポート 443 で slack.com へのネットワークアクセスが必要です。ソースが Foundry で実行されている場合は、そのアドレスへのエグレスポリシーが存在することを確認してください。

Agent 上で実行されているソースの場合、Agent ホストにこのドメインへのネットワークアクセスが必要です。

設定オプション

Slack コネクターでは、次の設定オプションを利用できます。

オプション必須?説明
資格情報設定はい前述の認証のガイダンスに従って設定します。
プロキシ設定いいえ有効にしてユーザー名とパスワードを入力すると、Slack へのプロキシ接続が可能になります。
ログいいえ有効にすると、コネクターによる情報のログ記録方法を制御できます。

Slack からデータを同期する

Slack 同期をセットアップするには、ソースの概要画面の右上にあるソースを探索して同期を作成を選択します。次に、Foundry に同期するテーブルを選択します。同期の準備ができたら、x個のデータセットの同期を作成を選択します。

Foundry のソース探索について詳しくはこちらをご覧ください。

Slack の同期を設定する

Slack コネクターでは、詳細な同期設定を使用して、どのデータをどれだけ Foundry に取り込むかを決められます。

利用可能な同期を探索してコネクターに追加したら、同期を編集に移動します。左側の同期パネルで、設定する同期を探し、右側の > を選択します。

オプション必須?説明
テーブルはいSlack から Foundry にコピーするテーブルを選択します。サポートされているテーブルについては、データモデルを参照してください。
列の選択いいえFoundry に同期する列のサブセットを選択します。詳細については、以下の列の選択セクションを参照してください。
行フィルターいいえフィルターを有効にして適用し、列の値に基づく条件を満たさない行を除外します。詳細については、以下の行フィルターセクションを参照してください。
上限いいえ基になるクエリに SQL の limit 句を追加します。この設定を使用して、1回の実行で Foundry に同期する行数を制限できます。
インクリメンタル(差分連携)いいえ有効にすると、データが小さなバッチで Foundry に同期されます。詳細については、以下のインクリメンタルセクションを参照してください。

インクリメンタル

通常、同期では、同期の間にデータが変更されたかどうかにかかわらず、対象テーブルから条件に一致するすべての行をインポートします。一方、インクリメンタル同期では、直近の同期に関する状態を保持し、対象から条件に一致する新しい行のみを取り込みます。

インクリメンタル同期は、Slack から大きなテーブルを取り込むときに使用できます。インクリメンタル同期を使用するには、厳密に単調増加する列がテーブルに含まれている必要があります。また、読み取り元のテーブルには、次のいずれかのデータ型の列が含まれている必要があります。

  • DATE
  • TIMESTAMP

数値列のデータ型:

  • int
  • TINYINT
  • SMALLINT
  • INTEGER
  • long
  • BIGINT
  • NUMERIC
  • NUMBER
  • DECIMAL
  • DEC

文字列列のデータ型:

  • string
  • VARCHAR
  • CHAR
  • NVARCHAR
  • NCHAR
  • LONGNVARCHAR
  • LONGVARCHAR

インクリメンタル同期には、次の設定が必要です。

オプション必須?説明
列はいインクリメンタル取り込みに使用する列を選択します。サポートされているデータ型の列がテーブルに含まれていない場合、ドロップダウンメニューは空になります。
初期値はいデータの同期を開始する値です。

同期設定の例:

  • Messages テーブルには、設定された Bearer トークンがアクセスできるすべてのチャネルの、スレッド内の返信ではないすべてのメッセージが含まれます。
  • このテーブルには、メッセージの作成タイムスタンプを格納する CreatedTime タイムスタンプ列があります。
  • APPEND トランザクション同期のインクリメンタル列として CreatedTime 列を使用し、メッセージの読み取りを開始する初期タイムスタンプ値を指定することで、新しいメッセージのみを取り込むように同期を設定できます。
  • 初回の同期を実行すると、開始タイムスタンプ以降に作成されたすべてのメッセージが取り込まれます。
  • 次回の同期では、前回の同期で最も新しい CreatedTime タイムスタンプ以降に作成されたメッセージのみが取り込まれます。
  • 同様のインクリメンタル同期設定を使用して、MessageReplies テーブルの CreatedTime タイムスタンプ列に基づき、スレッド内のメッセージ返信を同期できます。

列の選択

Foundry に同期する列を選択します。列を選択しない場合、すべての列が Foundry に同期されます。

すべての列名は、アンダースコアまたは英字で始まる必要があります。列名に使用できるのは、アンダースコア、英字、数字のみです。

次の例は有効な列名です。

  • _colum_name
  • a_column_name_123

次の例は無効な列名です。

  • 1ColumnName:数字で始まっています。
  • a-column-name*:ハイフンとアスタリスクが含まれています。
  • å-column-name:英字以外の文字が含まれています。

行フィルター

フィルターを適用して、同期する行数を減らしたり、Foundry に同期する行を個別に選択したりできます。行フィルターを設定するには、テーブルのプレビューに成功する必要があります。行フィルターを設定する前に、インターフェース下部の受信データのプレビューセクションでプレビューを更新することを推奨します。プレビューを更新すると、適用したフィルターの動作を検証できます。

フィルター設定は、Foundry に同期されるために各行が満たす必要がある条件の集合で構成されます。それぞれの条件の集合は、すべての条件が一致した場合、または at-least one の条件が一致した場合に、一致と評価するように設定できます。条件の集合を入れ子にすると、インポートするデータをより細かく制御でき、高い柔軟性が得られます。これらは、標準 SQL の AND 文と OR 文に相当します。

条件自体は、Slack のテーブルの列にある値と、インターフェースで入力できる値との単純な比較です。たとえば、CreatedAt が 12/04/2021 に等しいという条件では、CreatedAt 列の値が 12/04/2021 である行のみがインポートされます。サポートされる比較操作は、列のデータ型によって決まります。

比較操作

フィルターでは、次の操作がサポートされています。

  • 等しい
  • より大きい
  • より小さい
  • 以上
  • 以下
  • 等しくない
  • null である
  • null ではない

これらの比較操作は、標準 SQL の対応する操作と同じように動作します。

文字列型の列では、標準 SQL-92 構文を使用する Like 演算子と Not like 演算子もサポートされています。