🧯

デプロイできないときの対応(整合性エラー)

レシピに整合性の問題があると、デプロイができません。 この記事では、「レシピに整合性エラーがあります(デプロイできません)」と表示されたときの確認方法と、エラーごとの対処方法を説明します。
⚠️
前提
デプロイはレシピ詳細の「データ処理」タブから行います。(レシピをデプロイする)

Step 1 エラーの内容を確認する

  • レシピ詳細の「データ処理」タブをクリック
  • タブの上部に表示されているメッセージを確認
エラーがある場合は「レシピに整合性エラーがあります(デプロイできません)」と表示され、その下に検出された問題が一覧で並びます。 一覧の各行は「セクション名 — メッセージ」の形式で、セクション名には「ソース」「変換」「ターゲット」「実行パラメータ」のいずれかが入ります。
💡
変換のマッピングに関する問題は「マッピング #2: 〜」、実行パラメータに関する問題は「パラメータ名: 〜」のように、対象がメッセージの先頭に付きます。何番目のマッピング・どのパラメータが原因かは、この部分で判断できます。
エラーが1件でもある間は、「デプロイ」はクリックできません。
💡
「ドライラン」は整合性エラーがあっても実行できます。修正の前に現在の挙動を確認したい場合に利用してください。(ドライランで動作を確認する)
⚠️
この判定は保存済みの内容に対して行われます。編集中の内容は反映されないため、修正したら「保存」をクリックしてから表示を確認してください。

エラーと確認事項の違い

検出された問題は、重大度によって「エラー」と「確認事項」に分かれます。
エラー確認事項(警告)
見出しは「レシピに整合性エラーがあります(デプロイできません)」 赤色で表示されます見出しは「レシピに確認事項があります」 黄色で表示されます
1件でもあるとデプロイできませんデプロイできます
そのままでは実行できない状態です。必ず修正してください意図した設定であればそのままで問題ありません
エラーと確認事項が同時に検出された場合は、見出しは「レシピに整合性エラーがあります(デプロイできません)」になり、一覧には両方が並びます。 問題のあるセクションは、「ソース」「変換」「ターゲット」「実行パラメータ」のタブ名の右に警告アイコンが表示されます。

エラー別の対処

表示されるメッセージごとの原因と対処は以下の通りです。

ソース

メッセージ原因対処
ソースのスキーマ(列定義)が未設定ですソーススキーマに列が1件も定義されていません インポートのレシピで検出されますソースタブの「ソーススキーマ」で列を追加します。「サンプルを取得」で自動推定もできます
ソース列のキーが重複していますソーススキーマの中に、同じキーの列が複数ありますソースタブの「ソーススキーマ」で、重複しているキーを一意になるよう修正します
ソースの HTTP パスが未入力ですソースの種類が「HTTP API」で、リクエストのパスが空欄ですソースタブの「リクエスト」でパスを入力します 例)
列の定義方法は以下の記事をご覧ください。(ソーススキーマを設定する、ソースを設定する(HTTP API))

変換

メッセージ原因対処
変換のマッピングが未設定ですマッピングが1件も定義されていません変換タブでマッピングを追加します
存在しないソース列を参照しているマッピングがありますマッピングの入力に指定した列が、ソーススキーマに存在しません ソーススキーマの列を削除・改名した後に起こりますメッセージ先頭の「マッピング #N」で対象を特定し、入力列を選び直します または、ソーススキーマ側に該当の列を追加します
マッピングの設定方法は以下の記事をご覧ください。(変換を設定する(マッピングの基本))

ターゲット

メッセージ原因対処
ターゲットのヘッダーマッピングが未設定ですターゲットの種類が「CSV ファイル出力」で、出力する列(ヘッダー)が1件も定義されていませんターゲットタブでヘッダーマッピングを追加します
ターゲットの HTTP エンドポイントが未入力ですターゲットの種類が「HTTP API」で、エンドポイントのパスが空欄ですターゲットタブでエンドポイントのパスを入力します
ターゲットが要求する列が変換で生成されていませんターゲットが出力対象に指定している列キーが、変換の出力に含まれていません エクスポートのレシピで検出されます変換タブで該当の列キーを出力するマッピングを追加します または、ターゲット側の参照を変換の出力に合わせて修正します
ターゲットの設定方法は以下の記事をご覧ください。(ターゲットを設定する(CSV ファイル出力)、ターゲットを設定する(HTTP API))

実行パラメータ

メッセージ原因対処
宣言されていない実行パラメータが使用されていますパス・クエリパラメータ・リクエストボディ・ファイル名などで を使っているのに、そのパラメータが実行パラメータタブで宣言されていません 名前の打ち間違いや、宣言の削除で起こりますメッセージ先頭のパラメータ名を確認し、実行パラメータタブで同じ名前のパラメータを宣言します または、参照側の名前を宣言済みのものに修正します
💡
のようにシステムが提供するパラメータは、宣言しなくても使用できます。宣言が必要なのはレシピごとに定義するパラメータだけです。(実行パラメータを設定する)

確認事項(警告)別の対処

メッセージ原因対処
使用されていない実行パラメータがあります実行パラメータタブで宣言したパラメータが、レシピのどこからも参照されていません使う予定がなければ、実行パラメータタブから削除します 使うつもりだった場合は、参照側の の綴りを確認します そのままでもデプロイできます

デプロイのボタンは押せるのに失敗する場合

接続設定・インポート設定・アセットは、レシピの外側で削除されることがあります。これらが実際に存在するかどうかの確認は、上部のアラートには含まれず、デプロイを実行したタイミングで行われます。 そのため「デプロイ」はクリックできますが、実行すると「デプロイに失敗しました」と表示されます。
この場合は、該当するタブを開くと参照先が見つからないことを示す警告が表示されています。
表示原因対処
接続設定が見つかりません参照していた接続設定が削除されていますソースまたはターゲットの「編集」から、接続設定を選び直します
インポート設定が見つかりません参照していたインポート設定が削除されていますターゲットの「編集」から、インポート設定を選び直します
アセットが見つかりません参照していたアセットが削除されていますソースの「編集」から、アセットを選び直します
⚠️
ターゲットが必須としている項目をソース側が出力していない場合も、デプロイを実行したタイミングで検出されます。この場合は上部のアラートに表示されないため、ソーススキーマと変換のマッピングで、必須項目が漏れていないかを確認してください。(ソーススキーマを設定する)
⚠️
デプロイ後に接続先の仕様が変わった場合や、レスポンスのルートパスが誤っている場合など、デプロイ時には検出されず実行時に失敗するものもあります。デプロイは成功したのに実行が失敗する場合は、実行履歴から原因を確認してください。(実行時のエラー対応)