このレシピは、ソース データが CSV ファイルであり、モデル内にすでにインポート アクションが存在する場合に使用します。

以下が必要です。

  • 認証トークン
  • ターゲット ワークスペースとモデルへのアクセス権
  • モデル内の既存のインポート アクション。
  • インポートに関連付けられているモデル ファイル オブジェクト。
  • インポート マッピングと一致する CSV ファイル。

API を使用して Anaplan に CSV をインポートする方法は以下のとおりです。

  1. 自分自身の認証を行います。
    リクエスト:POST https://auth.anaplan.com/token/authenticate
    後続のリクエストで使用するために、返された認証トークン (Authorization: AnaplanAuthToken {anaplan_auth_token}) を保存します。
  2. ワークスペースを見つけます。
    リクエスト:GET /workspaces
    使用するワークスペースの idworkspaceId として保存します。
  3. モデルを見つけます。
    リクエスト:GET /workspaces/{workspaceId}/models
    使用するモデルの idmodelId として保存します。
  4. インポート アクションを見つけます。
    リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/imports
    インポート アクションの idimportId として保存します。
  5. ソース ファイルを見つけます。
    リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/files
    インポートで使用されるファイルの idfileId として保存します。
  6. アップロード チャンク数を設定します。
    リクエスト:PUT /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/chunks
    アップロードする予定のチャンク数を設定します。小さなファイルの場合は一つのチャンクで構いません。大きなファイルについては、アップロード前に複数のチャンクに分割します。
  7. 各チャンクをアップロードします。
    リクエスト:PUT /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/chunks/{chunkId}
    各チャンクを順番にアップロードします。注記:0 から始まる連番のチャンク ID を使用します。
  8. アップロードを完了としてマークします。
    リクエスト:POST /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/complete
    これにより、アップロードされたファイルがインポート アクションで使用できる状態になったことが Anaplan に伝わります。
  9. インポートを開始します。
    リクエスト:POST /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks
    返された taskId を保存します。
  10. インポート タスクをポーリングします。
    リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks/{taskId}
    タスクが終了状態に達するまで、このリクエストを繰り返します。タスクの状態だけに依存しないでください。レコードが正常にインポートされたかどうかをタスクの結果で確認します。
  11. 必要に応じてエラー ダンプをダウンロードします。
    リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks/{taskId}/dump
    エラー ダンプが利用可能であることがタスクの結果で示されている場合にのみこのリクエストを使用します。

CSV データがモデル ファイル オブジェクトにアップロードされ、インポート アクションが実行されると、タスクの結果にレコードのインポートが成功したかどうかが表示されます。

インポートに失敗した場合は以下を確認します。

  • ファイル アップロードが完了としてマークされたかどうか。
  • CSV 構造がインポート マッピングと一致しているかどうか。
  • インポート アクションで想定されるソース ファイルが使用されているかどうか。
  • 統合ユーザーがインポートを実行できるかどうか。
  • エラー ダンプが利用可能かどうか。