リソースの作成

リソースの作成は、ソース・システムからのデータインジェストを定義し、スケジュールするために必要です。 PUBLIC.CREATE_RESOURCE プロシージャは、 UI またはワークシートから新しいリソースを作成するためのエントリ・ポイントです。

このプロシージャを呼び出すには、ユーザーに ADMIN アプリケーションロールが割り当てられている必要があります。

リソース作成プロセスはいくつかのフェーズから構成されています。そのうちのいくつかはカスタマイズ可能ですが、妥当なデフォルト値が含まれています。フェーズは以下の通りです。

  1. 初期検証

  2. カスタム検証

  3. リソース作成前のカスタム ロジック

  4. リソースの取り込み定義とインジェストプロセスの作成

  5. リソース作成後のカスタム・ロジック

初期検証

初期検証は、リソース作成プロセスの一番最初に実行され、チェックされます。

  • 与えられた入力データが有効なリソース取り込み定義オブジェクトを表しているかどうか

  • 与えられた idresourceId を持つリソースが存在しないかどうか

カスタム検証

カスタム検証は初期検証の後に実行され、カスタマイズされたコネクタ固有のロジックをサポートするように設計されています。例えば、あるリソースがソースシステムに存在するかどうかを検証するために使用することができます。

デフォルトでは、 PUBLIC.CREATE_RESOURCE_VALIDATE(resource VARIANT) を呼び出し、 'response_code': 'OK' を返します。SQL スクリプトを通じて上書きすることも、 CreateResourceHandlerBuilder を使用して CreateResourceValidator インターフェイスのカスタム実装を提供することもできます。

カスタムバリデーションがエラーを返した場合、以下のステップは実行されず、 CREATE_RESOURCE プロシージャからエラーレスポンスが返されます。

リソース作成前のカスタム ロジック

リソースが作成されスケジューリングされる前に、カスタムロジックを実装することができます。例えば、インジェスト・データが保存される新しいデスティネーション・テーブルを作成するために使用することができます。

デフォルトでは、 PUBLIC.PRE_CREATE_RESOURCE(resource VARIANT) を呼び出し、 'response_code': 'OK' を返します。SQL スクリプトを通じて上書きすることも、 CreateResourceHandlerBuilder を使用して PreCreateResourceCallback インターフェイスのカスタム実装を提供することもできます。

カスタムロジックがエラーを返した場合、後続のステップは実行されず、 CREATE_RESOURCE プロシージャからエラー応答が返されます。

リソースの取り込み定義とインジェストプロセスの作成

このステップでは、 STATE.RESOURCE_INGESTION_DEFINITION テーブルに新しい記録が追加されます。さらに、リソースが初期状態で有効になっている(enabled パラメーターが true に等しい)場合、提供されたインジェスト構成ごとに新しいインジェストプロセスが追加されます。インジェストプロセスは、 SCHEDULED ステータスで作成されます。これは、インジェストが後で開始されることを意味します。 enabled フラグが false に設定されている場合、インジェストプロセスは作成されず、 ENABLE_RESOURCE プロシージャを呼び出してインジェストを有効にする必要があります。

リソース作成後のカスタム・ロジック

カスタムロジックは、リソースが作成されスケジューリングされた後に指定できます。例えば、インジェスト・データが保存される新しいデスティネーション・テーブルを作成するために使用することができます。

デフォルトでは、 PUBLIC.POST_CREATE_RESOURCE(id VARCHAR) を呼び出し、 'response_code': 'OK' を返します。SQL スクリプトを通じて上書きすることも、 CreateResourceHandlerBuilder を使用して PostCreateResourceCallback インターフェイスのカスタム実装を提供することもできます。

カスタムロジックがエラーを返した場合、 CREATE_RESOURCE プロシージャから所定のエラー応答が返されますが、リソース取り込み定義の作成とインジェストプロセスはロールバックされません。

応答

正常な応答

成功すると、このプロシージャは以下のような応答を返します。

{
  "response_code": "OK",
  "id": "<new resource ingestion definition id>"
}
Copy

レスポンスで返される id は、リソース取り込み定義のidであり、その後リソースを有効化、無効化、または更新するために使用できます。

エラーの応答

エラーが発生すると、このプロシージャは以下のような応答を返します。

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

考えられるエラーコードは次のとおりです。

  • INVALID_INPUT - 指定されたプロシージャの引数が無効で、有効なリソース・オブジェクトを作成できないか、指定された ID を持つリソースが既に存在します。

  • CREATE_RESOURCE_ERROR - 新しいリソース取り込み定義を作成するとき、またはインジェストプロセスを作成するときに、予期しないことが起こりました。すべての変更はロールバックされます。