注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

パイプラインをロールバックする [廃止予定]

廃止予定

パイプラインのロールバックは、開発ライフサイクルの廃止予定フェーズにあり、11月30日以降は利用できなくなります。代わりに、データセットをロールバックする機能の使用を推奨します。

パイプラインを構築する際に、データセットと、それに依存するすべての下流リソースを以前のバージョンにロールバックする必要が生じる場合があります。その理由には、次のようなものがあります。

  • データセットのビルドに必要なロジックに誤りが見つかり、元に戻す必要がある場合。
  • 上流のソースから誤ったデータがパイプラインに送信された場合。
  • 障害が発生し、パイプラインを以前の状態にすばやく戻したい場合。

パイプラインのロールバック機能を使用すると、上流データセットのトランザクションに戻すことができます。ロールバックの実行時には、上流データセットのトランザクションのデータ来歴を使用して、その下流データセットと対応するトランザクションを特定し、ロールバック後のパイプラインの最終状態を作成します。通常、この処理では、影響を受けるデータセットをそれぞれ適切にロールバックするために、いくつもの手順が必要になります。パイプラインのロールバック機能では、以下で説明するいくつかの簡単な手順に削減できるほか、ロールバックを確定して実行する前に、パイプラインの最終状態をプレビューできます。また、パイプラインのロールバックでは、パイプラインのインクリメンタル(差分処理)特性も保持されます。

ロールバックを設定する際には、任意の下流データセットを除外できます。除外されたデータセットは、パイプラインが選択したトランザクションにロールバックされても変更されません。

データセットが Object Storage v2 を使用して保存されるオブジェクトタイプの元データソースである場合、ロールバック後の状態を反映するには、置換パイプラインを正常に実行してオブジェクトタイプが再インデックス化されるよう、手動での対応が必要です。

パイプラインのロールバックを実行する

  1. ロールバックする上流データセットを含む Data Lineage グラフに移動します。
  2. グラフ内のデータセットを選択します。次に、グラフ上部のブランチセレクターから、ロールバックを実行するブランチを選択します。
  3. 右側のパネルでノードのプロパティを選択します。

「ノードのプロパティ」パネル。

  1. アクション、ロールバックの順に選択します。
  2. 選択されたトランザクションで、ロールバック先のトランザクションを選択します。

ロールバック先のトランザクションを選択します。

トランザクションを選択すると、下流データセットが自動的に検出され、ロールバックを実行した場合に戻る状態が表示されます。

ストリーミングデータセット、メディアセット、制限付きビューなど、ロールバックできないリソースの種類は、サポート対象外のリソースセクションに表示されます。編集アクセス権がないトランザクション型データセットも、このリストに含まれます。

  1. 各データセットの下にあるタイムスタンプを選択すると、入力のTransaction履歴ページに移動し、対応するトランザクションが強調表示されます。

ロールバック後のパイプラインの状態をプレビューします。

  1. ロールバックから除外するデータセットの名前の右側にある — を選択します。ロールバックから除外すると、そのデータセットはロールバックから除外されたデータセットセクションに表示されます。

データセットをロールバックから除外します。

  1. 除外したデータセットをロールバック対象に再度追加するには、データセット名の右側にある + を選択します。

除外したデータセットをロールバック対象に再度追加します。

  1. ロールバック後の状態を確定したら、ロールバックを選択します。確認ダイアログが表示されます。

ロールバックを確認します。

  1. 確認のためにブランチ名を入力し、ロールバックを確認を選択して続行します。

ロールバックが完了しました。

  1. ロールバックが完了したら、データセットの Transaction履歴タブに移動し、以下に示すように、ロールバックされたトランザクションに取り消し線が表示されていることを確認します。

ロールバックが成功すると、トランザクションに取り消し線が表示されます。

警告

現在の状態とロールバック先のトランザクションの間でパイプラインがどのように変更されたかによって、下流のロールバック対象として選択されたデータセットに、以下のいずれかの警告が表示される場合があります。

  • ロールバック先のトランザクションが、最新のトランザクションとは異なる Job Spec(ロジック)を使用してビルドされていた場合、そのトランザクションには次の警告が表示されます:The dataset logic was changed after the selected transaction time. Rolling back this dataset will not revert logic changes. この警告が表示された場合、ロジックが時間の経過とともにどのように変更されたかを調べ、ロールバック後、新しいデータセットのビルドを実行する前に、そのロジックを再度適用できるかどうかを判断する必要がある場合があります。

選択したロールバック先のトランザクションより後にロジックが変更されています。

  • 選択したロールバック先のトランザクションの時点で下流データセットが存在していなかった場合、そのデータセットには次の警告が表示されます:This dataset did not exist at the time of the transaction selected for rollback. Its incremental state will be reset, though transactions and data will be unchanged after rollback. It will run as a snapshot in the next build. この警告が表示された場合、ロールバックによって、データセットのジョブ履歴は一度もビルドされていない状態にリセットされます。そのデータセットは初めてビルドされるまったく新しいデータセットとして扱われるため、次のビルドは、インクリメンタルデータセットであってもインクリメンタルに実行されません。

ロールバック後の空の入力。

考慮事項と制限事項

パイプラインをロールバックする際には、次の点に留意してください。

  • ロールバックに対応しているのは、トランザクション型データセットのみです。メディアセット、ストリーミングデータセット、仮想テーブルなど、その他の下流リソースは変更されません。
    • これらのリソースは、ロールバックのプレビューパネルのサポート対象外のリソースセクションに表示されます。
  • ロールバックできるのは、_成功した_トランザクションのみです。
  • 保持ポリシーによって削除されたトランザクションにはロールバックできません。
    • ただし、DELETE 保持トランザクションにはロールバックできます。
  • ロールバックできるのは、アクセス権があるデータセットのみです。一部の下流データセットへのアクセス権がない場合、それらのデータセットはロールバックされません。
    • 上流データセットに対して編集アクセス権があっても、そのデータセットを使用してビルドされる下流データセットに対しては閲覧アクセス権しかない場合があります。この場合、下流データセットは「サポート対象外のリソース」として扱われます。
  • ロールバックできるのは、Job Spec を持つトランザクション型データセットのみです。アップロードされたデータセットはロールバックに対応していません。
  • 上流データセットで一度にロールバックできるのは、最大50件のトランザクションです。