このレシピは、ソース データが CSV ファイルであり、モデル内にすでにインポート アクションが存在する場合に使用します。
以下が必要です。
- 認証トークン
- ターゲット ワークスペースとモデルへのアクセス権
- モデル内の既存のインポート アクション。
- インポートに関連付けられているモデル ファイル オブジェクト。
- インポート マッピングと一致する CSV ファイル。
プロセス
API を使用して Anaplan に CSV をインポートする方法は以下のとおりです。
- 自分自身の認証を行います。
リクエスト:POSThttps://auth.anaplan.com/token/authenticate後続のリクエストで使用するために、返された認証トークン (Authorization: AnaplanAuthToken {anaplan_auth_token}) を保存します。 - ワークスペースを見つけます。
リクエスト:GET /workspaces使用するワークスペースのidをworkspaceIdとして保存します。 - モデルを見つけます。
リクエスト:GET /workspaces/{workspaceId}/models使用するモデルのidをmodelIdとして保存します。 - インポート アクションを見つけます。
リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/importsインポート アクションのidをimportIdとして保存します。 - ソース ファイルを見つけます。
リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/filesインポートで使用されるファイルのidをfileIdとして保存します。 - アップロード チャンク数を設定します。
リクエスト:PUT /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/chunksアップロードする予定のチャンク数を設定します。小さなファイルの場合は一つのチャンクで構いません。大きなファイルについては、アップロード前に複数のチャンクに分割します。 - 各チャンクをアップロードします。
リクエスト:PUT /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/chunks/{chunkId}各チャンクを順番にアップロードします。注記:0から始まる連番のチャンク ID を使用します。 - アップロードを完了としてマークします。
リクエスト:POST /workspaces/{workspaceId}/models/{modelId}/files/{fileId}/completeこれにより、アップロードされたファイルがインポート アクションで使用できる状態になったことが Anaplan に伝わります。 - インポートを開始します。
リクエスト:POST /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks返されたtaskIdを保存します。 - インポート タスクをポーリングします。
リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks/{taskId}タスクが終了状態に達するまで、このリクエストを繰り返します。タスクの状態だけに依存しないでください。レコードが正常にインポートされたかどうかをタスクの結果で確認します。 - 必要に応じてエラー ダンプをダウンロードします。
リクエスト:GET /workspaces/{workspaceId}/models/{modelId}/imports/{importId}/tasks/{taskId}/dumpエラー ダンプが利用可能であることがタスクの結果で示されている場合にのみこのリクエストを使用します。
結果
CSV データがモデル ファイル オブジェクトにアップロードされ、インポート アクションが実行されると、タスクの結果にレコードのインポートが成功したかどうかが表示されます。
失敗の処理
インポートに失敗した場合は以下を確認します。
- ファイル アップロードが完了としてマークされたかどうか。
- CSV 構造がインポート マッピングと一致しているかどうか。
- インポート アクションで想定されるソース ファイルが使用されているかどうか。
- 統合ユーザーがインポートを実行できるかどうか。
- エラー ダンプが利用可能かどうか。