Asanaをデータパイプラインソースとして設定

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Asanaをデータパイプラインソースとして設定し、タスク、プロジェクト、ポートフォリオ、目標、およびそれらの関連レコードなどの作業管理データをAsana REST APIから抽出して、送信先に同期します。

このガイドでは、機能と前提条件を確認し、Asanaをデータパイプラインソースとして接続し、パイプラインを設定し、サポートされるオブジェクト、同期モード、スキーマ処理、および制限について理解します。

サポートされている機能

Asanaをパイプラインソースとして使用する場合、次の機能がサポートされます:

  • クラウド接続: https経由でAsana REST APIに接続します。 オンプレミスエージェントは不要です。
  • オブジェクトレベルの選択: パイプラインを設定するときに、同期するサポート対象オブジェクトを選択します。
  • 同期モード: tasksオブジェクトと、それから派生したオブジェクトは増分同期されます。 その他のすべてのオブジェクトはフル同期を使用します。
  • カスタムフィールドのサポート: ワークスペースレベルのカスタムフィールドは、tasksprojectsportfolios、およびgoalsオブジェクトの動的列として同期されます。
  • スキーマドリフト処理: ソースで新しく追加されたフィールドを自動同期するかブロックするかを選択します。
  • フィールドレベルのデータ保護:転送先に到達する前に、フィールド値をそのままレプリケートするか、機密値をハッシュ化します。
  • 設定可能な同期頻度:時間ベースまたはcronベースのスケジュールで同期をスケジュールします。 最小間隔は15分です。

前提条件

Asanaをデータパイプラインソースとして設定する前に、次の要件を満たしてください。

  • 同期するワークスペースにアクセスできるAsanaアカウント。
  • Asana OAuthフローを通じてサードパーティアプリケーションを承認する権限。

プランとワークスペースの要件

一部のオブジェクトには、特定のAsanaプランまたはワークスペースタイプが必要です。 portfoliosgoalsportfolio_memberships、およびgoal_relationshipsオブジェクトには、BusinessまたはEnterpriseプランが必要です。 teamsおよびteam_membershipsオブジェクトには、検証済みメールドメインに関連付けられたワークスペースである組織ワークスペースが必要です。 詳細については、プランとワークスペースの要件を参照してください。

サポートされるコネクションタイプ

AsanaデータパイプラインはOAuth 2.0認証をサポートしています:

  • OAuth 2.0: アカウントがアクセスできるAsanaワークスペースからWorkatoがデータを読み取ることを承認します。 Asanaアクセストークンは長期間有効で、取り消すまで期限切れになりません。

Asanaに接続

Asanaに接続するには、次の手順を実行します:

Asanaに接続
1

作成 > コネクションを選択するか、Cを2回押します。

2

New connection(新規コネクション)ページでAsanaを検索して選択します。

3

コネクション名フィールドに名前を入力します。

Asanaに接続Asanaに接続

4

コネクションを保存する予定のプロジェクトまたはフォルダを選択するには、ロケーションドロップダウンメニューを使用します。

5

任意です。 Custom OAuth profilesドロップダウンメニューを使用して、このコネクションのカスタムOAuthプロファイルを選択します。

6

接続をクリックします。

7

デフォルトのログイン方法を使用してAsanaにサインインし、Workatoを認可します。 Asanaがコネクションを承認すると、Workatoに成功メッセージが表示されます。

パイプラインの設定

Asanaをデータパイプラインソースとして設定するには、次の手順を実行します:

1

作成 > データパイプラインを選択します。

2

データパイプライン名フィールドにデータパイプラインの名前を入力します。

データパイプライン設定データパイプライン設定

3

ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。

4

ビルドを開始をクリックします。

5

ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがAsanaからデータを取得する方法を定義します。

ソースアプリから新規/更新済みレコードを抽出トリガーを設定ソースアプリから新規/更新済みレコードを抽出トリガーを設定

6

接続済みソースアプリドロップダウンメニューを使用して、Asanaを選択します。

7

このパイプラインに使用するAsanaコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。

8

オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。

オブジェクトを追加オブジェクトを追加

9

利用可能なAsanaオブジェクトのリストを検索または参照し、同期するオブジェクトを選択して、追加をクリックします。

同期モードはオブジェクトごとに検出されます

Asanaは各オブジェクトの同期モードを自動的に検出します。 詳細については、同期モードを参照してください。

10

選択した各オブジェクトのスキーマを確認してカスタマイズします。 パイプラインは、選択したオブジェクトスキーマを自動的に取得し、同期先がソースと一致するようにします。

オブジェクトを展開してフィールドを表示します。 使用可能なすべてのデータを抽出するには、すべてのフィールドを選択したままにします。または、抽出とスキーマレプリケーションからデータを除外するには、特定のフィールドの選択を解除します。

11

任意です。 オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。

  • そのまま複製: ソースのデータ値が宛先に同一に複製されます。
  • ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。

Workatoでは、個人を特定できる情報(PII)やその他の機密フィールドをハッシュ化することを推奨します。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。

12

さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、追加のAsanaオブジェクトをパイプラインに含めます。

13

スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。

  • 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
  • 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。

管理者はワークスペースにカスタムフィールドを頻繁に追加するため、WorkatoはAsanaで新規フィールドを自動同期を使用することをお勧めします。

14

任意です。 同時操作数を制限するには、同時実行制限フィールドに値を入力します。 Workatoが設定したデフォルトの制限を使用するには、このフィールドを空白のままにします。 値はWorkatoのデフォルト制限である100を超えることはできません。

15

頻度フィールドで、パイプラインがAsanaから送信先へデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。

サポートされるオブジェクト

Asanaデータパイプラインは、Asana REST APIからデータを同期します。 次の表は、サポートされるオブジェクトをカテゴリ別に示しています。 各オブジェクトは、宛先内の個別のテーブルとして同期されます。

ワークスペースとユーザー

これらのオブジェクトは、コネクションがアクセスできるワークスペースと、その中のユーザーおよびタグを表します。

オブジェクト同期モードメモ
ワークスペースFull sync最上位コンテナー。 他のすべてのオブジェクトのスコープ指定に必要です。
ユーザーFull syncワークスペースメンバー。 PIIを含みます。
teamsFull sync組織ワークスペースが必要です。
team_membershipsFull syncteamsオブジェクトと同期されます。 組織ワークスペースが必要です。
tagsFull syncワークスペースレベルのタグ。

プロジェクト

これらのオブジェクトは、プロジェクトとその構造およびメンバーシップを表します。

オブジェクト同期モードメモ
プロジェクトFull syncタスクのコアコンテナー。
sectionsFull syncprojectsオブジェクトと同期されます。
project_membershipsFull syncprojectsオブジェクトと同期されます。 ユーザーをプロジェクトアクセスレベルにマッピングします。

カスタムフィールド

これらのオブジェクトは、Asanaのカスタムフィールド定義と、それらが有効化されているプロジェクトを表します。

オブジェクト同期モードメモ
custom_fieldsFull syncカスタムフィールド定義。
custom_field_settingsFull syncprojectsオブジェクトと同期されます。 カスタムフィールド定義を、それらが有効化されているプロジェクトにマッピングします。

タスク

これらのオブジェクトは、タスクとそれらから派生したレコードを表します。 このカテゴリのすべてのオブジェクトはタスク抽出の一部として同期されるため、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プランが必要です。

オブジェクト同期モードメモ
portfoliosFull syncプロジェクトのコレクション。 BusinessまたはEnterpriseプランが必要です。
portfolio_membershipsFull syncportfoliosオブジェクトと同期されます。 ポートフォリオをそのプロジェクトにマッピングします。
goalsFull sync組織の目的。 BusinessまたはEnterpriseプランが必要です。
goal_relationshipsFull syncgoalsオブジェクトと同期されます。 目標をその支援サブ目標にマッピングします。

同期モード

Asanaデータパイプラインは、フル同期と増分同期をサポートしています。 Asanaは各オブジェクトの同期モードを自動的に検出します。

フル同期

フル同期では、各実行時にオブジェクトの利用可能なすべてのレコードを読み取ります。 tasksとそれから派生したオブジェクトを除くすべてのオブジェクトは、projectsを含めてフル同期を使用します。

増分同期

増分同期では、前回の実行以降に作成または更新されたレコードのみを読み取ります。 tasksオブジェクトと、それから派生したオブジェクトは増分同期されます。 storiesオブジェクトは追記専用です。

各オブジェクトの同期モードを確認するには、サポートされるオブジェクトの表を参照してください。

削除追跡

フル同期されるオブジェクトは削除追跡をサポートします。 パイプラインは各フル同期を前回の実行と比較し、Asanaに存在しなくなったレコードを、送信先の_workato_is_deleted列でマークします。

tasksオブジェクトと、それから派生したオブジェクトは増分同期され、削除追跡をサポートしません。これは、増分実行では前回の実行以降に変更されたレコードのみを読み取り、削除を検出しないためです。

スキーマとデータ型の処理

コネクターは、データを送信先に複製するときに、特定のAsanaフィールドタイプに固有の処理を適用します。

リッチテキストフィールド

いくつかのオブジェクトは、タスクやプロジェクトのnoteshtml_notesのように、プレーンテキストフィールドとHTML形式の対応フィールドの両方を公開します。 HTMLバリアントにはプレーンテキストバリアントにはない書式設定が含まれるため、両方のバリアントは別々の列として同期されます。

カスタムフィールド列

Asanaワークスペースは、管理者がプロジェクトに適用するカスタムフィールド定義のライブラリを維持します。 コネクターは、tasksprojectsportfolios、およびgoalsオブジェクトのカスタムフィールド値を次のように処理します:

  • custom_fields列には、フィールドのスコープがワークスペース、または個々のプロジェクト、ポートフォリオ、目標のいずれであっても、レコード上のすべてのカスタムフィールド値のJSONオブジェクトが含まれます。
  • ワークスペーススコープのカスタムフィールドには、cf_がプレフィックスとして付いた独自の列も付与されるため、JSONを展開せずに直接クエリできます。 ローカルスコープのフィールドは、custom_fields JSONにのみ表示されます。 2つのローカルスコープのフィールドが同じ名前を共有している場合、JSONオブジェクト内で衝突し、最後の値のみが保持されます。

機密データの処理

Asanaオブジェクトには、個人を特定できる情報(PII)が含まれる場合があります。 次のオブジェクトには、一般的に機密フィールドが含まれます:

オブジェクト機密フィールド
ユーザーname, email, photo
タスクname, notes, html_notes
storiestext, 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_relationshipsBusinessまたはEnterpriseプラン
teams, team_memberships組織ワークスペース(検証済みメールドメインに関連付け)

プランとワークスペースがサポートするオブジェクトのみを選択してください。 必要なプランまたはワークスペースタイプがない状態でportfolio_membershipsgoal_relationships、またはteam_membershipsオブジェクトを選択すると、同期はエラーで失敗します。

最小同期頻度

サポートされる最小同期間隔は15分です。 これより高い頻度で同期をトリガーすることはできません。

最終更新日: