注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
CData JDBC ドライバーを使用して Foundry を Asana に接続し、Foundry データセットにデータをインポートします。
| 機能 | ステータス |
|---|---|
| 探索 | 🟢 一般提供 |
| 一括インポート | 🟢 一般提供 |
| インクリメンタル(差分連携) | 🟢 一般提供 |
CData ドライバーは、Asana データを、標準 SQL 文でクエリできるリレーショナルデータベース内のテーブルのリストとしてモデル化します。利用可能なテーブルとその内容については、CData ドキュメントの Asana テーブル ↗を確認してください。
Foundry でのコネクターのセットアップについて詳しくはこちら。
Asana への認証には、個人用アクセストークンまたはサービスアクセストークンを使用します。
サービスアカウントトークンまたは個人用アクセストークンを生成するには、Asana ドキュメントのガイドに従ってください。
以下のテーブルは、ソースの実行に必要なアクセス先ドメインを示しています。
Foundry ワーカー接続では、ドメインごとにエグレスポリシーを追加します。
ドメインが別のネットワーク上にあり、Agent プロキシのエグレスポリシー(推奨)または Agent ワーカー(非推奨)を使用する場合、Agent がそれらのドメインに到達できる必要があります。また、それらのドメイン上のシステムは、Agent からの接続を許可する必要があります。Agent のネットワークについて詳しくはこちら。
| ドメイン | 必須 |
|---|---|
app.asana.com | 常に必須 |
Asana コネクターでは、以下の設定オプションを利用できます。
| オプション | 必須? | 説明 |
|---|---|---|
| プロジェクトID | はい | Asana のプロジェクトの URL でプロジェクトIDを確認します。例: https://app.asana.com/0/PROJECT_ID/list |
| 資格情報の設定 | はい | 上記の認証のガイダンスに従って設定します。 |
| プロキシ設定 | いいえ | Asana へのプロキシ接続を許可するには、有効にしてユーザー名とパスワードを入力します。 |
| ログ | いいえ | 有効にすると、コネクターによる情報のログ記録方法を制御できます。詳細については、以下のログ設定セクションを確認してください。 |
接続のトラブルシューティングには、詳細なログが必要になる場合があります。冗長レベル設定を使用して、ログに記録する情報量を増減します。
ログの冗長レベルを上げると、機密情報が Foundry のビルドログに保存される可能性があります。これらのログを共有する前に、必要に応じてパスワードを伏せてください。各冗長レベル ↗の詳細については、CData ドキュメントを確認してください。
Asana の同期をセットアップするには、ソースの概要画面の右上にある同期の探索と作成を選択します。次に、Foundry に同期するテーブルを選択します。同期の準備ができたら、x個のデータセットの同期を作成を選択します。
Foundry でのソース探索について詳しくはこちら。
Asana コネクターでは、高度な同期設定を使用して、どのデータをどれだけ Foundry に取り込むかを決めることができます。
利用可能なテーブルを探索して接続に追加したら、同期を編集に移動します。左側の同期パネルで設定する同期を見つけ、右側の > を選択します。
| オプション | 必須? | 説明 |
|---|---|---|
| テーブル | はい | Asana から Foundry にコピーするテーブルを選択します。サポートされているテーブルについては、データモデルを参照してください。 |
| 列の選択 | いいえ | Foundry に同期する列のサブセットを選択します。詳細については、以下の列の選択セクションを参照してください。 |
| 行フィルター | いいえ | フィルターを有効にして追加し、列の値に基づく条件を満たさない行を除外します。詳細については、以下の行フィルターセクションを参照してください。 |
| 制限 | いいえ | 基になるクエリに SQL の limit 句を追加します。この設定を使用すると、1回の実行で Foundry に同期する行数を制限できます。 |
| インクリメンタル(差分連携) | いいえ | 有効にすると、小さなバッチでデータが Foundry に同期されます。詳細については、以下のインクリメンタルセクションを参照してください。 |
通常、同期では、前回の同期以降にデータが変更されたかどうかにかかわらず、対象テーブルから条件に一致するすべての行をインポートします。一方、インクリメンタル(差分)同期では、直近の同期に関する状態を保持し、対象から条件に一致する新しい行のみを取り込みます。
インクリメンタル同期は、Asana から大規模なテーブルを取り込む場合に使用できます。インクリメンタル同期を使用するには、テーブルに厳密に単調増加する列が含まれている必要があります。また、読み取り元のテーブルには、次のいずれかのデータ型の列が含まれている必要があります。
DATETIMESTAMP数値の列のデータ型:
intTINYINTSMALLINTINTEGERlongBIGINTNUMERICNUMBERDECIMALDEC文字列の列のデータ型:
stringVARCHARCHARNVARCHARNCHARLONGNVARCHARLONGVARCHARインクリメンタル同期には、次の設定が必要です。
| オプション | 必須? | 説明 |
|---|---|---|
| 列 | はい | インクリメンタル取り込みに使用する列を選択します。テーブルにサポートされているデータ型の列が含まれていない場合、ドロップダウンメニューは空になります。 |
| 初期値 | はい | データの同期を開始する値です。 |
例: 5 TB のテーブルに、Asana に同期したい数十億行のデータが含まれているとします。このテーブルには、id という単調増加する列があります。id 列をインクリメンタル列として使用し、初期値を -1、制限を5000万行に設定することで、1回に5000万行を取り込むように同期を設定できます。
同期を初めて実行すると、id の値が -1 より大きい最初の5000万行(id に基づく昇順)が Foundry に取り込まれます。たとえば、この同期を数回実行し、直近の実行で取り込まれた最大の id が 19384004822 だった場合、次の同期では、19384004822 より大きい最初の id から始まる次の5000万行が取り込まれ、以降も同様に処理されます。
Foundry に同期する列を選択します。列を選択しない場合、すべての列が Foundry に同期されます。
すべての列名は、アンダースコアまたは英字で始まる必要があります。名前に使用できるのは、アンダースコア、英字、数字のみです。
次の例は有効な列名です。
_colum_namea_column_name_123次の例は無効な列名です。
1ColumnName:数字で始まっています。a-column-name*:ハイフンとアスタリスクが含まれています。å-column-name:英字以外の文字が含まれています。フィルターを追加して、同期する行数を減らしたり、Foundry に同期する行を個別に選択したりできます。行フィルターを設定するには、テーブルのプレビューに成功する必要があります。行フィルターを設定する前に、インターフェースの下部にある受信データのプレビューセクションでプレビューを更新することを推奨します。プレビューを更新して、追加したフィルターの動作を検証できます。
フィルターの設定は、行が Foundry に同期されるために満たす必要がある条件の組み合わせで構成されます。各条件の組み合わせは、すべての条件に一致する場合、または at-least one の条件に一致する場合に、一致と評価されるように設定できます。条件の組み合わせを入れ子にすることで、インポートするデータをより細かく制御でき、高い柔軟性を実現できます。これらは標準 SQL の AND 文と OR 文に相当します。
条件自体は、Asana のテーブルの列にある値と、インターフェースで入力できる値との単純な比較です。たとえば、CreatedAt が 12/04/2021 に等しいという条件では、CreatedAt 列の値が 12/04/2021 である行のみがインポートされます。列のデータ型によって、サポートされる比較操作が決まります。
フィルターでは、次の操作がサポートされています。
これらの比較操作は、標準 SQL における同じ操作と同等に動作します。
文字列型の列では、標準 SQL-92 の構文を使用する Like 演算子と Not like 演算子もサポートされています。