Asanaをデータパイプラインソースとして設定
Asanaをデータパイプラインソースとして設定し、タスク、プロジェクト、ポートフォリオ、目標、およびそれらの関連レコードなどの作業管理データをAsana REST APIから抽出して、送信先に同期します。
このガイドでは、機能と前提条件を確認し、Asanaをデータパイプラインソースとして接続し、パイプラインを設定し、サポートされるオブジェクト、同期モード、スキーマ処理、および制限について理解します。
サポートされている機能
Asanaをパイプラインソースとして使用する場合、次の機能がサポートされます:
- クラウド接続: https経由でAsana REST APIに接続します。 オンプレミスエージェントは不要です。
- オブジェクトレベルの選択: パイプラインを設定するときに、同期するサポート対象オブジェクトを選択します。
- 同期モード:
tasksオブジェクトと、それから派生したオブジェクトは増分同期されます。 その他のすべてのオブジェクトはフル同期を使用します。 - カスタムフィールドのサポート: ワークスペースレベルのカスタムフィールドは、
tasks、projects、portfolios、およびgoalsオブジェクトの動的列として同期されます。 - スキーマドリフト処理: ソースで新しく追加されたフィールドを自動同期するかブロックするかを選択します。
- フィールドレベルのデータ保護:転送先に到達する前に、フィールド値をそのままレプリケートするか、機密値をハッシュ化します。
- 設定可能な同期頻度:時間ベースまたはcronベースのスケジュールで同期をスケジュールします。 最小間隔は15分です。
前提条件
Asanaをデータパイプラインソースとして設定する前に、次の要件を満たしてください。
- 同期するワークスペースにアクセスできるAsanaアカウント。
- Asana OAuthフローを通じてサードパーティアプリケーションを承認する権限。
プランとワークスペースの要件
一部のオブジェクトには、特定のAsanaプランまたはワークスペースタイプが必要です。 portfolios、goals、portfolio_memberships、およびgoal_relationshipsオブジェクトには、BusinessまたはEnterpriseプランが必要です。 teamsおよびteam_membershipsオブジェクトには、検証済みメールドメインに関連付けられたワークスペースである組織ワークスペースが必要です。 詳細については、プランとワークスペースの要件を参照してください。
サポートされるコネクションタイプ
AsanaデータパイプラインはOAuth 2.0認証をサポートしています:
- OAuth 2.0: アカウントがアクセスできるAsanaワークスペースからWorkatoがデータを読み取ることを承認します。 Asanaアクセストークンは長期間有効で、取り消すまで期限切れになりません。
Asanaに接続
Asanaに接続するには、次の手順を実行します:
Asanaに接続
作成 > コネクションを選択するか、Cを2回押します。
New connection(新規コネクション)ページでAsanaを検索して選択します。
コネクション名フィールドに名前を入力します。
Asanaに接続
コネクションを保存する予定のプロジェクトまたはフォルダを選択するには、ロケーションドロップダウンメニューを使用します。
任意です。 Custom OAuth profilesドロップダウンメニューを使用して、このコネクションのカスタムOAuthプロファイルを選択します。
接続をクリックします。
デフォルトのログイン方法を使用してAsanaにサインインし、Workatoを認可します。 Asanaがコネクションを承認すると、Workatoに成功メッセージが表示されます。
パイプラインの設定
Asanaをデータパイプラインソースとして設定するには、次の手順を実行します:
作成 > データパイプラインを選択します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがAsanaからデータを取得する方法を定義します。
ソースアプリから新規/更新済みレコードを抽出トリガーを設定
接続済みソースアプリドロップダウンメニューを使用して、Asanaを選択します。
このパイプラインに使用するAsanaコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。
オブジェクトを追加
利用可能なAsanaオブジェクトのリストを検索または参照し、同期するオブジェクトを選択して、追加をクリックします。
同期モードはオブジェクトごとに検出されます
Asanaは各オブジェクトの同期モードを自動的に検出します。 詳細については、同期モードを参照してください。
選択した各オブジェクトのスキーマを確認してカスタマイズします。 パイプラインは、選択したオブジェクトスキーマを自動的に取得し、同期先がソースと一致するようにします。
オブジェクトを展開してフィールドを表示します。 使用可能なすべてのデータを抽出するには、すべてのフィールドを選択したままにします。または、抽出とスキーマレプリケーションからデータを除外するには、特定のフィールドの選択を解除します。
任意です。 オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。
- そのまま複製: ソースのデータ値が宛先に同一に複製されます。
- ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。
Workatoでは、個人を特定できる情報(PII)やその他の機密フィールドをハッシュ化することを推奨します。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。
さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、追加のAsanaオブジェクトをパイプラインに含めます。
スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。
- 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
- 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。
管理者はワークスペースにカスタムフィールドを頻繁に追加するため、WorkatoはAsanaで新規フィールドを自動同期を使用することをお勧めします。
任意です。 同時操作数を制限するには、同時実行制限フィールドに値を入力します。 Workatoが設定したデフォルトの制限を使用するには、このフィールドを空白のままにします。 値はWorkatoのデフォルト制限である100を超えることはできません。
頻度フィールドで、パイプラインがAsanaから送信先へデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
Asanaデータパイプラインは、Asana REST APIからデータを同期します。 次の表は、サポートされるオブジェクトをカテゴリ別に示しています。 各オブジェクトは、宛先内の個別のテーブルとして同期されます。
ワークスペースとユーザー
これらのオブジェクトは、コネクションがアクセスできるワークスペースと、その中のユーザーおよびタグを表します。
| オブジェクト | 同期モード | メモ |
|---|---|---|
ワークスペース | Full sync | 最上位コンテナー。 他のすべてのオブジェクトのスコープ指定に必要です。 |
ユーザー | Full sync | ワークスペースメンバー。 PIIを含みます。 |
teams | Full sync | 組織ワークスペースが必要です。 |
team_memberships | Full sync | 親teamsオブジェクトと同期されます。 組織ワークスペースが必要です。 |
tags | Full sync | ワークスペースレベルのタグ。 |
プロジェクト
これらのオブジェクトは、プロジェクトとその構造およびメンバーシップを表します。
| オブジェクト | 同期モード | メモ |
|---|---|---|
プロジェクト | Full sync | タスクのコアコンテナー。 |
sections | Full sync | 親projectsオブジェクトと同期されます。 |
project_memberships | Full sync | 親projectsオブジェクトと同期されます。 ユーザーをプロジェクトアクセスレベルにマッピングします。 |
カスタムフィールド
これらのオブジェクトは、Asanaのカスタムフィールド定義と、それらが有効化されているプロジェクトを表します。
| オブジェクト | 同期モード | メモ |
|---|---|---|
custom_fields | Full sync | カスタムフィールド定義。 |
custom_field_settings | Full sync | 親projectsオブジェクトと同期されます。 カスタムフィールド定義を、それらが有効化されているプロジェクトにマッピングします。 |
タスク
これらのオブジェクトは、タスクとそれらから派生したレコードを表します。 このカテゴリのすべてのオブジェクトはタスク抽出の一部として同期されるため、tasksオブジェクトの増分動作を継承します。
| オブジェクト | 同期モード | メモ |
|---|---|---|
タスク | 増分 | コア作業単位。 増分カーソルとしてmodified_atタイムスタンプを使用します。 PIIを含みます。 |
milestones | 増分 | タスクサブタイプがマイルストーンであるtasksオブジェクトのフィルター済みビューとして同期されます。 |
stories | 追加専用 | 親tasksオブジェクトと同期されます。 各タスクのコメントとアクティビティ履歴。 PIIを含みます。 |
task_projects | 増分 | 親tasksオブジェクトと同期されます。 タスクをそのプロジェクトメンバーシップにマッピングします。 |
task_sections | 増分 | 親tasksオブジェクトと同期されます。 タスクを各プロジェクト内のセクションにマッピングします。 |
task_tags | 増分 | 親tasksオブジェクトと同期されます。 タスクをそのタグにマッピングします。 |
task_followers | 増分 | 親tasksオブジェクトと同期されます。 タスクをそのフォロワーにマッピングします。 |
task_dependencies | 増分 | 親tasksオブジェクトと同期されます。 タスクを、それらが依存するタスクにマッピングします。 |
ポートフォリオと目標
これらのオブジェクトは、プロジェクト横断のポートフォリオと組織目標を表します。 BusinessまたはEnterpriseプランが必要です。
| オブジェクト | 同期モード | メモ |
|---|---|---|
portfolios | Full sync | プロジェクトのコレクション。 BusinessまたはEnterpriseプランが必要です。 |
portfolio_memberships | Full sync | 親portfoliosオブジェクトと同期されます。 ポートフォリオをそのプロジェクトにマッピングします。 |
goals | Full sync | 組織の目的。 BusinessまたはEnterpriseプランが必要です。 |
goal_relationships | Full sync | 親goalsオブジェクトと同期されます。 目標をその支援サブ目標にマッピングします。 |
同期モード
Asanaデータパイプラインは、フル同期と増分同期をサポートしています。 Asanaは各オブジェクトの同期モードを自動的に検出します。
フル同期
フル同期では、各実行時にオブジェクトの利用可能なすべてのレコードを読み取ります。 tasksとそれから派生したオブジェクトを除くすべてのオブジェクトは、projectsを含めてフル同期を使用します。
増分同期
増分同期では、前回の実行以降に作成または更新されたレコードのみを読み取ります。 tasksオブジェクトと、それから派生したオブジェクトは増分同期されます。 storiesオブジェクトは追記専用です。
各オブジェクトの同期モードを確認するには、サポートされるオブジェクトの表を参照してください。
削除追跡
フル同期されるオブジェクトは削除追跡をサポートします。 パイプラインは各フル同期を前回の実行と比較し、Asanaに存在しなくなったレコードを、送信先の_workato_is_deleted列でマークします。
tasksオブジェクトと、それから派生したオブジェクトは増分同期され、削除追跡をサポートしません。これは、増分実行では前回の実行以降に変更されたレコードのみを読み取り、削除を検出しないためです。
スキーマとデータ型の処理
コネクターは、データを送信先に複製するときに、特定のAsanaフィールドタイプに固有の処理を適用します。
リッチテキストフィールド
いくつかのオブジェクトは、タスクやプロジェクトのnotesとhtml_notesのように、プレーンテキストフィールドとHTML形式の対応フィールドの両方を公開します。 HTMLバリアントにはプレーンテキストバリアントにはない書式設定が含まれるため、両方のバリアントは別々の列として同期されます。
カスタムフィールド列
Asanaワークスペースは、管理者がプロジェクトに適用するカスタムフィールド定義のライブラリを維持します。 コネクターは、tasks、projects、portfolios、およびgoalsオブジェクトのカスタムフィールド値を次のように処理します:
custom_fields列には、フィールドのスコープがワークスペース、または個々のプロジェクト、ポートフォリオ、目標のいずれであっても、レコード上のすべてのカスタムフィールド値のJSONオブジェクトが含まれます。- ワークスペーススコープのカスタムフィールドには、
cf_がプレフィックスとして付いた独自の列も付与されるため、JSONを展開せずに直接クエリできます。 ローカルスコープのフィールドは、custom_fieldsJSONにのみ表示されます。 2つのローカルスコープのフィールドが同じ名前を共有している場合、JSONオブジェクト内で衝突し、最後の値のみが保持されます。
機密データの処理
Asanaオブジェクトには、個人を特定できる情報(PII)が含まれる場合があります。 次のオブジェクトには、一般的に機密フィールドが含まれます:
| オブジェクト | 機密フィールド |
|---|---|
ユーザー | name, email, photo |
タスク | name, notes, html_notes |
stories | text, html_text |
プロジェクト | name, notes, html_notes |
タスクとプロジェクトのnotesおよびhtml_notesフィールドは自由テキストであり、ユーザーが説明に電話番号、住所、またはその他の個人データを入力できるため、リスクが最も高くなります。 ユーザータイプのカスタムフィールドも、名前とメールアドレスを含むユーザーレコードを参照します。
パイプライン設定中にフィールドレベルのデータ保護でHashオプションを使用し、PIIが宛先に到達する前に保護します。 Workatoでは、GDPRまたはCCPAの下で動作するパイプラインについて、ユーザーのメールアドレスと自由テキストの説明フィールドをハッシュ化することをお勧めします。 詳細については、パイプラインを構成手順を参照してください。
制限事項
Asanaをデータパイプラインソースとして使用する場合、次の制限が適用されます:
増分同期はタスクに制限されています
tasksオブジェクトと、それから派生したオブジェクトのみが増分同期されます。 projectsを含むその他すべてのオブジェクトは、実行ごとに完全なレコードセットを再取得します。 大規模な非タスクオブジェクトの同期頻度を設定するときは、完全な再取得を考慮してください。
コンテナー読み取り制限
Asanaは、プロジェクトまたはセクション内のタスクなど、単一コンテナー内のAPI読み取りを約50,000項目に制限しています。 この制限はすべてのオブジェクトに適用されますが、tasksとその関連オブジェクトで最も到達する可能性が高くなります。 コンテナーが制限を超えると、Asanaはエラーを返し、そのオブジェクトの同期は失敗します。
パイプラインはプロジェクト単位ではなくセクション単位でタスクを読み取ることでリスクを軽減しますが、50,000件を超えるタスクを保持する単一セクションは引き続き失敗します。 パイプラインは完了ステータスに関係なくタスクを抽出するため、この件数には完了済みタスクが含まれます。 同期の失敗を避けるため、いずれか1つのセクション内のタスク数をこの制限未満に保ってください。
詳細については、AsanaのAPI制限ドキュメントを参照してください。
プランとワークスペースの要件
特定のオブジェクトには、特定のAsanaプランまたはワークスペースタイプが必要です:
| オブジェクト | 要件 |
|---|---|
portfolios, portfolio_memberships, goals, goal_relationships | BusinessまたはEnterpriseプラン |
teams, team_memberships | 組織ワークスペース(検証済みメールドメインに関連付け) |
プランとワークスペースがサポートするオブジェクトのみを選択してください。 必要なプランまたはワークスペースタイプがない状態でportfolio_memberships、goal_relationships、またはteam_membershipsオブジェクトを選択すると、同期はエラーで失敗します。
最小同期頻度
サポートされる最小同期間隔は15分です。 これより高い頻度で同期をトリガーすることはできません。
最終更新日: