Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Référence de l'API de réservation de débit

Dernière mise à jour :Oct 11, 2026

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_id repré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。

ChampTypeObligatoireDescription
model_nameStringOuiNom du modèle de base
planStringOuiptu
service_tierStringNonNiveau de performance : ptu_fast est haute vitesse (par défaut), ptu_default est vitesse standard
charge_typeStringOuipre_paid (Abonnement) / post_paid (Paiement à l'usage)
nameStringNonNom d'affichage ; généré automatiquement s'il n'est pas spécifié.
suffixStringNonSuffixe ModelCode ; généré automatiquement s'il n'est pas fourni.
ptu_capacityObjectOuiConfiguration de la capacité, voir Paramètre de capacité
pre_paid_infoObjectRequis sous conditionRequis 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.

ChampTypeDescription
input_tpmLongCapacité d'entrée, unité kTPM, fournie selon les exigences du modèle et respectant le pas et la plage
output_tpmLongCapacité 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

ChampTypeDescription
pricing_cycleStringCycle 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
durationIntegerDuré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_renewalBooleanspécifier explicitement s'il faut activer le renouvellement automatique ; le scénario Hour doit être false
auto_renewal_durationIntegerRequis et supérieur à 0 lorsque le renouvellement automatique est activé, unité : jours ; Hour n'est pas transmis dans ce scénario
auto_renewal_cycleStringFacultatif. 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.

ChampObligatoireDescription
instance_idRequis sous conditionRequis lorsqu'il existe plusieurs instances non supprimées ; peut être omis lorsqu'il n'y a qu'une seule instance non supprimée
ptu_capacityOuiLa capacité absolue après la modification de cette instance
pre_paid_infoNonSi non transmis pour l'abonnement, réutiliser les informations enregistrées ; ne pas transmettre pour le paiement à l'usage
order_typeNonUPGRADE 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"
  }
}
ChampDescription
deployed_modelL'identifiant d'appel de la réservation de débit (ModelCode).
model_nameNom du modèle de base.
planIdentifiant de type, Throughput Reserved est ptu.
statusStatut du ModelCode, ne représente pas le statut de chaque CapacityInstance
ptu_service_tierNiveau de performance : ptu_fast est haute vitesse, ptu_default est vitesse standard
ptu_capacityLa capacité agrégée d'entrée et de sortie de toutes les CapacityInstances effectives sous ce ModelCode
charge_typeValeur : pre_paid (Abonnement) / post_paid (Paiement à l'usage)
pre_paid_infoConfiguration 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_idIdentifiant 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_expiredHeure 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_strategyStraté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_reasonRaison de l'échec.
gmt_createCréé le.
gmt_modifiedHeure de dernière modification.
operation_idID 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_idID 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êteDescription
page_noNuméro de page, par défaut 1
page_sizeNombre d'éléments par page, par défaut 10, Plage [1,100]
planFiltre 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.

ChampObligatoireDescription
instance_idRequis sous conditionDoit être spécifié lorsqu'il existe plusieurs instances non supprimées ; peut être omis pour une instance unique
pre_paid_infoOuiInformations de renouvellement, voir Paramètres d'abonnement
is_changeNonPar défaut false ; indique s'il faut ajuster la capacité en même temps
ptu_capacityNonOmettre 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

ChampObligatoireDescription
billing_methodOuiMéthode de facturation : PRE_PAY est Abonnement, POST_PAY est Paiement à l'usage. Les valeurs sont sensibles à la casse
ptu_capacityOuiCapacité de la nouvelle instance
pre_paid_infoRequis sous conditionRequis 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êteTypeDescription
page_noIntegerPar défaut 1
page_sizeIntegerPar défaut 20, Plage [1,100]
include_deletedBooleanPar défaut true ; passer explicitement false pour afficher uniquement les instances non supprimées
statusesListe de chaînesFacultatif, plusieurs valeurs séparées par des virgules, par exemple RUNNING,STOPPED
charge_typesListe de chaînesFacultatif,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 aussi deleted=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=true indique 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)

ChampTypeDescription
model_service_idStringLe ModelCode auquel appartient l'instance de capacité ou l'opération.
instance_idStringID de l'instance de capacité.
charge_typeStringpre_paid (Abonnement) / post_paid (Paiement à l'usage)
statusStringStatut du cycle de vie de l'instance ; voir le tableau ci-dessous
deletedBooleanIndique si l'instance est supprimée/libérée, utilisé pour identifier les instances libérées
effective_capacityObjectCapacité de service actuellement confirmée
configured_capacityObjectConfiguration de l'instance/capacité contractuelle ; conservée même lorsque l'instance est arrêtée ou suspendue
target_capacityObjectCapacité cible en cours de modification ; peut ne pas être retournée ou être vide dans un état stable
pre_paid_infoObjectConfiguration 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_effectiveStringHeure 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_expiredStringHeure 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_scaleBooleanIndique 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_renewBooleanIndique 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_renewBooleanIndique si l'activation du renouvellement automatique est actuellement autorisée ; fixe à false pour les instances par créneaux de 8 heures.
can_disable_auto_renewBooleanIndique si la désactivation du renouvellement automatique est actuellement autorisée ; fixe à false pour les instances par créneaux de 8 heures.
can_deleteBooleanIndique 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_reasonStringRaison de l'échec
gmt_createdHeureHeure de création.
gmt_modifiedHeureHeure de dernière modification.
gmt_deletedHeureHeure de suppression.
StatutSignification et suggestions d'affichage
WAIT_PRE_PAID_BILLING_TO_DEPLOYING / WAIT_TO_DEPLOYEn attente de traitement de l'achat / En attente de prise d'effet
RUNNINGEn cours d'exécution
WAIT_PRE_PAID_BILLING_TO_SCALING / SCALINGEn attente de commande de mise à niveau / Mise à jour en cours
STOPPING / STOPPEDArrêt en cours / Arrêté ; combiné avec deleted pour distinguer les instances libérées
SUSPENDING / SUSPENDEDSuspension / Suspendu
STARTING / RECOVERINGDémarrage / Récupération en cours
DELETINGSuppression 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)

ChampDescription
operation_idID 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_idL'identifiant de requête qui a initié cette opération de capacité.
operation_typeCommun 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_statusValeurs : PROCESSING, SUCCEEDED, FAILED
model_service_idLe ModelCode auquel appartient l'instance de capacité ou l'opération.
instance_idID 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_statusLe statut de l'instance avant l'opération.
current_statusStatut actuel de l'instance.
error_codeCode d'erreur lorsque l'opération échoue.
error_messageDescription de l'erreur lorsque l'opération échoue.
gmt_createdCréé le.
gmt_finishedHeure 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

  1. Interroger les détails de l'instance, lire les commutateurs de capacité et la dernière configuration.
  2. Initier une requête d'achat / de mise à l'échelle / de renouvellement / de suppression et enregistrer operation_id.
  3. 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.
  4. SUCCEEDED puis actualiser l'instance et le ModelCode ; FAILED Afficher error_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'erreurHTTPSuggestion de traitement
CAPACITY_INSTANCE_REQUIRED400Spécifier la cible pour plusieurs instances instance_id
CAPACITY_INSTANCE_OPERATION_UNSUPPORTED400Actualiser 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_REQUIRED400Transféré vers le processus de désabonnement existant
POSTPAID_INSTANCE_ALREADY_EXISTS400Ré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_EXCEEDED400Limite de slots d'instances valides / Limite de quantité totale incluant l'historique atteinte
MODEL_CODE_DELETED400Ne plus lancer d'opérations d'écriture sur la réservation de débit supprimée
MODEL_CODE_NOT_FOUND / CAPACITY_INSTANCE_NOT_FOUND404Vé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_FOUND404L'opération n'existe pas ou n'appartient pas au ModelCode spécifié. Vérifiez l'ID retourné par l'opération d'écriture
InternalError500Peut ê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_CONFLICT409Interroger d'abord les opérations existantes, puis initier une nouvelle opération une fois terminées
IDEMPOTENCY_KEY_CONFLICT409La nouvelle tentative conserve les paramètres d'origine ; les différentes opérations métier utilisent un nouvel identifiant
BILLING_ACCOUNT_NOT_READY403Vérifier si le compte remplit les conditions d'achat
BILLING_SERVICE_UNAVAILABLE503Interroger 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 HTTPCode d'erreurSuggestion de traitement
400InvalidParameterVérifier les noms des paramètres, les types, la direction du changement de capacité et les valeurs.
401InvalidApiKeyVérifiez la validité et la région de la clé API.
403AccessDenied / Model.AccessDenied / App.AccessDeniedVérifier les autorisations du compte, de l'espace de travail et du modèle.
404ModelNotFoundVérifiez le nom du modèle de base et la portée prise en charge.
409ConflictConflit de nom de déploiement, modifiez le nom ou le suffixe.
429Throttling / Throttling.RateQuota / Throttling.AllocationQuotaLe 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.
500RequestTimeOutVérifier d'abord les opérations existantes pour éviter les achats en double ; conserver le request_id pour contacter le support technique.
503ModelUnavailableRéessayez plus tard ou passez à un modèle disponible.

Pour la gestion des limites de taux, voir Meilleures pratiques pour les limites de taux.