メインコンテンツまでスキップ

Manage data retention with Artifact TTL policy

W&BのArtifactの有効期間(TTL)ポリシーを使用して、アーティファクトがW&Bから削除されるスケジュールを設定します。アーティファクトを削除すると、W&Bはそのアーティファクトをソフトデリートとしてマークします。つまり、アーティファクトは削除対象としてマークされますが、ファイルがストレージからすぐに削除されるわけではありません。W&Bがアーティファクトを削除する方法の詳細については、Delete artifactsページを参照してください。

W&BアプリでArtifacts TTLを使用してデータ保持を管理する方法については、このビデオチュートリアルをご覧ください。

注記

W&BはモデルレジストリにリンクされたモデルアーティファクトのTTLポリシー設定オプションを無効にします。これは、プロダクションワークフローで使用されている場合、リンクされたモデルが誤って期限切れにならないようにするためです。

備考
  • チーム管理者のみがチームの設定を表示し、TTLの設定をチームレベルでアクセスできます。例えば、(1)TTLポリシーを設定または編集できる人を許可するか、(2) チームのデフォルトTTLを設定するかなど。
  • W&BアプリのUIでTTLポリシーを設定または編集するオプションがアーティファクトの詳細に表示されない場合、またはプログラムでTTLを設定してもアーティファクトのTTLプロパティが正常に変更されない場合は、チーム管理者が権限を付与していない可能性があります。

TTLポリシーを編集および設定できる人を定義する

チーム内でTTLポリシーを設定および編集できる人を定義します。TTLの権限をチーム管理者のみに付与するか、チーム管理者とチームメンバーの両方にTTLの権限を付与するかを選択できます。

備考

TTLポリシーを設定または編集できる人を定義できるのはチーム管理者のみです。

  1. チームのプロフィールページに移動します。
  2. Settingsタブを選択します。
  3. Artifacts time-to-live (TTL)セクションに移動します。
  4. TTL permissionsドロップダウンから、TTLポリシーを設定および編集できる人を選択します。
  5. Review and save settingsをクリックします。
  6. 変更を確認し、Save settingsを選択します。

TTLポリシーを作成する

アーティファクトを作成するときに、または作成後に遡及してTTLポリシーを設定します。

以下のコードスニペットでは、<>で囲まれた内容を置き換えて使用してください。

アーティファクトを作成するときにTTLポリシーを設定する

W&B Python SDKを使用してアーティファクトを作成するときにTTLポリシーを定義します。TTLポリシーは通常、日数で定義されます。

ヒント

アーティファクトを作成するときにTTLポリシーを定義する方法は、通常のアーティファクトを作成する方法と似ています。ただし、タイムデルタをアーティファクトのttl属性に渡す点が異なります。

手順は次のとおりです:

  1. アーティファクトを作成する
  2. ファイル、ディレクトリ、または参照などをアーティファクトに追加する
  3. Pythonの標準ライブラリの一部であるdatetime.timedeltaデータ型でTTL時間制限を定義する。
  4. アーティファクトをログする

以下のコードスニペットは、アーティファクトを作成し、TTLポリシーを設定する方法を示しています。

import wandb
from datetime import timedelta

run = wandb.init(project="<my-project-name>", entity="<my-entity>")
artifact = wandb.Artifact(name="<artifact-name>", type="<type>")
artifact.add_file("<my_file>")

artifact.ttl = timedelta(days=30) # TTLポリシーを設定
run.log_artifact(artifact)

前述のコードスニペットでは、アーティファクトのTTLポリシーを30日に設定しています。つまり、W&Bは30日後にアーティファクトを削除します。

アーティファクトを作成した後にTTLポリシーを設定または編集する

既存のアーティファクトのTTLポリシーを定義するには、W&BアプリUIまたはW&B Python SDKを使用します。

注記

アーティファクトのTTLを変更する場合、そのアーティファクトが削除されるまでの時間は依然としてアーティファクトのcreatedAtタイムスタンプを基に計算されます。

  1. アーティファクトを取得する
  2. タイムデルタをアーティファクトのttl属性に渡す。
  3. saveメソッドでアーティファクトを更新する。

以下のコードスニペットは、アーティファクトにTTLポリシーを設定する方法を示しています:

import wandb
from datetime import timedelta

artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = timedelta(days=365 * 2) # 2年後に削除
artifact.save()

前述のコード例では、TTLポリシーを2年に設定しています。

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

備考

チームのデフォルトTTLポリシーを設定できるのはチーム管理者のみです。

チームのデフォルトTTLポリシーを設定します。デフォルトのTTLポリシーは、既存および将来の全てのアーティファクトに、それぞれの作成日に基づいて適用されます。既存のバージョンレベルのTTLポリシーを持つアーティファクトはチームのデフォルトTTLの影響を受けません。

  1. チームのプロフィールページに移動します。
  2. Settingsタブを選択します。
  3. Artifacts time-to-live (TTL)セクションに移動します。
  4. Set team's default TTL policyをクリックします。
  5. Durationフィールド内で、日単位でTTLポリシーを設定します。
  6. Review and save settingsをクリックします。
  7. 変更を確認し、Save settingsを選択します。

TTLポリシーを無効にする

特定のアーティファクトバージョンのTTLポリシーを無効にするには、W&B Python SDKまたはW&BアプリUIを使用します。

  1. アーティファクトを取得する
  2. アーティファクトのttl属性をNoneに設定します。
  3. saveメソッドでアーティファクトを更新します。

以下のコードスニペットは、アーティファクトのTTLポリシーを無効にする方法を示しています:

artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = None
artifact.save()

TTLポリシーを表示する

Python SDKまたはW&BアプリのUIを使用して、アーティファクトのTTLポリシーを表示します。

print文を使用してアーティファクトのTTLポリシーを表示します。以下の例では、アーティファクトを取得してそのTTLポリシーを表示する方法を示しています:

artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
print(artifact.ttl)
Was this page helpful?👍👎