URL de base et gestion des versions
Sandbox.run(), sb.exec(), opérations sur les fichiers). Les opérations du plan de contrôle créent et configurent l’infrastructure qui produit les bacs à sable. Les opérations du plan de données interagissent avec les bacs à sable en cours d’exécution.
L’API est versionnée v1. Les modifications additives et rétrocompatibles sont publiées dans v1. Les changements non rétrocompatibles sont publiés sous un nouveau préfixe de version, et CoreWeave les annonce avant leur publication.
Une version antérieure de l’API, v1beta2, reste disponible : c’est là que se trouvent les modèles de profil et les liaisons de profil. Ceux-ci sont remplacés par la politique et ne seront pas ajoutés à v1. Les nouvelles intégrations doivent cibler v1.
Authentification
Toutes les requêtes utilisent une authentification par jeton de type Bearer via TLS. Remplacez[API-ACCESS-TOKEN] par un jeton d’accès à l’API CoreWeave :
SANDBOX_ADMIN: créer, lire, mettre à jour et supprimer des exécuteurs, et définir la politique qui leur est associée. Tous les points de terminaison documentés sur cette page l’exigent, y compris en lecture. InclutSANDBOX_USER.SANDBOX_USER: créer et utiliser des bacs à sable. Cette action ne donne accès à aucun point de terminaison de cette page.
401 Unauthenticated avec un corps au format google.rpc.Status.
La CoreWeave Intelligent CLI (cwic) encapsule ces points de terminaison REST. Les utilisateurs de la CLI s’authentifient une seule fois avec cwic auth login, puis cwic stocke le jeton dans sa configuration locale. Pour le flux de travail en CLI, consultez Configurer une politique de sandbox.
Type de contenu
Tous les corps de requête et de réponse sont au format JSON :curl ou fetch fonctionnent de manière transparente. Aucun client gRPC n’est nécessaire. Pour consulter les définitions Protobuf publiées sur lesquelles reposent ces points de terminaison, ainsi que les SDK générés à partir de celles-ci, voir Protobuf.
Familles de ressources
Le plan de contrôle expose les exécuteurs gérés comme ressource d’administration :
Une politique n’est pas adressable indépendamment. Comme il s’agit d’un champ de l’exécuteur, vous la lisez en récupérant l’exécuteur et vous l’écrivez au moyen d’une mise à jour de l’exécuteur dont le masque cible
policy. Chaque écriture remplace l’intégralité du document. Pour la procédure, consultez Configurer une politique de sandbox.
Les modèles de profil restent disponibles sur la surface v1beta2 à l’adresse /v1beta2/sandbox/profile-templates, de même que le champ profile_bindings d’un exécuteur. Ils sont remplacés par les politiques, ne font pas partie du modèle v1 et n’y seront pas ajoutés.
Pour le modèle conceptuel et la manière dont la passerelle relaie les requêtes d’exécution, consultez Architecture des bacs à sable. Cette page décrit le contrat des points de terminaison.
Pagination
Les points de terminaison de liste prennent en charge la pagination par curseur :pageSize: taille de la page. Par défaut50, maximum100.pageToken: curseur renvoyé dans le champnextPageTokende la page précédente. Une chaîne vide indique qu’il n’y a plus de pages.
Paginate managed runners
cwic sandbox runner get.
Masques de champs lors des mises à jour
Les points de terminaison de mise à jour acceptent unupdate_mask facultatif. S’il est fourni, seuls les champs listés dans le masque sont appliqués et l’API ignore tout le reste de l’objet de la requête. S’il est absent, tous les champs modifiables non vides de l’objet de la requête sont appliqués.
Les chemins utilisent la notation pointée et des noms de champs en snake_case (convention standard de google.protobuf.FieldMask). Chemins modifiables les plus courants :
Sur l’interface REST, fournissez le masque sous la forme d’un unique paramètre de requête
updateMask dont les valeurs sont séparées par des virgules, en utilisant la forme JSON (camelCase) de chaque chemin, et envoyez directement la ressource comme corps de requête, sans encapsuleur :
Erreurs
Les erreurs renvoient un code de statut HTTP approprié et un corpsgoogle.rpc.Status.
Les messages de validation font partie de la surface stable de l’API. Vous pouvez les afficher tels quels aux utilisateurs finaux.
Idempotence
L’API du plan de contrôle offre les garanties d’idempotence suivantes :- Les points de terminaison
Delete*sont idempotents. Un appelDELETEsur une ressource déjà supprimée renvoie404sans effet de bord. - Les points de terminaison
Create*ne sont pas idempotents. Si vous fournissez deux fois le mêmerunnerIdou le mêmedisplayName, l’API renvoie409 Conflict. Pour effectuer une nouvelle tentative sans risque, vérifiez d’abord avecGETsi la ressource existe déjà. - Les points de terminaison
Update*peuvent faire l’objet de nouvelles tentatives sans risque si vous utilisez un masque de champs et ne définissez que les champs à modifier.
Signaux de pulsation
Les signaux de pulsation (heartbeats) permettent de vérifier que les exécuteurs sont actifs. Si le plan de contrôle ne reçoit aucun signal de pulsation pendant la fenêtre d’activité, leconnectionStatus de l’exécuteur passe à DISCONNECTED. Comptez jusqu’à 30 secondes de décalage entre le moment où l’exécuteur devient injoignable et celui où le plan de contrôle en tient compte. Vous pouvez lire connectionStatus ainsi que le champ associé installStatus dans la réponse d’une requête Get sur un exécuteur.
Voir aussi
- Architecture des bacs à sable : la taxonomie à quatre ressources et la façon dont la passerelle relaie les requêtes d’exécution.
- Aperçu des politiques : comment un sandbox est résolu par rapport à une politique.
- Configurer une politique de sandbox : flux de travail avec CoreWeave Intelligent CLI et guide pas à pas, champ par champ, de la spécification du profil.
- Déployer et gérer un exécuteur : guide pas à pas du cycle de vie de l’exécuteur avec CoreWeave Intelligent CLI et l’API REST.
- Référence des politiques : tous les champs que vous pouvez définir dans un profil.
- Protobuf : où trouver le module Protobuf publié, quel hôte expose chaque service et comment installer un SDK généré.