Les exemples sans
auth utilisent un jeton d’accès à l’API CoreWeave lu depuis CWSANDBOX_API_KEY. Pour vous authentifier avec une clé API Forge, suivez Premiers pas et transmettez les AuthHeaders obtenus à l’opération.Variables
La plateforme définit la variable suivante dans chaque sandbox :
La plateforme définit ces variables quelle que soit la version du SDK ou de l’API que vous utilisez.
N’analysez pas le nom d’hôte pour obtenir l’ID de la sandbox. Le nom d’hôte d’une sandbox commence par l’ID de la sandbox, mais il comporte un suffixe généré qui change si le pod sous-jacent redémarre. Utilisez plutôt
CW_SANDBOX_ID.Lire une variable
Les variables de plateforme sont accessibles au processus principal de chaque conteneur, à tout processus qu’il lance, ainsi qu’aux processus lancés avecexec ou par exécution en diffusion en continu. Seule exception : un programme qui efface son environnement avant de lancer un processus enfant.
- Python
- TypeScript
- Shell
Remplacer une variable
Les variables de plateforme sont des valeurs par défaut, et non des noms réservés. Si vous définissez une variable portant le même nom sur votre sandbox, celle-ci utilise votre valeur et la plateforme n’applique pas sa valeur par défaut. Remplacez[YOUR-VALUE] par la valeur que la sandbox doit renvoyer :
- Python
- TypeScript
-
Toute valeur est prise en compte, y compris une chaîne vide. Définir
CW_SANDBOX_IDsur""crée une variable présente mais vide. La plateforme ne considère pas une valeur vide comme non définie et ne la remplace pas. - Une politique ne peut pas remplacer les variables de plateforme. Le nom est protégé contre la configuration de l’opérateur : la politique d’un cluster ne peut donc pas remplacer à votre insu une valeur que vous avez définie.
- Les secrets valent remplacement. Un secret associé au même nom de variable neutralise la valeur par défaut de la plateforme, exactement comme une valeur définie directement.
Simple métadonnée, pas une identité
CW_SANDBOX_ID est une métadonnée purement indicative. Comme sa valeur peut être remplacée, le code exécuté dans une sandbox peut déclarer n’importe quelle valeur.
Sandbox comportant plusieurs conteneurs
Chaque conteneur reçoit la valeur définie sur le premier conteneur de la sandbox, sauf s’il définit lui-mêmeCW_SANDBOX_ID. Une valeur explicite prévaut pour le conteneur qui la définit.
Il en découle deux conséquences :
- Si vous remplacez la variable sur le premier conteneur, tous les autres conteneurs qui ne la définissent pas reçoivent votre valeur de remplacement.
- Si vous la remplacez par une chaîne vide sur le premier conteneur, les autres conteneurs ne reçoivent pas du tout la variable.
Comportement au cours du cycle de vie de la sandbox
CW_SANDBOX_ID se comporte comme suit pendant la durée de vie d’une sandbox :
- La valeur reste fixe pendant toute la durée de vie de la sandbox. La plateforme l’attribue lors de la création, et elle ne change pas si le pod sous-jacent redémarre.
- Une sandbox restaurée est une nouvelle sandbox. La restauration à partir d’un instantané du système de fichiers crée une sandbox dotée d’un nouvel ID, et
CW_SANDBOX_IDprend cette nouvelle valeur. Tout ID antérieur que votre application a écrit dans un volume d’instantané est enregistré en tant que données propres et n’est pas mis à jour.