注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Slack コネクタはベータ版の状態であり、ユーザーの Foundry エンロールメントで利用できない場合があります。Data Connection の新しいソースページで Slack が見つからない場合は、アクセスを有効にするために Palantir サポートに連絡してください。
Foundry を Slack に接続し、CData JDBC ドライバーを使用して Foundry データセットにデータをインポートします。
機能 | ステータス |
---|---|
バルクインポート | 🟡 ベータ |
探索 | 🟡 ベータ |
インクリメンタル | 🟡 ベータ |
CData ドライバーは、Slack データをリレーショナルデータベースのテーブルのリストとしてモデル化し、標準 SQL ステートメントを使用してクエリを実行できます。利用可能なテーブルとその内容についての情報は、CData ドキュメントの Slack テーブル ↗ を参照してください。
コネクタの設定についてさらに詳しく学びましょう。
Slack への認証はベアラートークンを使用して行います。これは、ユーザーの Slack ワークスペースにインストールされた Slack アプリに関連付けられたボットユーザートークンを使用して提供できます。
ボットトークンの使用により、個々のユーザーに直接リンクしない、永続的かつ耐久性のあるソースの作成が可能になります。Slack アプリを作成し、そのボットトークンを取得するには、Slack ドキュメントの手順に従ってください:
データテーブルをインジェストするには、source configuration の 資格情報 設定で構成されたベアラートークンの Slack アプリに特定の Slack 権限スコープが付与されている必要があります。
すべての CData ドライバ機能をサポートするために必要な権限スコープの完全なリストについては、CData ドキュメント ↗ を参照してください。データインジェスト機能のみを使用する場合、Slack コネクタを使用する場合には書き込み権限スコープは必要ありません。権限スコープの詳細については、Slack ドキュメント ↗ を参照してください。
データインジェストに使用する Slack アプリケーションの権限スコープの要件は、これらのテーブル内の特定のデータテーブルまたは Slack チャンネルデータの種類のみが必要な場合に削減できます。
例: Slack メッセージおよびチャンネルタイプに関連するデータテーブルをインジェストするための権限スコープの要件には次のものが含まれます:
テーブル名 | スコープ | 常に必要か? | 説明 |
---|---|---|---|
Users | users:read | はい | ユーザーをロードする。 |
Channels | channels:read , groups:read , im:read , mpim:read | いいえ | 公開、非公開、im(ダイレクトメッセージ)、または mpim(グループダイレクトメッセージ)チャンネルをロードする場合にのみ必要です。すべてのチャンネルタイプをロードする場合(チャンネルフィルターが指定されていない場合のデフォルト)にはすべてが必要です。 |
Messages または MessageReplies | channels:history , groups:history , im:history , mpim:history + Channels の要件 | いいえ | 公開、非公開、im または mpim チャンネルからメッセージ/返信をロードする場合にのみ必要です。すべてのチャンネルタイプからロードする場合(チャンネルフィルターが指定されていない場合のデフォルト)にはすべてが必要です。チャンネルメンバーシップ要件については以下の追加注記も参照してください。 |
Slack コネクタを使用して Slack アプリケーションのボットトークンを使用して特定の Slack チャンネルからメッセージとメッセージ返信をインジェストするには、最初に Slack アプリケーションが Slack チャンネルに 追加される 必要があります。また、上記のようにチャンネルタイプの読み取り権限スコープが必要です。 Slack アプリケーションはユーザーが手動でチャンネルに追加するか、Slack Web API ↗ を使用してアプリケーションのボットユーザートークンを使用してプログラムで公開チャンネルに参加することができます。
Slack コネクタは、ポート 443
で slack.com
へのネットワークアクセスを必要とします。インターネット経由で直接接続を使用している場合は、エグレスポリシー が存在することを確認してください。
エージェントランタイムの場合、エージェントを実行しているサーバーはこのドメインへのネットワークアクセスが必要です。
Slack コネクタで利用できる設定オプションは次のとおりです:
オプション | 必須か? | 説明 |
---|---|---|
資格情報設定 | はい | 上記の 認証 ガイドラインを使用して設定します。 |
プロキシ設定 | いいえ | プロキシ接続を Slack に許可するためにユーザー名とパスワードを入力します。 |
ログ | いいえ | コネクタが情報をログに記録する方法を制御するために有効にします。詳細については ログ設定 セクションを参照してください。 |
Slack の同期を設定するには、ソース 概要 画面の右上にある Explore and create syncs を選択します。次に、Foundry に同期したいテーブルを選択します。同期の準備ができたら、Create sync for x datasets を選択します。
Foundry でのソース探索についてさらに詳しく学びましょう。
Slack コネクタは、どのデータをどれだけ Foundry に取り込むかを決定するための高度な同期設定を提供します。
利用可能な同期を探索してコネクタに追加した後、Edit syncs に移動します。左側の Syncs パネルから設定したい同期を見つけて、右側の > を選択します。
オプション | 必須か? | 説明 |
---|---|---|
テーブル | はい | 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
テーブルには、構成されたベアラートークンがアクセスできるすべてのチャンネルの非スレッド返信メッセージが含まれています。CreatedTime
タイムスタンプ列があります。CreatedTime
列を使用し、メッセージを読み取る開始タイムスタンプ値を設定して、新しいメッセージのみをインジェストするように同期を設定できます。CreatedTime
タイムスタンプ以降に作成されたメッセージのみがインジェストされます。MessageReplies
テーブルのスレッドメッセージ返信をその CreatedTime
タイムスタンプ列を使用して同期することができます。Foundry に同期する列を選択します。列が選択されていない場合は、すべての列が Foundry に同期されます。
すべての列名はアンダースコアまたは英字から始める必要があります。名前にはアンダースコア、英字、または数字のみを含めることができます。
次の例は有効な列名です:
_colum_name
a_column_name_123
次の例は無効な列名です:
1ColumnName
; 数字で始まります。a-column-name*
; ハイフンとアスタリスクが含まれています。å-column-name
; 英字以外の文字が含まれています。フィルターを追加して同期する行の数を減らしたり、Foundry に同期する行を個別に選択したりできます。行フィルターを設定するには、テーブルのプレビューが成功する必要があります。行フィルターを設定する前に、インターフェースの一番下にある Preview of inbound data
セクションを使用してプレビューを更新することをお勧めします。プレビューを更新して、追加したフィルターの動作を確認できます。
フィルター設定は、行が Foundry に同期されるために通過しなければならない条件のセットで構成されます。それぞれの条件セットは、すべて
の条件が一致する場合、または 少なくとも 1 つ
の条件が一致する場合に一致するように評価できます。条件セットはネストして、インポートする内容をより細かく制御し、高い柔軟性を提供します。これらは標準 SQL の AND
および OR
ステートメントに相当します。
条件自体は、Slack のテーブルの列の値とインターフェースに入力できる値の単純な比較です。たとえば、条件 CreatedAt
が 12/04/2021
に等しい場合、CreatedAt
列の値が 12/04/2021
である行のみがインポートされます。列のデータタイプはサポートされる比較操作を決定します。
フィルターでサポートされる操作は次のとおりです:
EQUAL TO
GREATER THAN
LESS THAN
GREATER THAN OR EQUAL TO
LESS THAN OR EQUAL TO
NOT EQUAL TO
IS NULL
IS NOT NULL
これらの比較操作は、標準 SQL でこれらの操作がどのように動作するかと同様に動作します。
文字列型の列は、標準 SQL-92 構文を使用する Like
および Not like
演算子もサポートしています。