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