cwsandbox pour lancer et gérer des Sandbox. Elle explique comment choisir une politique de transport pour les opérations sur les données, comment le SDK établit une connexion directe et comment vérifier le transport utilisé par une opération.
Choisir l’authentification
Ces exemples s’exécutent sur une capacité sans serveur, sauf si une section indique CKS. Choisissez l’identifiant d’authentification du compte propriétaire de vos Sandbox. Pour obtenir une clé ou un jeton, consultez Choisir et obtenir des identifiants d’authentification. Exécutez les commandes d’installation dans un environnement virtuel Python actif. Enregistrez le code Python de l’onglet correspondant à votre identifiant d’authentification sous le nomsandbox_auth.py, dans le même répertoire que les scripts Python que vous exécutez depuis cette page. Ce fichier enregistre la méthode d’authentification choisie, et non votre identifiant d’authentification. Les exemples importent AUTH depuis ce fichier et le transmettent explicitement à chaque nouvelle Sandbox ou session.
- Clé API Forge
- Jeton d’accès à l’API CoreWeave
Utilisez votre clé API Forge avec la stratégie d’authentification W&B du SDK :
sandbox_auth.py
placement_mode="cks" lors de la création de la Sandbox ou dans SandboxDefaults. Une session créée avec auth=AUTH authentifie également les Sandbox qui lui appartiennent. Utilisez le même identifiant d’authentification pour vous reconnecter aux Sandbox, les lister ou les nettoyer.
Aperçu
L’enumDataPlaneMode définit la politique de transport des opérations sur les données. Le SDK utilise AUTO sauf indication contraire de votre part : la plupart des appelants bénéficient ainsi de connexions directes sans modifier leur code.
Définir la politique de transport
Pour définir la politique de transport d’une seule Sandbox, passezdata_plane_mode à Sandbox.run(). Pour la définir pour un groupe de Sandbox, passez data_plane_mode à SandboxDefaults.
Établissement d’une connexion directe
Lorsqu’une sandbox est en cours d’exécution et que vous lancez sa première opération sur les données, le SDK génère en mémoire une clé privée P-256 et n’envoie qu’une demande de signature de certificat à l’API CoreWeave Sandboxes. L’API renvoie un certificat limité à cette sandbox, que le SDK utilise pour ouvrir une connexion mTLS directement avec la sandbox. Deux propriétés de cet échange sont à prendre en compte lorsque vous réfléchissez aux identifiants d’authentification :- La clé privée ne quitte jamais le processus client. Le SDK transmet une demande de signature de certificat, et non la clé.
- Votre jeton Bearer d’API n’est jamais envoyé au point de terminaison de données de la sandbox. La sandbox authentifie le client uniquement au moyen de son certificat.
Délais et repli
AUTO et DIRECT diffèrent par la durée d’attente et par ce qui se passe lorsque la configuration ne se termine pas à temps.
- En mode
AUTO, l’émission des identifiants d’authentification et la mise en état de préparation du canal se partagent un budget d’une seconde. Une fois ce budget épuisé, l’opération transite par la passerelle et le SDK attend 30 secondes avant de retenter une connexion directe. Le repli est transparent : l’opération aboutit quand même. - En mode
DIRECT, la configuration de la connexion dispose d’un délai maximal de 10 secondes, sans repli. Si la configuration n’aboutit pas, l’opération lève une erreur.
Réutilisation des connexions
Le SDK maintient, à l’échelle du processus, un pool de canaux directs inactifs limité à 64. Grâce à cette limite, un programme qui conserve un grand nombre d’objets sandbox inactifs ne garde pas un socket ouvert par sandbox. Un flux actif conserve le canal sur lequel il a démarré. Lorsqu’un canal est marqué comme obsolète, les flux existants s’y terminent progressivement, tandis que les nouveaux appels créent un canal de remplacement.Vérifier le transport utilisé par une opération
Pour confirmer que la connectivité directe fonctionne depuis votre environnement, exécutez une opération en modeDIRECT. Ce mode ne bascule jamais vers une solution de repli : une opération qui aboutit a donc forcément utilisé le transport direct. Une opération qui ne parvient pas à établir la connexion lève une erreur au lieu de basculer silencieusement sur la passerelle.
GATEWAY réussit, le point de terminaison de données de la sandbox n’est pas joignable depuis votre réseau. Laissez les appelants en mode AUTO pour qu’ils continuent de fonctionner via la passerelle pendant que vous vérifiez les restrictions de trafic sortant entre votre client et la sandbox.
Voir aussi
- Architecture des bacs à sable : comment s’articulent le plan de contrôle, la passerelle et les exécuteurs.
- Exécution : lancer des commandes dans une sandbox.
- Opérations sur les fichiers : lire et écrire des fichiers dans une sandbox.
-
Configuration du bac à sable : les autres options que vous pouvez définir via
SandboxDefaultsetSandbox.run().