メインコンテンツへスキップ
W&B Artifact の Time-to-Live (TTL) ポリシーを使用すると、W&B で artifact が削除されるタイミングをスケジュールできます。artifact を削除すると、W&B はその artifact を ソフト削除 としてマークします。つまり、artifact は削除対象としてマークされますが、ファイルは storage からすぐには削除されません。W&B が artifact をどのように削除するかについて詳しくは、Delete artifacts ページを参照してください。 W&B App で Artifacts TTL を使ってデータ保持を管理する方法については、動画チュートリアルの Managing data retention with Artifacts TTL をご覧ください。
W&B は、Registry にリンクされた artifact に対して TTL ポリシーを設定するオプションを無効化します。これは、本番ワークフローで使用されるリンク済み artifact が誤って期限切れにならないようにするためです。
  • チームの設定 を表示し、(1) TTL ポリシーを設定または編集できるユーザーの許可や、(2) チームのデフォルト TTL の設定など、チームレベルの TTL 設定にアクセスできるのはチーム管理者のみです。
  • W&B App UI で artifact の詳細に TTL ポリシーを設定または編集するオプションが表示されない場合、またはプログラムで TTL を設定しても artifact の TTL プロパティが正常に変更されない場合は、チーム管理者から必要な権限が付与されていません。

自動生成されたArtifacts

TTL ポリシーを使用できるのは、ユーザーが生成した Artifact のみです。W&B によって自動生成された Artifacts には、TTL ポリシーを設定できません。 次の Artifact タイプは、自動生成された Artifact であることを示します。
  • run_table
  • code
  • job
  • wandb-* で始まる任意の Artifact タイプ
Artifact のタイプは、W&B プラットフォーム 上で確認するか、プログラムから確認できます。
<> で囲まれた値は、ご自身の値に置き換えてください。

TTL ポリシーを設定・編集できるユーザーを指定する

チーム内で TTL ポリシーを設定・編集できるユーザーを指定します。TTL 権限はチーム管理者のみに付与することも、チーム管理者とチームメンバーの両方に付与することもできます。
TTL ポリシーを設定または編集できるユーザーを指定できるのは、チーム管理者のみです。
  1. チームのプロフィールページにアクセスします。
  2. Settings タブを選択します。
  3. Artifacts time-to-live (TTL) section にアクセスします。
  4. TTL permissions ドロップダウンから、TTL ポリシーを設定・編集できるユーザーを選択します。
  5. Review and save settings をクリックします。
  6. 変更内容を確認し、Save settings を選択します。
TTL 権限の設定

TTL ポリシーを作成する

artifact の作成時、または作成後に、artifact に TTL ポリシーを設定できます。 以下のすべてのコード スニペットでは、コード スニペットを使用する前に、<> で囲まれた内容を実際の情報に置き換えてください。

artifact の作成時に TTL ポリシーを設定する

W&B Python SDK を使用して、artifact の作成時に TTL ポリシーを定義します。TTL ポリシーは通常、日単位で定義します。
artifact の作成時に TTL ポリシーを定義する方法は、通常の artifact の作成 とほぼ同じです。異なるのは、artifact の ttl 属性に time delta を渡す点だけです。
手順は次のとおりです。
  1. artifact を作成します
  2. ファイル、ディレクトリ、参照などの内容を artifact に追加します
  3. Python の標準ライブラリに含まれる datetime.timedelta データ型を使用して、TTL の有効期間を定義します。
  4. artifact をログします
次の code snippet は、artifact を作成して TTL ポリシーを設定する方法を示しています。
前述のコードスニペットでは、artifact の TTL ポリシーを 30 日に設定しています。つまり、W&B は 30 日後に artifact を削除します。

artifact の作成後に TTL ポリシーを設定または編集する

W&B App UI または W&B Python SDK を使用して、既存の artifact に TTL ポリシーを設定します。
artifact の TTL を変更しても、artifact が期限切れになるまでの時間は、artifact の createdAt timestamp に基づいて計算されます。
  1. artifact を取得します
  2. artifact の ttl 属性に time delta を渡します。
  3. save method で artifact を更新します。
次の code snippet は、artifact に TTL ポリシーを設定する方法を示しています。
このコード例では、TTL ポリシーを 2 年に設定しています。

チームのデフォルト TTL ポリシーを設定する

チームのデフォルト TTL ポリシーを設定できるのは、チーム管理者のみです。
チームのデフォルト TTL ポリシーを設定します。デフォルト TTL ポリシーは、それぞれの作成日を基準に、既存および今後作成されるすべての artifact に適用されます。すでにバージョンレベルの TTL ポリシーが設定されている artifact には、チームのデフォルト TTL は適用されません。
  1. チームのプロフィールページにアクセスします。
  2. Settings タブを選択します。
  3. Artifacts time-to-live (TTL) section にアクセスします。
  4. Set team’s default TTL policy をクリックします。
  5. Duration フィールドで、TTL ポリシーを日数単位で設定します。
  6. Review and save settings をクリックします。 7/ 変更内容を確認し、Save settings を選択します。
デフォルト TTL ポリシーの設定

run を介さずに TTL ポリシーを設定する

Public API を使用して、run を取得せずに artifact を取得し、TTL ポリシーを設定できます。TTL ポリシーは通常、日数単位で定義されます。 次のコード例は、Public API を使用して artifact を取得し、TTL ポリシーを設定する方法を示しています。

TTL ポリシーを無効にする

W&B Python SDK または W&B App UI を使用して、特定の artifact バージョンに設定された TTL ポリシーを無効にします。
  1. artifact を取得します.
  2. artifact の ttl 属性を None に設定します。
  3. save method を使用して artifact を更新します。
次の コードスニペット は、artifact の TTL ポリシーを無効化する方法を示しています。

TTL ポリシーを確認する

Python SDK または W&B App UI を使用して、artifact の TTL ポリシーを確認できます。
print 文を使って artifact の TTL ポリシーを確認します。次の例は、artifact を取得して TTL ポリシーを確認する方法を示しています。