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.
- Accédez à la page de profil de votre équipe.
- Sélectionnez l’onglet Paramètres.
- Accédez à la section Durée de vie (TTL) des Artéfacts.
- Dans le menu déroulant des autorisations TTL, sélectionnez qui peut définir et modifier des politiques TTL.
- Cliquez sur Vérifier et enregistrer les paramètres.
- Confirmez les modifications, puis sélectionnez Enregistrer les paramètres.
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 :
- Créez un artifact.
- Ajoutez du contenu à l’artifact, comme des fichiers, un répertoire ou une référence.
- 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.
- 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.
- Récupérez votre artifact.
- Affectez un delta de temps à l’attribut
ttl de l’artifact.
- 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.
- Accédez à votre projet W&B dans la interface W&B App.
- Sélectionnez l’icône artifact dans la barre latérale du projet.
- Dans la liste des Artifacts, développez le type d’artifact que vous
- Sélectionnez la version de l’artifact dont vous souhaitez modifier la politique TTL.
- Cliquez sur l’onglet Version.
- Dans le menu déroulant, sélectionnez Edit TTL policy.
- Dans la fenêtre modale qui s’affiche, sélectionnez Custom dans le menu déroulant de la politique TTL.
- Dans le champ TTL duration, définissez la politique TTL en nombre de jours.
- Sélectionnez le bouton Update TTL pour enregistrer vos modifications.
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.
- Accédez à la page de profil de votre équipe.
- Sélectionnez l’onglet Paramètres.
- Accédez à la section Durée de vie (TTL) des Artéfacts.
- Cliquez sur Définir la politique TTL par défaut de l’équipe.
- Dans le champ Durée, définissez la politique TTL en nombre de jours.
- Cliquez sur Vérifier et enregistrer les paramètres.
7/ Confirmez les modifications, puis sélectionnez Enregistrer les paramètres.
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.
- Récupérez votre artifact.
- Définissez l’attribut
ttl de l’artifact sur None.
- 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()
- Accédez à votre projet W&B dans la interface W&B App.
- Sélectionnez l’icône artifact dans la barre latérale du projet.
- Dans la liste des artifacts, développez le type d’artifact concerné.
- Sélectionnez la version d’artifact pour laquelle vous souhaitez modifier la politique TTL.
- Cliquez sur l’onglet Version.
- Cliquez sur l’icône UI à trois points à côté du bouton Link to registry.
- Dans le menu déroulant, sélectionnez Edit TTL policy.
- Dans la fenêtre modale qui s’affiche, sélectionnez Deactivate dans le menu déroulant de la politique TTL.
- Sélectionnez le bouton Update TTL pour enregistrer vos modifications.
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)
Consultez la politique TTL d’un artifact dans l’interface W&B App.
- Accédez à W&B App.
- Accédez à votre projet W&B.
- Dans votre projet, sélectionnez l’onglet Artifacts dans la barre latérale du projet.
- Cliquez sur une collection.
Dans la vue de la collection, vous pouvez voir tous les artifacts de la collection sélectionnée. Dans la colonne Time to Live, vous verrez la politique TTL attribuée à cet artifact.