L'API de réservation de débit (anciennement réservation TPM) vous permet de créer, de requêter et de gérer la capacité de débit réservée. Chaque réservation de débit est identifiée par un ModelCode et peut contenir plusieurs instances de capacité. Chaque instance représente un achat de capacité et peut être mise à l'échelle, renouvelée ou libérée séparément.
Authentification et préparation de l'appel
Utilisez la clé API Bailian de la région d'appel, et transmettez-la dans l'en-tête de requête Authorization: Bearer <api-key>. La clé API est liée à la région et ne peut pas être utilisée entre régions. Lorsque le corps de la requête est JSON, transmettez Content-Type: application/json。
Le format de domaine spécifique à l'espace de travail est https://{workspaceId}.{region}.maas.aliyuncs.com, utilisez le point de terminaison de l'espace de travail et de la région cibles. Pour spécifier un sous-espace métier, transmettez-le dans l'en-tête de requête X-DashScope-WorkSpace: <workspace-id>。
Le domaine de l'API DashScope est https://dashscope-intl.aliyuncs.com. La région de Virginie utilise https://{workspaceId}.us-east-1.maas.aliyuncs.com.
Les résultats des opérations de capacité asynchrones sont obtenus via Interroger l'opération de capacité .
Pour l'accès à la console, voir Réservation de débit, pour les concepts de déploiement, voir Déploiements, pour l'API générale de déploiement, voir Utilisation de l'API pour effectuer le déploiement de modèle。
Conventions communes
Le chemin de base de l'interface est /api/v1/deployments, héritant du domaine OpenAPI DashScope et de la méthode d'authentification de la région d'appel. Le corps de la requête utilise Content-Type: application/json. Utilisez le compte, le modèle et le déploiement de la région cible.
deployed_model: l'identifiant d'appel de la réservation de débit (ModelCode) ; dans les réponses d'instance/opération,model_service_idreprésente le même objet.instance_id: ID de l'instance de capacité. Utilisez la valeur de retour de l'interface, n'en déduisez pas la méthode de facturation basée sur le format de la chaîne.operation_id: ID d'opération, utiliser la valeur de chaîne retournée par l'interface.- Les ID d'exemple, les noms de modèles et les valeurs de capacité ci-dessous sont des exemples fictifs. Les modèles réels, les valeurs minimales, la taille de pas, la limite supérieure et la durée d'achat sont soumis aux limites du modèle et d'achat de la région cible.
- Les exemples JSON omettent certains champs de réponse facultatifs ; le statut d'étape dans les exemples n'est pas un retour fixe pour chaque requête.
Les réponses réussies sont uniformément encapsulées comme suit :
{
"request_id": "example-request",
"output": {}
}
Exemple d'erreur de requête :
{
"request_id": "example-request",
"code": "CAPACITY_INSTANCE_REQUIRED",
"message": "需要指定容量实例"
}
ImportantUn succès de requête HTTP n'équivaut pas à un succès d'opération de capacité. Même si l'interface d'écriture d'instance retourne un HTTP 200, output.operation_status peut aussi être FAILED。必须检查操作状态和错误字段,确认成功后再使用更新的容量。
Créer une réservation de débit
POST /api/v1/deployments
Créer une réservation de débit et acheter la première instance de capacité, en retournant le ModelCode utilisé pour appeler le modèle. Pour ajouter de la capacité à une réservation de débit existante, veuillez appeler Acheter une instance de capacité supplémentaire。
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
model_name | String | Oui | Nom du modèle de base |
plan | String | Oui | ptu |
service_tier | String | Non | Niveau de performance : ptu_fast est haute vitesse (par défaut), ptu_default est vitesse standard |
charge_type | String | Oui | pre_paid (Abonnement) / post_paid (Paiement à l'usage) |
name | String | Non | Nom d'affichage ; généré automatiquement s'il n'est pas spécifié. |
suffix | String | Non | Suffixe ModelCode ; généré automatiquement s'il n'est pas fourni. |
ptu_capacity | Object | Oui | Configuration de la capacité, voir Paramètre de capacité |
pre_paid_info | Object | Requis sous condition | Requis pour l'abonnement, voir Paramètre d'abonnement ; non transmis pour le paiement à l'usage |
ptu_default prend en charge l'abonnement ; ptu_fast prend en charge l'abonnement et le paiement à l'usage. Les nouvelles instances de capacité héritent du niveau de performance du ModelCode.
ptu_default Standard prend en charge deux cycles de facturation : Par jour et créneau horaire de 8 heures : Par jour correspond à pricing_cycle=Day, le créneau horaire de 8 heures correspond à pricing_cycle=Hour Et duration=8. Le créneau horaire de 8 heures est uniquement pris en charge par ptu_default Standard,ptu_fast Haute vitesse ne le prend pas en charge.
Exemple d'abonnement à la journée :
{
"model_name": "<base_model>",
"plan": "ptu",
"service_tier": "ptu_fast",
"charge_type": "pre_paid",
"name": "吞吐预留示例",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Exemple d'abonnement pour un créneau horaire de 8 heures (uniquement ptu_default Standard) :
{
"model_name": "<base_model>",
"plan": "ptu",
"service_tier": "ptu_default",
"charge_type": "pre_paid",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"pricing_cycle": "Hour",
"duration": 8,
"auto_renewal": false
}
}
ptu_capacity
L'unité de capacité est le kTPM (1 kTPM = 1000 Tokens/Minutes). Les modèles actuellement pris en charge ne permettent pas de configurer séparément le quota de sortie de réflexion.
| Champ | Type | Description |
|---|---|---|
input_tpm | Long | Capacité d'entrée, unité kTPM, fournie selon les exigences du modèle et respectant le pas et la plage |
output_tpm | Long | Capacité de sortie, unité kTPM, fournie selon les exigences du modèle et respectant le pas et la plage |
Lors de la mise à l'échelle, cela indique la capacité absolue après la modification de l'instance sélectionnée, et non l'incrément, ni la capacité totale cible du ModelCode.
pre_paid_info
| Champ | Type | Description |
|---|---|---|
pricing_cycle | String | Cycle de facturation : Day est Par jour (par défaut), Hour est créneau de 8 heures ; Hour uniquement ptu_default vitesse standard prise en charge, sensible à la casse |
duration | Integer | Durée d'achat/de renouvellement, l'unité suit pricing_cycle : Day en jours, Hour en heures et fixé à 8, doit être supérieur à 0 |
auto_renewal | Boolean | spécifier explicitement s'il faut activer le renouvellement automatique ; le scénario Hour doit être false |
auto_renewal_duration | Integer | Requis et supérieur à 0 lorsque le renouvellement automatique est activé, unité : jours ; Hour n'est pas transmis dans ce scénario |
auto_renewal_cycle | String | Facultatif. Unité du cycle de renouvellement, passer les valeurs prises en charge par le produit, par exemple Day indique des jours ; Hour n'est pas passé dans ce scénario |
Réponse de création
output est l'objet de déploiement (Requêter la réservation de débit). Lors de la création d'une instance de capacité, peut retourner operation_id、instance_id ; lorsque la commande d'achat d'une instance d'abonnement n'a pas encore été traitée, instance_id peut être temporairement indisponible ; obtenez-le plus tard via requête.
{
"request_id": "example-request",
"output": {
"deployed_model": "example-model-code",
"model_name": "<base_model>",
"plan": "ptu",
"status": "WAIT_PRE_PAID_BILLING_TO_DEPLOYING",
"operation_id": "100001"
}
}
Il y a operation_id lorsque, par Requêter l'opération de capacité requête ; pour un délai d'expiration de requête de création, confirmez d'abord si elle a déjà été créée afin d'éviter une création en double de ModelCode.
Mise à l'échelle
PUT /api/v1/deployments/{deployed_model}/scale
Ajuster la capacité d'entrée et de sortie d'une instance de capacité sous la réservation de débit spécifiée. Lorsqu'il existe plusieurs instances non supprimées, vous devez utiliser instance_id pour spécifier l'instance cible.
| Champ | Obligatoire | Description |
|---|---|---|
instance_id | Requis sous condition | Requis lorsqu'il existe plusieurs instances non supprimées ; peut être omis lorsqu'il n'y a qu'une seule instance non supprimée |
ptu_capacity | Oui | La capacité absolue après la modification de cette instance |
pre_paid_info | Non | Si non transmis pour l'abonnement, réutiliser les informations enregistrées ; ne pas transmettre pour le paiement à l'usage |
order_type | Non | UPGRADE pour la montée en gamme, DOWNGRADE pour la descente en gamme ; si omis, le serveur le détermine, et la valeur transmise doit être cohérente avec la direction du changement de capacité |
{
"instance_id": "example-capacity-instance",
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
output Retourne les informations de réservation de débit ; l'ID de l'opération de capacité correspondante via operation_id est retourné. Pour plusieurs instances sans ID spécifié, retourne CAPACITY_INSTANCE_REQUIRED. Pour les nouvelles intégrations, recommandé Mise à l'échelle de l'instance de capacité spécifiée。
Les modifications d'abonnement impliquent des commandes ; le paiement à la demande ne passe pas par les commandes de modification d'abonnement. Avant que la modification ne soit confirmée, la capacité effective originale continue d'être conservée ; en cas d'échec, la capacité cible ne peut pas être affichée comme effective. Une mise à l'échelle tout-zéro n'équivaut pas à la suppression d'une instance.
Interroger la réservation de débit
GET /api/v1/deployments/{deployed_model}
Interroger la configuration et le statut de la réservation de débit spécifiée, ainsi que la capacité effective agrégée de toutes les instances de capacité.
{
"request_id": "example-request",
"output": {
"deployed_model": "example-model-code",
"model_name": "<base_model>",
"plan": "ptu",
"ptu_service_tier": "ptu_fast",
"status": "RUNNING",
"charge_type": "pre_paid",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"overflow_strategy": "disable"
}
}
| Champ | Description |
|---|---|
deployed_model | L'identifiant d'appel de la réservation de débit (ModelCode). |
model_name | Nom du modèle de base. |
plan | Identifiant de type, Throughput Reserved est ptu. |
status | Statut du ModelCode, ne représente pas le statut de chaque CapacityInstance |
ptu_service_tier | Niveau de performance : ptu_fast est haute vitesse, ptu_default est vitesse standard |
ptu_capacity | La capacité agrégée d'entrée et de sortie de toutes les CapacityInstances effectives sous ce ModelCode |
charge_type | Valeur : pre_paid (Abonnement) / post_paid (Paiement à l'usage) |
pre_paid_info | Configuration d'achat et de renouvellement d'abonnement, y compris pricing_cycle(Day Par jour / Hour pour une période de 8 heures),duration etc. Lorsque plusieurs instances de capacité existent, veuillez requêter l'instance cible via les détails de l'instance pre_paid_info。 |
pre_paid_instance_id | Identifiant de l'instance d'abonnement. Lorsque plusieurs instances de capacité existent, veuillez obtenir chaque instance via la liste des instances de capacité instance_id, et spécifier l'instance sur laquelle opérer. |
pre_paid_gmt_expired | Heure d'expiration de l'abonnement. Lorsque plusieurs instances de capacité existent, veuillez obtenir son heure d'expiration via les détails de l'instance cible gmt_expired. Les règles de calcul de l'heure d'expiration se trouvent dansFacturation de la réservation de débit。 |
overflow_strategy | Stratégie de débordement,enable indique que la facturation à la demande pour le débordement est autorisée,disable indique que la limitation est appliquée lorsque la capacité est dépassée. Pour les règles de facturation du débordement, voir Facturation de la réservation de débit。 |
fail_reason | Raison de l'échec. |
gmt_create | Créé le. |
gmt_modified | Heure de dernière modification. |
operation_id | ID CapacityOperation, utilisé pour interroger les résultats de l'opération ; peut être retourné dans la réponse de l'opération d'écriture correspondante. |
instance_id | ID CapacityInstance. Peut ne pas être retourné lorsque la commande d'achat n'a pas été entièrement traitée ; obtenez-le via des requêtes ultérieures. |
La facturation mixte doit être déterminée par le charge_type de chaque instance dans la liste CapacityInstance. Le statut du déploiement et le type de facturation ne peuvent remplacer le statut et le type de facturation de chaque instance.
Interroger la liste des réservations de débit
GET /api/v1/deployments?page_no=1&page_size=10&plan=ptu
Interroger la liste des réservations de débit avec pagination.
| Paramètre de requête | Description |
|---|---|
page_no | Numéro de page, par défaut 1 |
page_size | Nombre d'éléments par page, par défaut 10, Plage [1,100] |
plan | Filtre de type facultatif. Passer ptu ; le niveau de performance est indiqué par service_tier et n'est pas une valeur de plan |
{
"request_id": "example-request",
"output": {
"deployments": [
{
"deployed_model": "example-model-code",
"plan": "ptu",
"status": "RUNNING",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
}
}
],
"total": 1,
"page_no": 1,
"page_size": 10
}
}
La liste des déploiements ne prend pas en charge le filtrage par statut via le paramètre status. Pour le filtrage des instances de capacité, utilisez Requêter la liste des instances de capacité (y compris les instances supprimées) 's statuses。
Renouveler
PUT /api/v1/deployments/{deployed_model}/renew
Renouveler l'instance de capacité d'abonnement spécifiée ; la capacité peut être ajustée en même temps. Lorsqu'il existe plusieurs instances non supprimées, vous devez spécifier l'instance cible via instance_id.
| Champ | Obligatoire | Description |
|---|---|---|
instance_id | Requis sous condition | Doit être spécifié lorsqu'il existe plusieurs instances non supprimées ; peut être omis pour une instance unique |
pre_paid_info | Oui | Informations de renouvellement, voir Paramètres d'abonnement |
is_change | Non | Par défaut false ; indique s'il faut ajuster la capacité en même temps |
ptu_capacity | Non | Omettre pour conserver la capacité configurée ; lors du passage d'une capacité différente, il faut is_change=true |
Renouveler et activer le renouvellement automatique :
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": true,
"auto_renewal_duration": 30
}
}
Renouveler sans activer le renouvellement automatique :
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Seul l'abonnement est pris en charge ; les demandes de renouvellement ne peuvent pas passer par order_type。output Retourne les informations de réservation de débit, et peut inclure un ID d'opération de capacité ; il est recommandé d'utiliser l'interface au niveau de l'instance Renouveler l'instance de capacité spécifiée et d'interroger les résultats.
Modifier la stratégie de débordement
PUT /api/v1/deployments/{deployed_model}/update-overflowstrategy
{
"overflow_strategy": "disable"
}
overflow_strategy Obligatoire, seules les minuscules sont prises en charge enable / disable。enable indique que le trafic dépassant la capacité PTU est autorisé à déborder vers le pool public pour une facturation à l'usage ;disable indique une limitation après le dépassement de la limite. La configuration s'applique à l'ensemble du ModelCode ; les forfaits de capacité n'ont pas de stratégies de débordement individuelles. Pour plus de détails sur la facturation du débordement, voirFacturation de la réservation de débit。
La réponse contient request_id et output. Après modification, vous pouvez passer Réservation de débit Obtenir overflow_strategy, confirmer que la configuration a été mise à jour.
{
"request_id": "example-request",
"output": {
"deployed_model": "example-model-code",
"model_name": "<base_model>",
"plan": "ptu_v2",
"ptu_service_tier": "ptu_fast",
"status": "RUNNING",
"charge_type": "post_paid",
"overflow_strategy": "disable",
"ptu_capacity": {
"input_tpm_quota": 10000,
"output_tpm_quota": 10000
}
}
}
AvertissementAprès l'activation de la stratégie de débordement, le trafic dépassant la capacité est facturé à l'usage, ce qui entraîne des frais supplémentaires. Après sa désactivation, les requêtes dépassant la capacité seront limitées. Pour plus de détails sur la facturation du débordement, voirFacturation de la réservation de débit ; pour plus d'informations, voirDébit provisionné avec entrée longue et cache。
Interface d'instance de capacité
Les interfaces suivantes utilisent toutes /api/v1/deployments/{deployed_model} comme préfixe. Les opérations d'écriture d'instance retournent un objet d'opération Opération de capacité, différent de l'ancien objet /scale、/renew Déploiements.
Instance de capacité d'achat cumulé
POST /api/v1/deployments/{deployed_model}/capacity-instances
| Champ | Obligatoire | Description |
|---|---|---|
billing_method | Oui | Méthode de facturation : PRE_PAY est Abonnement, POST_PAY est Paiement à l'usage. Les valeurs sont sensibles à la casse |
ptu_capacity | Oui | Capacité de la nouvelle instance |
pre_paid_info | Requis sous condition | Requis pour l'abonnement, non transmis pour le paiement à l'usage |
Exemple d'abonnement :
{
"billing_method": "PRE_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Exemple d'achat supplémentaire pour une période de 8 heures (uniquement ptu_default vitesse standard, billing_method fixé à PRE_PAY, pre_paid_info passer pricing_cycle=Hour / duration=8 / auto_renewal=false) :
{
"billing_method": "PRE_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"pricing_cycle": "Hour",
"duration": 8,
"auto_renewal": false
}
}
Instance de période horaire de 8 heures créée avec succès, passer Requêter les détails de l'instance de capacité permet d'obtenir les champs suivants : pricing_cycle est Hour;gmt_effective est l'heure d'entrée en vigueur à l'heure pleine de Pékin ; gmt_expired et gmt_effectiveune différence de 8 heures ;can_scale、can_renew、can_enable_auto_renew、can_disable_auto_renew、can_deletesont tous false。
Exemple postpayé :
{
"billing_method": "POST_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
}
}
Retourne l'objet opération ; la réponse initiale peut indiquer un succès, un échec ou une opération toujours en cours. Réutiliser le ModelCode, le modèle et le niveau de performance existants ; seule une instance à la demande non supprimée est autorisée par ModelCode. Lorsque les conditions d'achat ou la quantité d'instances ne répondent pas aux exigences, traitez selon l'erreur retournée par l'interface.
Interroger la liste des instances de capacité (y compris les instances supprimées)
GET /api/v1/deployments/{deployed_model}/capacity-instances?page_no=1&page_size=20&include_deleted=true
| Paramètre de requête | Type | Description |
|---|---|---|
page_no | Integer | Par défaut 1 |
page_size | Integer | Par défaut 20, Plage [1,100] |
include_deleted | Boolean | Par défaut true ; passer explicitement false pour afficher uniquement les instances non supprimées |
statuses | Liste de chaînes | Facultatif, plusieurs valeurs séparées par des virgules, par exemple RUNNING,STOPPED |
charge_types | Liste de chaînes | Facultatif,pre_paid,post_paid |
{
"request_id": "example-request",
"output": {
"records": [
{
"model_service_id": "example-model-code",
"instance_id": "example-capacity-instance",
"charge_type": "post_paid",
"status": "STOPPED",
"deleted": true,
"effective_capacity": {
"input_tpm": 0,
"output_tpm": 0
},
"configured_capacity": {
"input_tpm": 0,
"output_tpm": 0
},
"can_scale": false,
"can_renew": false,
"can_delete": false
}
],
"items": 1,
"page": 1,
"itemsPerPage": 20,
"pageCount": 1
}
}
La structure de pagination diffère de la liste des déploiements :records est la page actuelle,items est le nombre total,page est le numéro de page,itemsPerPage / pageCount conserve l'orthographe camelCase du retour actuel. Les instances avec une capacité active sont prioritaires, puis triées par date de création par ordre décroissant. La liste prend uniquement en charge le paramètre de requête listé dans cette section.
Interroger les détails de l'instance de capacité
GET /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
Retourne l'objet d'instance CapacityInstance ; les instances supprimées peuvent également être interrogées. Le ModelCode et l'instance doivent correspondre ; les instances ne peuvent pas être opérées entre différents ModelCode.
RemarqueAprès la libération d'une instance à la demande, le rachat de capacité à la demande sous le même ModelCode réutilisera l'ID d'instance original. La liste et les détails sont mis à jour avec les informations de l'instance après le rachat, et ne conservent plus séparément l'enregistrement de suppression original. Après la libération, configured_capacity peut être zéro ; la conservation de la capacité configurée avant la libération n'est pas garantie.
Mise à l'échelle de l'instance de capacité spécifiée
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/scale
{
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
Sémantique des paramètres identique à Mise à l'échelle, l'ID d'instance est déterminé par le chemin ; le corps de la requête n'a pas besoin d'être répété. Retourne l'objet opération. Lire avant d'appeler can_scale ; les instances dont l'expiration de l'abonnement est en attente ne peuvent pas être mises à l'échelle directement, renouvelez d'abord. Les instances de créneau horaire de 8 heures ne prennent pas en charge la mise à l'échelle, l'appel retourne CAPACITY_INSTANCE_OPERATION_UNSUPPORTED。
Renouveler l'instance de capacité spécifiée
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/renew
Renouvellement standard :
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Renouveler et ajuster la capacité :
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
},
"is_change": true,
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
}
}
Contraintes de paramètres identiques à Renouveler, ne pas passer order_type。Seul l'abonnement peut être renouvelé, vérifiez d'abord can_renew ; retourne l'objet opération. Les instances de créneau horaire de 8 heures ne prennent pas en charge le renouvellement et le renouvellement automatique, l'appel retourne CAPACITY_INSTANCE_OPERATION_UNSUPPORTED。
Supprimer / Libérer l'instance de capacité
DELETE /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
Le paramètre de requête facultatif reason est la raison de la suppression, encodée en URL ; aucun corps de requête JSON n'est requis. Retourne un objet d'opération.
- Paiement à l'usage : libéré via le processus de suppression, et à la fin, le
deleted=true,status=STOPPED, avec une capacité effective de zéro. - Abonnement actif : Cette interface ne peut pas être utilisée à la place du désabonnement ; l'appeler directement retourne
PREPAID_UNSUBSCRIBE_REQUIRED. Après avoir terminé le désabonnement et libéré la capacité, cela retourne finalement aussideleted=true、status=STOPPED。 - Les instances de créneau horaire de 8 heures ne prennent pas en charge la suppression directe ; l'appel retourne
PREPAID_UNSUBSCRIBE_REQUIRED, et vous devez suivre la procédure commerciale de désabonnement. can_delete=trueindique que le statut actuel permet d'entrer dans le processus de suppression/désabonnement, mais ne signifie pas que l'abonnement peut ignorer le désabonnement et être directement SUPPRIMÉ. Pour les instances ayant échoué qui n'ont pas encore de commandes associées, veuillez les traiter en fonction des résultats retournés par l'interface.
La libération par désabonnement est une opération asynchrone. Lorsque le même ModelCode traite d'autres opérations, une opération de libération acceptée sera mise en file d'attente ; une requête effectuée avant la fin peut encore retourner le statut d'origine et la capacité effective. L'acceptation du désabonnement ne signifie pas que la capacité a été libérée ; veuillez vérifier via les résultats de l'opération et le champ deleted de l'instance que la vérification est complète. Pour plus de détails sur la formule de remboursement du désabonnement, voirFacturation de la réservation de débit。
Interroger l'opération de capacité
GET /api/v1/deployments/{deployed_model}/capacity-operations/{operation_id}
{
"request_id": "example-poll-request",
"output": {
"operation_id": "100001",
"request_id": "example-original-request",
"operation_type": "SCALE",
"operation_status": "SUCCEEDED",
"model_service_id": "example-model-code",
"instance_id": "example-capacity-instance",
"from_status": "RUNNING",
"current_status": "RUNNING"
}
}
Le request_id externe est l'identifiant de cette requête, et celui à l'intérieur de l'objet opération request_id est l'identifiant d'opération original ; les deux peuvent différer. Le chemin de requête doit appartenir au ModelCode qui a créé cette opération.
Utilisez l'identifiant réel retourné par l'opération d'écriture operation_id, ne le construisez pas vous-même. Lors de la requête d'un ID numérique inexistant ou d'opérations d'un autre ModelCode, le système retourne HTTP 404, CAPACITY_OPERATION_NOT_FOUND ; lors du passage d'un ID invalide contenant des caractères non numériques tels que des lettres, il peut retourner HTTP 500, InternalError. En cas d'erreur, vérifiez d'abord l'ID ; ne réémettez pas directement l'opération d'écriture de capacité.
Supprimer le débit réservé
DELETE /api/v1/deployments/{deployed_model}
Il faut d'abord libérer toutes les instances de capacité, et le ModelCode est STOPPED, aucune CapacityOperation n'est en cours d'exécution ou en attente, puis supprimer l'ensemble du déploiement. Retourner l'objet de déploiement.
Après la libération de la dernière instance, le ModelCode devient STOPPED, le ModelCode ne sera pas automatiquement supprimé. Supprimer une instance de capacité et supprimer un ModelCode sont deux opérations différentes.
Objet de réponse et statut
Instance de capacité (CapacityInstance)
| Champ | Type | Description |
|---|---|---|
model_service_id | String | Le ModelCode auquel appartient l'instance de capacité ou l'opération. |
instance_id | String | ID de l'instance de capacité. |
charge_type | String | pre_paid (Abonnement) / post_paid (Paiement à l'usage) |
status | String | Statut du cycle de vie de l'instance ; voir le tableau ci-dessous |
deleted | Boolean | Indique si l'instance est supprimée/libérée, utilisé pour identifier les instances libérées |
effective_capacity | Object | Capacité de service actuellement confirmée |
configured_capacity | Object | Configuration de l'instance/capacité contractuelle ; conservée même lorsque l'instance est arrêtée ou suspendue |
target_capacity | Object | Capacité cible en cours de modification ; peut ne pas être retournée ou être vide dans un état stable |
pre_paid_info | Object | Configuration d'achat et de renouvellement d'abonnement de cette instance, y compris pricing_cycle(Day Par jour / Hour pour des créneaux horaires de 8 heures), voir Paramètres d'abonnement。 |
gmt_effective | String | Heure d'entrée en vigueur de l'instance d'abonnement ; les instances de créneau horaire de 8 heures entrent en vigueur aux heures pleines de l'heure de Pékin. Analyser selon le décalage du fuseau horaire, ne pas prendre directement le numéro d'heure de +00:00 comme heure de Pékin. |
gmt_expired | String | Heure d'expiration de l'instance d'abonnement ; les instances de créneau horaire de 8 heures et gmt_effective diffèrent de 8 heures. Pour les règles de calcul de l'heure d'expiration, voirFacturation de la réservation de débit。 |
can_scale | Boolean | Indique si la mise à l'échelle est actuellement autorisée pour l'instance ; pour les instances de créneau horaire de 8 heures, la valeur est fixée à false. |
can_renew | Boolean | Indique si le renouvellement de l'instance est actuellement autorisé ; pour les instances de créneau horaire de 8 heures, la valeur est fixée à false. |
can_enable_auto_renew | Boolean | Indique si l'activation du renouvellement automatique est actuellement autorisée ; fixe à false pour les instances par créneaux de 8 heures. |
can_disable_auto_renew | Boolean | Indique si la désactivation du renouvellement automatique est actuellement autorisée ; fixe à false pour les instances par créneaux de 8 heures. |
can_delete | Boolean | Indique si la suppression ou le désabonnement de l'instance est actuellement autorisé ; les instances prépayées doivent tout de même suivre la procédure de désabonnement, les instances de créneau horaire de 8 heures sont fixées à false. |
fail_reason | String | Raison de l'échec |
gmt_created | Heure | Heure de création. |
gmt_modified | Heure | Heure de dernière modification. |
gmt_deleted | Heure | Heure de suppression. |
| Statut | Signification et suggestions d'affichage |
|---|---|
WAIT_PRE_PAID_BILLING_TO_DEPLOYING / WAIT_TO_DEPLOY | En attente de traitement de l'achat / En attente de prise d'effet |
RUNNING | En cours d'exécution |
WAIT_PRE_PAID_BILLING_TO_SCALING / SCALING | En attente de commande de mise à niveau / Mise à jour en cours |
STOPPING / STOPPED | Arrêt en cours / Arrêté ; combiné avec deleted pour distinguer les instances libérées |
SUSPENDING / SUSPENDED | Suspension / Suspendu |
STARTING / RECOVERING | Démarrage / Récupération en cours |
DELETING | Suppression en cours |
FAILED | Échec, traiter selon la raison de l'échec |
La suppression à la demande et l'annulation d'abonnement peuvent être uniformément affichées comme « Libéré » : la condition est deleted=true, plutôt que seulement status=STOPPED。STOPPED + deleted=false sont encore des instances réservées. Les instances deleted=true ne sont pas autorisées à être mises à l'échelle, renouvelées ou supprimées.
RUNNING Le statut ne signifie pas que toutes les actions sont disponibles. Lorsque le même ModelCode a une opération en cours ou des restrictions de facturation, l'action correspondante peut être indisponible. Les instances d'abonnement SUSPENDED ne peuvent pas être mises à l'échelle ; elles peuvent être renouvelées si les conditions de renouvellement sont remplies ; les instances à l'usage ne peuvent pas être renouvelées. Avant d'appeler, requêtez à nouveau les détails de l'instance via can_scale、can_renew、can_delete pour vérifier si l'action est disponible, et gérez les erreurs retournées par l'interface.
Opération de capacité (CapacityOperation)
| Champ | Description |
|---|---|
operation_id | ID de l'opération de capacité, utilisé pour interroger les résultats de l'opération ; peut être retourné dans la réponse de l'opération d'écriture correspondante. |
request_id | L'identifiant de requête qui a initié cette opération de capacité. |
operation_type | Commun CREATE、SCALE、RENEW、DELETE ; le traitement du cycle de vie peut également faire apparaître STOP、REFUND, ce qui ne signifie pas qu'il existe une interface d'écriture publique portant le même nom |
operation_status | Valeurs : PROCESSING, SUCCEEDED, FAILED |
model_service_id | Le ModelCode auquel appartient l'instance de capacité ou l'opération. |
instance_id | ID de l'instance de capacité. Il peut ne pas être retourné lorsque la commande d'achat n'a pas encore été traitée ; veuillez l'obtenir via des requêtes ultérieures. |
from_status | Le statut de l'instance avant l'opération. |
current_status | Statut actuel de l'instance. |
error_code | Code d'erreur lorsque l'opération échoue. |
error_message | Description de l'erreur lorsque l'opération échoue. |
gmt_created | Créé le. |
gmt_finished | Heure de fin de l'opération. |
Lorsque l'opération est en cours d'exécution ou en file d'attente, retourner PROCESSING。SUCCEEDED / FAILED est l'état terminal. À la réception de l'état terminal, arrêter l'interrogation et actualiser le résumé de l'instance et du déploiement.
Appel asynchrone, idempotence et gestion des erreurs
Séquence d'appels recommandée
- Interroger les détails de l'instance, lire les commutateurs de capacité et la dernière configuration.
- Initier une requête d'achat / de mise à l'échelle / de renouvellement / de suppression et enregistrer
operation_id. - Si retourne
PROCESSING, interroger périodiquement l'opération et appliquer un backoff progressif ; si un état terminal est atteint, traiter directement le résultat. SUCCEEDEDpuis actualiser l'instance et le ModelCode ;FAILEDAffichererror_code/error_message. Un délai d'attente réseau n'équivaut pas à un échec d'opération ; interrogez d'abord les opérations existantes.
Les changements de capacité pour le même ModelCode sont traités dans l'ordre ; lorsqu'une opération est en cours, de nouveaux changements peuvent être rejetés. Les libérations de désabonnement acceptées sont mises en file d'attente et continuent après l'achèvement des opérations précédentes. Avant qu'un changement ne prenne effet, les requêtes retournent toujours la capacité effective originale ; la capacité cible ne doit pas être considérée comme déjà effective.
Après l'empilement, la mise à l'échelle ou la libération, vous pouvez obtenir la capacité effective agrégée mise à jour via l'interface de requête de déploiement et continuer à utiliser le ModelCode d'origine. L'appel d'un modèle nécessite également de finaliser les déploiements de modèle correspondants et d'utiliser l'authentification de compte ainsi que les paramètres d'appel corrects ; une opération de capacité réussie ne signifie pas que toutes les autres conditions d'invocation du modèle sont remplies.
Nouvelle tentative et identifiant de requête
Pour les tentatives réseau de la même opération d'écriture de capacité, gardez l'identifiant de requête et les paramètres inchangés. Il est recommandé de définir x-acs-req-uuid et X-DashScope-RequestId sur le même UUID pour éviter que l'incohérence entre les deux ne provoque un changement réel d'identifiant. La priorité de lecture actuelle est x-acs-req-uuid、X-DashScope-RequestId、X-Request-Id, un nouvel identifiant est généré lorsque aucun n'est fourni.
Les opérations de capacité avec le même ModelCode, le même identifiant de requête valide et les mêmes paramètres d'opération réutilisent les opérations existantes ; l'utilisation du même identifiant avec des paramètres différents retournera IDEMPOTENCY_KEY_CONFLICT. Les nouvelles opérations métier utilisent de nouveaux identifiants. N'appliquez pas directement cette convention d'idempotence d'opération d'instance à la première création de ModelCode.
Code d'erreur
| Code d'erreur | HTTP | Suggestion de traitement |
|---|---|---|
CAPACITY_INSTANCE_REQUIRED | 400 | Spécifier la cible pour plusieurs instances instance_id |
CAPACITY_INSTANCE_OPERATION_UNSUPPORTED | 400 | Actualiser les détails et les commutateurs de capacité, confirmer que le statut actuel et la méthode de facturation prennent en charge l'opération |
PREPAID_UNSUBSCRIBE_REQUIRED | 400 | Transféré vers le processus de désabonnement existant |
POSTPAID_INSTANCE_ALREADY_EXISTS | 400 | Réutiliser une instance postpayée existante, ou la libérer avant d'en créer une nouvelle |
CAPACITY_SLOT_LIMIT_EXCEEDED / TOTAL_CAPACITY_INSTANCE_LIMIT_EXCEEDED | 400 | Limite de slots d'instances valides / Limite de quantité totale incluant l'historique atteinte |
MODEL_CODE_DELETED | 400 | Ne plus lancer d'opérations d'écriture sur la réservation de débit supprimée |
MODEL_CODE_NOT_FOUND / CAPACITY_INSTANCE_NOT_FOUND | 404 | Vérifier la région, le compte, le ModelCode et l'appartenance de l'instance ; l'exécution d'une mise à l'échelle sur une instance supprimée peut également retourner CAPACITY_INSTANCE_NOT_FOUND |
CAPACITY_OPERATION_NOT_FOUND | 404 | L'opération n'existe pas ou n'appartient pas au ModelCode spécifié. Vérifiez l'ID retourné par l'opération d'écriture |
InternalError | 500 | Peut être retourné lorsqu'un ID non numérique invalide est passé dans la requête d'opération ; vérifiez d'abord l'ID, pour les autres erreurs internes conservez request_id et contactez le support technique |
CAPACITY_INSTANCE_OPERATION_CONFLICT | 409 | Interroger d'abord les opérations existantes, puis initier une nouvelle opération une fois terminées |
IDEMPOTENCY_KEY_CONFLICT | 409 | La nouvelle tentative conserve les paramètres d'origine ; les différentes opérations métier utilisent un nouvel identifiant |
BILLING_ACCOUNT_NOT_READY | 403 | Vérifier si le compte remplit les conditions d'achat |
BILLING_SERVICE_UNAVAILABLE | 503 | Interroger les opérations existantes et gérer les nouvelles tentatives selon la politique de backoff |
Le tableau liste les erreurs levées pendant la phase de requête correspondant au HTTP ; les échecs des opérations asynchrones sont retournés via le champ d'erreur de l'objet opération, vous ne pouvez donc pas juger uniquement sur le statut HTTP.
Autres erreurs courantes :
| Code d'état HTTP | Code d'erreur | Suggestion de traitement |
|---|---|---|
| 400 | InvalidParameter | Vérifier les noms des paramètres, les types, la direction du changement de capacité et les valeurs. |
| 401 | InvalidApiKey | Vérifiez la validité et la région de la clé API. |
| 403 | AccessDenied / Model.AccessDenied / App.AccessDenied | Vérifier les autorisations du compte, de l'espace de travail et du modèle. |
| 404 | ModelNotFound | Vérifiez le nom du modèle de base et la portée prise en charge. |
| 409 | Conflict | Conflit de nom de déploiement, modifiez le nom ou le suffixe. |
| 429 | Throttling / Throttling.RateQuota / Throttling.AllocationQuota | Le dépassement de quota de réservation de débit correspond à AllocationQuota, vous pouvez mettre à l'échelle ou ajuster la stratégie de débordement. |
| 500 | RequestTimeOut | Vérifier d'abord les opérations existantes pour éviter les achats en double ; conserver le request_id pour contacter le support technique. |
| 503 | ModelUnavailable | Réessayez plus tard ou passez à un modèle disponible. |
Pour la gestion des limites de taux, voir Meilleures pratiques pour les limites de taux.