Passer au contenu principal
Planifiez le moment où les artifacts sont supprimés de W&B à l’aide d’une politique de durée de vie (TTL) des Artifacts W&B. Lorsque vous supprimez un artifact, W&B marque cet artifact comme une suppression logique. En d’autres termes, l’artifact est marqué pour suppression, mais les fichiers ne sont pas immédiatement supprimés du stockage. Pour plus d’informations sur la façon dont W&B supprime les artifacts, voir la page Supprimer des artifacts. Regardez le tutoriel vidéo Managing data retention with Artifacts TTL pour apprendre à gérer la conservation des données avec Artifacts TTL dans W&B App.
W&B désactive l’option permettant de définir une politique TTL pour les artifacts liés au registre. Cela permet de garantir que les artifacts liés n’expirent pas accidentellement s’ils sont utilisés dans des flux de travail de Production.
  • Seuls les Administrateurs d’équipe peuvent consulter les paramètres d’une équipe et accéder aux paramètres TTL au niveau de l’équipe, notamment pour (1) définir qui peut créer ou modifier une politique TTL ou (2) définir une valeur TTL par défaut pour l’équipe.
  • Si vous ne voyez pas l’option permettant de définir ou de modifier une politique TTL dans les détails d’un artifact dans l’interface de l’application W&B, ou si la définition programmatique d’une TTL ne modifie pas correctement la propriété TTL d’un artifact, votre administrateur d’équipe ne vous a pas accordé les autorisations nécessaires.

Artifacts générés automatiquement

Seuls les Artifacts générés par des utilisateurs peuvent utiliser des politiques TTL. Il n’est pas possible de définir de politiques TTL pour les Artifacts générés automatiquement par W&B. Les types d’Artifact suivants indiquent un Artifact généré automatiquement :
  • run_table
  • code
  • job
  • Tout type d’Artifact commençant par : wandb-*
Vous pouvez vérifier le type d’un Artifact sur la plateforme W&B ou par programmation :
import wandb

with wandb.init(project="<my-project-name>") as run:
    artifact = run.use_artifact(artifact_or_name="<my-artifact-name>")
    print(artifact.type)
Remplacez les valeurs entre <> par les vôtres.

Définir qui peut modifier et définir des politiques TTL

Définissez qui peut définir et modifier des politiques TTL au sein d’une équipe. Vous pouvez accorder les autorisations TTL uniquement aux administrateurs d’équipe, ou les accorder à la fois aux administrateurs d’équipe et aux membres de l’équipe.
Seuls les administrateurs d’équipe peuvent définir qui peut définir ou modifier une politique TTL.
  1. Accédez à la page de profil de votre équipe.
  2. Sélectionnez l’onglet Paramètres.
  3. Accédez à la section Durée de vie (TTL) des Artéfacts.
  4. Dans le menu déroulant des autorisations TTL, sélectionnez qui peut définir et modifier des politiques TTL.
  5. Cliquez sur Vérifier et enregistrer les paramètres.
  6. Confirmez les modifications, puis sélectionnez Enregistrer les paramètres.
Configuration des autorisations TTL

Créer une politique TTL

Définissez une politique TTL pour un artifact soit au moment de créer l’artifact, soit rétroactivement une fois l’artifact créé. Pour tous les extraits de code ci-dessous, remplacez le contenu entre <> par vos informations afin d’utiliser l’extrait de code.

Définir une politique TTL lors de la création d’un artifact

Utilisez le SDK Python de W&B pour définir une politique TTL lors de la création d’un artifact. Les politiques TTL sont généralement définies en jours.
Définir une politique TTL lors de la création d’un artifact est similaire à la procédure habituelle pour créer un artifact. La seule différence est que vous transmettez un intervalle de temps à l’attribut ttl de l’artifact.
Les étapes sont les suivantes :
  1. Créez un artifact.
  2. Ajoutez du contenu à l’artifact, comme des fichiers, un répertoire ou une référence.
  3. Définissez une durée TTL à l’aide du type de données datetime.timedelta, qui fait partie de la bibliothèque standard de Python.
  4. Enregistrez l’artifact.
L’extrait de code suivant montre comment créer un artifact et définir une politique TTL.
import wandb
from datetime import timedelta

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

    artifact.ttl = timedelta(days=30)  # Définir la politique TTL
    run.log_artifact(artifact)
L’extrait de code précédent définit la politique TTL de l’artifact à 30 jours. En d’autres termes, W&B supprime l’artifact après 30 jours.

Définir ou modifier une politique TTL après la création d’un artifact

Utilisez la interface W&B App ou le W&B Python SDK pour définir une politique TTL pour un artifact existant.
Lorsque vous modifiez le TTL d’un artifact, le délai avant expiration est toujours calculé à partir du timestamp createdAt de l’artifact.
  1. Récupérez votre artifact.
  2. Affectez un delta de temps à l’attribut ttl de l’artifact.
  3. Mettez à jour l’artifact avec la méthode save.
L’extrait de code suivant montre comment définir une politique TTL pour un artifact :
import wandb
from datetime import timedelta

artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = timedelta(days=365 * 2)  # Supprimer dans deux ans
artifact.save()
L’exemple de code précédent définit la politique TTL sur deux ans.

Définir des politiques TTL par défaut pour une équipe

Seuls les administrateurs d’équipe peuvent définir une politique TTL par défaut pour une équipe.
Définissez une politique TTL par défaut pour votre équipe. Les politiques TTL par défaut s’appliquent à tous les Artifacts existants et futurs, en fonction de leur date de création respective. Les Artifacts pour lesquels une politique TTL est déjà définie au niveau de la version ne sont pas affectés par la politique TTL par défaut de l’équipe.
  1. Accédez à la page de profil de votre équipe.
  2. Sélectionnez l’onglet Paramètres.
  3. Accédez à la section Durée de vie (TTL) des Artéfacts.
  4. Cliquez sur Définir la politique TTL par défaut de l’équipe.
  5. Dans le champ Durée, définissez la politique TTL en nombre de jours.
  6. Cliquez sur Vérifier et enregistrer les paramètres. 7/ Confirmez les modifications, puis sélectionnez Enregistrer les paramètres.
Définition de la politique TTL par défaut

Définir une politique TTL en dehors d’un run

Utilisez l’API publique pour récupérer un artifact sans avoir à récupérer de run, puis définissez la politique TTL. Les politiques TTL sont généralement définies en jours. L’exemple de code suivant montre comment récupérer un artifact à l’aide de l’API publique et définir la politique TTL.
api = wandb.Api()

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

artifact.ttl = timedelta(days=365)  # Suppression dans un an

artifact.save()

Désactiver une politique TTL

Utilisez le SDK Python de W&B ou l’UI de l’application W&B pour désactiver une politique TTL pour une version spécifique d’un artifact.
  1. Récupérez votre artifact.
  2. Définissez l’attribut ttl de l’artifact sur None.
  3. Mettez à jour l’artifact avec la méthode save.
L’extrait de code suivant montre comment désactiver une politique TTL pour un artifact :
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = None
artifact.save()

Consulter les politiques TTL

Consultez les politiques TTL des artifacts avec le SDK Python ou l’interface W&B App.
Utilisez une instruction print pour consulter la politique TTL d’un artifact. L’exemple suivant montre comment récupérer un artifact et consulter sa politique TTL :
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
print(artifact.ttl)