> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feat-cli-docs-generator.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# アーティファクトデータ保持の管理

> 存続期間 (TTL) ポリシー

<Card title="Try in Colab" href="https://colab.research.google.com/github/wandb/examples/blob/kas-artifacts-ttl-colab/colabs/wandb-artifacts/WandB_Artifacts_Time_to_live_TTL_Walkthrough.ipynb" icon="python" />

W\&B の Artifacts のタイム・トゥ・リブ（TTL）ポリシーを使用して、Artifacts が W\&B から削除されるスケジュールを設定します。Artifact を削除すると、W\&B はそのアーティファクトを *ソフト削除* としてマークします。つまり、アーティファクトは削除対象としてマークされますが、ファイルはすぐにストレージから削除されるわけではありません。W\&B がアーティファクトを削除する方法の詳細については、[アーティファクトを削除](./delete-artifacts)ページを参照してください。

W\&B アプリで Artifacts TTL を使って データ保持を管理する方法を学ぶには、[この](https://www.youtube.com/watch?v=hQ9J6BoVmnc) ビデオチュートリアルをご覧ください。

<Note>
  W\&B は、モデルレジストリにリンクされたモデルアーティファクトの TTL ポリシーを設定するオプションを非アクティブ化します。これは、生産ワークフローで使用されるリンクされたモデルが誤って期限切れにならないようにするためです。
</Note>

<Note>
  * チームの設定]\(/ja/platform/app/settings-page/teams)と、(1) TTL ポリシーを設定または編集できる人を許可するか、(2) チームのデフォルト TTL を設定するかなどのチームレベルの TTL 設定は、チーム管理者のみが表示およびアクセスできます。
  * W\&B アプリ UI のアーティファクトの詳細に TTL ポリシーを設定または編集するオプションが表示されない場合、またはプログラムで TTL を設定してもアーティファクトの TTL プロパティが正常に変更されない場合は、チーム管理者が権限を付与していません。
</Note>

## 自動生成された Artifacts

ユーザー生成のアーティファクトのみが TTL ポリシーを使用できます。W\&B によって自動生成されたアーティファクトには TTL ポリシーを設定することはできません。

自動生成されたアーティファクトを示すアーティファクトタイプは次のとおりです：

* `run_table`
* `code`
* `job`
* `wandb-*` で始まる種類のアーティファクト

アーティファクトの種類は、[W\&B プラットフォーム](/ja/platform/hosting/)またはプログラムで確認できます：

```python theme={null}
import wandb

run = wandb.init(project="<my-project-name>")
artifact = run.use_artifact(artifact_or_name="<my-artifact-name>")
print(artifact.type)
```

含まれる `<>` で囲まれた値をあなたのものに置き換えてください。

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

チーム内で TTL ポリシーを設定および編集できる人を定義します。TTL 許可をチーム管理者のみに与えることもできますし、チーム管理者とチームメンバーの両方に TTL 許可を与えることもできます。

<Note>
  TTL ポリシーを設定または編集できる人を定義できるのはチーム管理者だけです。
</Note>

1. チームのプロフィールページに移動します。
2. **設定** タブを選択します。
3. **Artifacts のタイム・トゥ・リブ (TTL) セクション**に移動します。
4. **TTL 許可のドロップダウン**から、TTL ポリシーを設定および編集できる人を選択します。
5. **設定をレビューして保存**をクリックします。
6. 変更を確認し、**設定を保存**を選択します。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/FAQtpcY8_qbt118R/images/artifacts/define_who_sets_ttl.gif?s=6444b6ea687329dcf35ad915819cbbe5" width="2318" height="2262" data-path="images/artifacts/define_who_sets_ttl.gif" />
</Frame>

## TTL ポリシーを作成する

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

以下のコードスニペットすべてにおいて、 `<>` で包まれた内容をあなたの情報に置き換えてコードスニペットを使用してください。

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

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

<Note>
  アーティファクト作成時に TTL ポリシーを定義することは、通常の[アーティファクトを作成](/ja/models/artifacts/construct-an-artifact)する方法に似ています。例外は、アーティファクトの `ttl` 属性に時間差を渡す点です。
</Note>

手順は次のとおりです：

1. [アーティファクトを作成](/ja/models/artifacts/construct-an-artifact)します。
2. ファイル、ディレクトリ、または参照など、アーティファクトにコンテンツを[追加](/ja/models/artifacts/construct-an-artifact/#add-files-to-an-artifact)します。
3. Python の標準ライブラリの一部である [`datetime.timedelta`](https://docs.python.org/3/library/datetime.html) データ型で TTL の期限を定義します。
4. [アーティファクトをログ](/ja/models/artifacts/construct-an-artifact/#3-save-your-artifact-to-the-wb-server)します。

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

```python theme={null}
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 ポリシーを設定または編集する

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

<Note>
  アーティファクトの TTL を変更する場合、アーティファクトの期限切れまでの時間は、アーティファクトの作成時刻 (`createdAt` タイムスタンプ) を基に計算されます。
</Note>

<Tabs>
  <Tab title="Python SDK">
    1. [あなたのアーティファクトを取得](/ja/models/artifacts/download-and-use-an-artifact/)します。
    2. アーティファクトの `ttl` 属性に時間差を渡します。
    3. [`save`](/ja/models/ref/python/run#save) メソッドでアーティファクトを更新します。

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

    ```python theme={null}
    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年間に設定します。
  </Tab>

  <Tab title="W&B App">
    1. W\&B アプリ UI の W\&B プロジェクトに移動します。
    2. 左のパネルでアーティファクトアイコンを選択します。
    3. アーティファクトの一覧からアーティファクトタイプを展開します。
    4. TTL ポリシーを編集したいアーティファクトバージョンを選択します。
    5. **バージョン** タブをクリックします。
    6. ドロップダウンから **TTL ポリシー編集** を選択します。
    7. 表示されるモーダル内で、TTL ポリシードロップダウンから **カスタム** を選択します。
    8. **TTL 期間**フィールドで、日数単位で TTL ポリシーを設定します。
    9. **TTL 更新** ボタンを選択して変更を保存します。

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/FAQtpcY8_qbt118R/images/artifacts/edit_ttl_ui.gif?s=7aa5a56519893162d143fc287d67d074" width="2678" height="2072" data-path="images/artifacts/edit_ttl_ui.gif" />
    </Frame>
  </Tab>
</Tabs>

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

<Note>
  チームのデフォルト TTL ポリシーを設定できるのはチーム管理者だけです。
</Note>

チームのデフォルト TTL ポリシーを設定します。デフォルトの TTL ポリシーは、既存と今後のアーティファクトすべてに、その作成日を基に適用されます。バージョンレベルで既に TTL ポリシーが存在するアーティファクトは、チームのデフォルト TTL に影響を受けません。

1. チームのプロフィールページに移動します。
2. **設定** タブを選択します。
3. **Artifacts のタイム・トゥ・リブ (TTL) セクション**に移動します。
4. **チームのデフォルト TTL ポリシー設定** をクリックします。
5. **期間**フィールドにおいて、日数単位で TTL ポリシーを設定します。
6. **設定をレビューして保存** をクリックします。
7. 変更を確認し、**設定を保存** を選択します。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/FAQtpcY8_qbt118R/images/artifacts/set_default_ttl.gif?s=341a55981d745b5ee7a4210b231d03ce" width="2326" height="2254" data-path="images/artifacts/set_default_ttl.gif" />
</Frame>

### run 外で TTL ポリシーを設定する

公開 API を使って run を取得せずにアーティファクトを取得し、TTL ポリシーを設定します。TTL ポリシーは通常日数単位で定義されます。

以下のコードサンプルは、公開 API を使用してアーティファクトを取得し、TTL ポリシーを設定する方法を示しています。

```python theme={null}
api = wandb.Api()

artifact = api.artifact("entity/project/artifact:alias")

artifact.ttl = timedelta(days=365)  # 1年後削除

artifact.save()
```

## TTL ポリシーを非アクティブにする

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

<Tabs>
  <Tab title="Python SDK">
    1. [あなたのアーティファクトを取得](/ja/models/artifacts/download-and-use-an-artifact/)します。
    2. アーティファクトの `ttl` 属性を `None` に設定します。
    3. [`save`](/ja/models/ref/python/run#save) メソッドでアーティファクトを更新します。

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

    ```python theme={null}
    artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
    artifact.ttl = None
    artifact.save()
    ```
  </Tab>

  <Tab title="W&B App">
    1. W\&B アプリ UI の W\&B プロジェクトに移動します。
    2. 左パネルでアーティファクトアイコンを選択します。
    3. アーティファクトのリストからアーティファクトタイプを展開します。
    4. TTL ポリシーを編集したいアーティファクトバージョンを選択します。
    5. バージョンタブをクリックします。
    6. **リンク先レジストリ** ボタンの隣にある肉球 UI アイコンをクリックします。
    7. ドロップダウンから **TTL ポリシー編集** を選択します。
    8. 表示されるモーダル内で、TTL ポリシードロップダウンから **非アクティブ** を選択します。
    9. 変更を保存するために **TTL 更新** ボタンを選択します。

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/FAQtpcY8_qbt118R/images/artifacts/remove_ttl_polilcy.gif?s=dc149521cc71c3668c4f345a20e9d615" width="2678" height="1892" data-path="images/artifacts/remove_ttl_polilcy.gif" />
    </Frame>
  </Tab>
</Tabs>

## TTL ポリシーを確認する

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

<Tabs>
  <Tab title="Python SDK">
    print 文を使用してアーティファクトの TTL ポリシーを表示します。以下の例では、アーティファクトを取得してその TTL ポリシーを表示する方法を示しています：

    ```python theme={null}
    artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
    print(artifact.ttl)
    ```
  </Tab>

  <Tab title="W&B App">
    W\&B アプリ UI を使用してアーティファクトの TTL ポリシーを表示します。

    1. W\&B アプリの [https://wandb.ai](https://wandb.ai) に移動します。
    2. あなたの W\&B プロジェクトに移動します。
    3. プロジェクト内で、左のサイドバーの Artifacts タブを選択します。
    4. コレクションをクリックします。

    選択されたコレクション内のすべてのアーティファクトが表示されます。`Time to Live` 列にそのアーティファクトに割り当てられた TTL ポリシーが表示されます。

    <Frame>
      <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/FAQtpcY8_qbt118R/images/artifacts/ttl_collection_panel_ui.png?fit=max&auto=format&n=FAQtpcY8_qbt118R&q=85&s=813344ad8e9df498bcf0ee64a16ba538" width="1610" height="831" data-path="images/artifacts/ttl_collection_panel_ui.png" />
    </Frame>
  </Tab>
</Tabs>
