La API de Reserva de Rendimiento (anteriormente Reserva de TPM) le permite crear, consultar y gestionar capacidad de rendimiento reservado. Cada Reserva de Rendimiento se identifica mediante un ModelCode y puede contener múltiples instancias de capacidad. Cada instancia representa una compra de capacidad y puede escalarse, renovarse o liberarse por separado.
Autenticación y preparación de llamadas
Utilice la Clave API de Bailian de la región de llamada, y pásela en el encabezado de solicitud Authorization: Bearer <api-key>. La Clave API está vinculada a la región y no se puede usar entre regiones. Cuando el cuerpo de la solicitud es JSON, pase Content-Type: application/json.
El formato de dominio específico del espacio de trabajo es https://{workspaceId}.{region}.maas.aliyuncs.com, utilice el Endpoint del espacio de trabajo y región objetivo. Para especificar un subespacio de negocio, inclúyalo en el encabezado de solicitud X-DashScope-WorkSpace: <workspace-id>.
El dominio de la API de DashScope es https://dashscope-intl.aliyuncs.com. La región de Virginia utiliza https://{workspaceId}.us-east-1.maas.aliyuncs.com.
Los resultados de las operaciones de capacidad asíncronas se obtienen mediante Consultar Operación de Capacidad .
Para acceder desde la consola, consulte Reserva de Rendimiento; para conceptos de despliegue, consulte Despliegues; para la API general de despliegue, consulte Uso de la API para realizar el despliegue de modelos.
Convenciones comunes
La ruta base de la interfaz es /api/v1/deployments, heredando el dominio OpenAPI de DashScope y el método de autenticación de la región de llamada. El cuerpo de la solicitud utiliza Content-Type: application/json. Utilice la cuenta, el modelo y el despliegue de la región objetivo.
deployed_model: el identificador de llamada de la Reserva de Rendimiento (ModelCode); en las respuestas de instancia/operación,model_service_idrepresenta el mismo objeto.instance_id: ID de Instancia de Capacidad. Utilice el valor de retorno de la interfaz, no infiera el Método de Facturación basándose en el formato de la cadena.operation_id: ID de operación, utilice el valor de cadena devuelto por la interfaz.- Los IDs de ejemplo, nombres de modelos y valores de capacidad a continuación son ejemplos provisionales. Los modelos reales, valores mínimos, tamaño de paso, límite superior y duración de compra están sujetos al modelo y a los límites de compra de la región objetivo.
- Los ejemplos JSON omiten algunos campos de respuesta opcionales; el estado de etapa en los ejemplos no es un retorno fijo para cada solicitud.
Las respuestas exitosas se envuelven uniformemente como:
{
"request_id": "example-request",
"output": {}
}
Ejemplo de error de solicitud:
{
"request_id": "example-request",
"code": "CAPACITY_INSTANCE_REQUIRED",
"message": "需要指定容量实例"
}
ImportanteEl éxito de una solicitud HTTP no equivale al éxito de una operación de capacidad. Incluso si la interfaz de escritura de la instancia devuelve HTTP 200, output.operation_status también puede ser FAILED. Debe verificar el estado de la operación y los campos de error, y confirmar el éxito antes de utilizar la capacidad actualizada.
Crear rendimiento reservado
POST /api/v1/deployments
Crea una Reserva de Rendimiento y compra la primera instancia de capacidad, devolviendo el ModelCode utilizado para llamar al modelo. Para agregar capacidad a una Reserva de Rendimiento existente, llame a Comprar Instancia de Capacidad Adicional.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model_name | String | Sí | Nombre del modelo base |
plan | String | Sí | ptu |
service_tier | String | No | Nivel de rendimiento: ptu_fast es alta velocidad (predeterminado), ptu_default es velocidad estándar |
charge_type | String | Sí | pre_paid(Suscripción) / post_paid(Pago por uso) |
name | String | No | Nombre para mostrar; se genera automáticamente si no se especifica. |
suffix | String | No | Sufijo de ModelCode; se genera automáticamente si no se proporciona. |
ptu_capacity | Object | Sí | Configuración de capacidad, ver Parámetro de capacidad |
pre_paid_info | Object | Condicionalmente requerido | Requerido para Suscripción, consulte Parámetro de Suscripción; no se pasa para Pago por uso |
ptu_default admite Suscripción; ptu_fast admite Suscripción y Pago por uso. Las nuevas instancias de capacidad heredan el Nivel de Rendimiento del ModelCode.
ptu_default Estándar admite dos Ciclos de Facturación: Por Día y franja horaria de 8 horas. Por Día corresponde a pricing_cycle=Day; la franja horaria de 8 horas corresponde a pricing_cycle=Hour y duration=8. La franja horaria de 8 horas solo es compatible con ptu_default Estándar; ptu_fast Alta Velocidad no la admite.
Ejemplo de suscripción por día:
{
"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
}
}
Ejemplo de suscripción de franja horaria de 8 horas (solo ptu_default Estándar):
{
"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
La unidad de capacidad es kTPM (1 kTPM = 1000 Tokens/Minuto). Los modelos admitidos actualmente no permiten configurar por separado la cuota de salida de razonamiento.
| Campo | Tipo | Descripción |
|---|---|---|
input_tpm | Long | Capacidad de entrada, unidad kTPM, proporcionada según los requisitos del modelo y cumpliendo con el paso y el rango |
output_tpm | Long | Capacidad de salida, unidad kTPM, proporcionada según los requisitos del modelo y cumpliendo con el paso y el rango |
Al Escalar, indica la capacidad absoluta después de los cambios en la Instancia seleccionada, no el incremento, ni la capacidad total objetivo del ModelCode.
pre_paid_info
| Campo | Tipo | Descripción |
|---|---|---|
pricing_cycle | String | Ciclo de Facturación: Day es Por Día (predeterminado), Hour es intervalo de 8 Horas; Hour solo admite velocidad Estándar ptu_default, distingue entre mayúsculas y minúsculas |
duration | Integer | Duración de Compra/Renovación, la unidad sigue a pricing_cycle: Day como días, Hour como horas y fijo en 8, debe ser mayor que 0 |
auto_renewal | Boolean | especifique explícitamente si desea renovar automáticamente; el escenario Hour debe ser false |
auto_renewal_duration | Integer | Requerido y mayor que 0 cuando la renovación automática está habilitada, unidad: días; Hour no se pasa en este escenario |
auto_renewal_cycle | String | Opcional. Unidad del ciclo de renovación, pase valores admitidos por el producto, por ejemplo Day indica días; Hour no se pasa en este escenario |
Respuesta de creación
output es el objeto de despliegue (Consultar Reserva de Rendimiento). Al crear una instancia de capacidad, puede devolver operation_id, instance_id; cuando la orden de compra de una instancia de Suscripción aún no ha sido procesada, instance_id puede estar temporalmente no disponible; obténgalo posteriormente mediante consulta.
{
"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"
}
}
Cuando hay operation_id, consulte mediante Consultar Operación de Capacidad; ante un tiempo de espera en la solicitud de creación, confirme primero si ya se ha creado para evitar la creación duplicada del ModelCode.
Escalado
PUT /api/v1/deployments/{deployed_model}/scale
Ajusta la capacidad de entrada y salida de una instancia de capacidad bajo la reserva de rendimiento especificada. Cuando existen múltiples instancias no eliminadas, debe usar instance_id para especificar la instancia objetivo.
| Campo | Obligatorio | Descripción |
|---|---|---|
instance_id | Obligatorio condicional | Requerido cuando existen múltiples Instancias no eliminadas; se puede omitir cuando solo hay una Instancia no eliminada |
ptu_capacity | Sí | La capacidad absoluta después de que esta instancia cambia |
pre_paid_info | No | Cuando no se pasa Suscripción, reutilice la información guardada; Pago por uso no lo transmite |
order_type | No | UPGRADE para aumentar, DOWNGRADE para disminuir; cuando se omite, el servidor lo determina, y el valor pasado debe ser consistente con la dirección del cambio de capacidad |
{
"instance_id": "example-capacity-instance",
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
output Devuelve información de Reserva de Rendimiento; se devuelve el ID de la operación de capacidad correspondiente mediante operation_id. Para múltiples instancias sin un ID especificado, devuelve CAPACITY_INSTANCE_REQUIRED. Para nuevas integraciones, se recomienda Escalar Instancia de Capacidad Específica.
Los cambios de Suscripción implican órdenes; el Pago por uso no pasa por órdenes de cambio de Suscripción. Antes de que se confirme el cambio, se continúa reteniendo la capacidad efectiva original; en caso de fallo, la capacidad objetivo no puede mostrarse como efectiva. Un Escalado a cero total no equivale a eliminar una Instancia.
Consultar reserva de rendimiento
GET /api/v1/deployments/{deployed_model}
Consulta la configuración y el Estado de la Reserva de Rendimiento especificada, así como la capacidad efectiva agregada de todas las Instancias de Capacidad.
{
"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"
}
}
| Campo | Descripción |
|---|---|
deployed_model | El identificador de llamada de la Reserva de Rendimiento (ModelCode). |
model_name | Nombre del modelo base. |
plan | Identificador de tipo, Throughput Reserved es ptu. |
status | Estado de ModelCode, no representa el estado de cada CapacityInstance |
ptu_service_tier | Nivel de rendimiento:ptu_fast es alta velocidad,ptu_default es velocidad estándar |
ptu_capacity | La capacidad agregada de entrada y salida de todas las CapacityInstances efectivas bajo este ModelCode |
charge_type | Valor:pre_paid(Suscripción)/ post_paid(Pago por uso) |
pre_paid_info | Configuración de Compra y Renovación de Suscripción, incluyendo pricing_cycle (Day Por Día / Hour para periodo de 8 Horas), duration, etc. Cuando existen múltiples Instancias de capacidad, consulte la Instancia objetivo a través de los detalles de la Instancia pre_paid_info. |
pre_paid_instance_id | Identificador de Instancia de Suscripción. Cuando existen múltiples Instancias de capacidad, obtenga cada Instancia a través de la lista de Instancias de capacidad instance_id, y especifique la Instancia sobre la cual operar. |
pre_paid_gmt_expired | Hora de vencimiento de la Suscripción. Cuando existen múltiples Instancias de capacidad, obtenga su hora de vencimiento a través de los detalles de la Instancia objetivo gmt_expired. Las reglas de cálculo de la hora de vencimiento se encuentran en Facturación de Reserva de Rendimiento. |
overflow_strategy | Estrategia de desbordamiento: enable indica que se permite la facturación de pago por uso para el desbordamiento; disable indica que se aplica limitación de velocidad cuando se excede la capacidad. Para las reglas de facturación por desbordamiento, consulte Facturación de Reserva de Rendimiento. |
fail_reason | Motivo del fallo. |
gmt_create | Fecha de creación. |
gmt_modified | Última hora de modificación. |
operation_id | ID de CapacityOperation, utilizado para consultar los resultados de la operación; puede devolverse en la respuesta de la operación de escritura correspondiente. |
instance_id | ID de CapacityInstance. Puede no devolverse cuando la orden de compra no se ha procesado completamente; obténgalo mediante consultas posteriores. |
La facturación mixta debe determinarse por el charge_type de cada instancia en la lista CapacityInstance. El estado del despliegue y el tipo de facturación no pueden reemplazar el estado y el tipo de facturación de cada instancia.
Consultar lista de reserva de rendimiento
GET /api/v1/deployments?page_no=1&page_size=10&plan=ptu
Consultar la lista de reserva de rendimiento con paginación.
| Parámetro de consulta | Descripción |
|---|---|
page_no | Número de página, valor predeterminado 1 |
page_size | Número de elementos por página, valor predeterminado 10, Rango [1,100] |
plan | Filtro de tipo opcional. Pase ptu; el Nivel de Rendimiento se indica mediante service_tier y no es un valor 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 lista de despliegues no admite filtrar por estado mediante el parámetro status. Para filtrar instancias de capacidad, utilice statuses de Consultar Lista de Instancias de Capacidad (Incluyendo Instancias Eliminadas).
Renovar
PUT /api/v1/deployments/{deployed_model}/renew
Renueva la instancia de capacidad de Suscripción especificada; la capacidad se puede ajustar al mismo tiempo. Cuando existen múltiples instancias no eliminadas, debe especificar la instancia objetivo mediante instance_id.
| Campo | Obligatorio | Descripción |
|---|---|---|
instance_id | Condicionalmente requerido | Debe especificarse cuando hay múltiples instancias no eliminadas; se puede omitir para una sola instancia |
pre_paid_info | Sí | Información de renovación, ver Parámetros de suscripción |
is_change | No | Valor predeterminado false; si se ajusta la capacidad al mismo tiempo |
ptu_capacity | No | Omitir para conservar la capacidad configurada; al pasar una capacidad diferente, debe is_change=true |
Renovar y habilitar renovación automática:
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": true,
"auto_renewal_duration": 30
}
}
Renovar pero no habilitar renovación automática:
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Solo se admite Suscripción; las solicitudes de renovación no pueden pasar order_type. output devuelve información de Reserva de Rendimiento y puede incluir un ID de Operación de Capacidad; se recomienda utilizar la interfaz a nivel de instancia Renovar Instancia de Capacidad Específica y sondear los resultados.
Modificar estrategia de desbordamiento
PUT /api/v1/deployments/{deployed_model}/update-overflowstrategy
{
"overflow_strategy": "disable"
}
overflow_strategy Obligatorio, solo se admiten minúsculas enable / disable. enable indica que se permite que el tráfico que exceda la capacidad PTU se desborde al pool público para facturación de Pago por uso; disable indica limitación de velocidad después de superar el límite. La configuración se aplica a todo el ModelCode; los paquetes de capacidad no tienen estrategias de desbordamiento individuales. Para detalles sobre la facturación por desbordamiento, consulte Facturación de Reserva de Rendimiento.
La respuesta contiene request_id y output. Después de la modificación, puede usar Consultar Reserva de Rendimiento para obtener overflow_strategy y confirmar que la configuración se ha actualizado.
{
"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
}
}
}
AdvertenciaDespués de habilitar la estrategia de desbordamiento, el tráfico que exceda la capacidad se factura bajo la modalidad de pago por uso, incurriendo en cargos adicionales. Después de deshabilitarla, las solicitudes que excedan la capacidad serán limitadas. Para detalles sobre la facturación por desbordamiento, consulte Facturación de Reserva de Rendimiento; para más información, consulte Rendimiento Aprovisionado de Entrada Larga y Caché.
Interfaz de instancia de capacidad
Las siguientes interfaces utilizan todas /api/v1/deployments/{deployed_model} como prefijo. Las operaciones de escritura de Instancias devuelven un objeto de operación Operación de Capacidad, diferente de los antiguos objetos de Despliegues /scale, /renew.
Instancia de capacidad de compra acumulativa
POST /api/v1/deployments/{deployed_model}/capacity-instances
| Campo | Obligatorio | Descripción |
|---|---|---|
billing_method | Sí | Método de facturación: PRE_PAY es Suscripción, POST_PAY es Pago por uso. Los valores distinguen entre mayúsculas y minúsculas |
ptu_capacity | Sí | Nueva capacidad de instancia |
pre_paid_info | Condicionalmente requerido | Requerido para Suscripción, no se transmite para Pago por uso |
Ejemplo de suscripción:
{
"billing_method": "PRE_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Ejemplo de compra adicional para periodo de tiempo de 8 Horas (solo velocidad estándar ptu_default, billing_method fijo en PRE_PAY, pre_paid_info pasar 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
}
}
Instancia de periodo de tiempo de 8 Horas creada exitosamente. A través de Consultar Detalles de Instancia de Capacidad se pueden Obtener los siguientes Campos: pricing_cycle es Hour; gmt_effective es la Hora efectiva en punto exacto de Beijing; gmt_expired y gmt_effective tienen una diferencia de 8 Horas; can_scale, can_renew, can_enable_auto_renew, can_disable_auto_renew, can_delete son todos false.
Ejemplo de pago por uso:
{
"billing_method": "POST_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
}
}
Devuelve el objeto de operación; la respuesta inicial puede indicar éxito, fallo o que aún está en progreso. Reutilice el ModelCode, modelo y Nivel de Rendimiento existentes; solo se permite una Instancia de Pago por uso no eliminada por ModelCode. Cuando las condiciones de compra o la cantidad de Instancias no cumplan con los requisitos, proceda según el error devuelto por la interfaz.
Consultar lista de instancias de capacidad (incluidas las eliminadas)
GET /api/v1/deployments/{deployed_model}/capacity-instances?page_no=1&page_size=20&include_deleted=true
| Parámetro de consulta | Tipo | Descripción |
|---|---|---|
page_no | Integer | Predeterminado 1 |
page_size | Integer | Valor predeterminado 20, Rango [1,100] |
include_deleted | Boolean | Valor predeterminado true; pase explícitamente false cuando solo muestre instancias no eliminadas |
statuses | Lista de cadenas | Opcional, múltiples valores separados por comas, por ejemplo RUNNING,STOPPED |
charge_types | Lista de cadenas | Opcional,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 estructura de paginación difiere de la lista de Despliegues: records es la página actual, items es el recuento total, page es el Número de Página, itemsPerPage / pageCount conserva la ortografía camelCase del retorno actual. Las instancias con capacidad activa tienen prioridad y luego se ordenan por Fecha de Creación en orden descendente. La Lista solo admite los Parámetros de consulta enumerados en esta sección.
Consultar detalle de instancia de capacidad
GET /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
Devuelve el objeto de instancia CapacityInstance; también se pueden consultar instancias eliminadas. El ModelCode y la instancia deben coincidir; no se pueden operar instancias entre diferentes ModelCode.
NotaDespués de que se libera una Instancia de Pago por uso, la recompra de capacidad de Pago por uso bajo el mismo ModelCode reutilizará el ID de instancia original. La Lista y los detalles se actualizan a la información de la instancia tras la recompra, y ya no conservan por separado el registro de Eliminación original. Después de la liberación, configured_capacity puede ser cero; no se garantiza la retención de la capacidad configurada antes de la liberación.
Escalado de CapacityInstance especificada
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/scale
{
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
La semántica de los parámetros es la misma que en Escalado; el ID de instancia se determina por la ruta y no es necesario repetirlo en el cuerpo de la solicitud. Devuelve el objeto de operación. Lea can_scale antes de llamar; las Instancias con vencimiento de Suscripción pendiente no pueden escalarse directamente, renuévelas primero. Las instancias de franja horaria de 8 horas no admiten Escalado; la llamada devuelve CAPACITY_INSTANCE_OPERATION_UNSUPPORTED.
Renovar instancia de capacidad especificada
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/renew
Renovación regular:
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
Renovar y ajustar capacidad:
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
},
"is_change": true,
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
}
}
Las restricciones de parámetros son las mismas que en Renovar; no pase order_type. Solo se puede renovar la Suscripción; verifique primero can_renew. Devuelve el objeto de operación. Las instancias de franja horaria de 8 horas no admiten Renovación ni renovación automática; la llamada devuelve CAPACITY_INSTANCE_OPERATION_UNSUPPORTED.
Eliminar / Liberar instancia de capacidad
DELETE /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
El parámetro de consulta opcional reason es el motivo de eliminación, codificado en URL; no se requiere cuerpo de solicitud JSON. Devuelve un objeto de operación.
- Pago por uso: Se libera mediante el proceso de eliminación y, al finalizar, queda como
deleted=true,status=STOPPED, con una capacidad efectiva de cero. - Suscripción Efectiva: Esta interfaz no puede usarse en lugar de la cancelación de suscripción; llamarla directamente devuelve
PREPAID_UNSUBSCRIBE_REQUIRED. Después de completar la cancelación de suscripción y liberar la capacidad, finalmente también devuelvedeleted=true,status=STOPPED. - Las instancias con intervalo de tiempo de 8 horas no admiten la eliminación directa; llamar a esta función devuelve
PREPAID_UNSUBSCRIBE_REQUIRED, y debe pasar por el proceso comercial de cancelación de suscripción. can_delete=trueindica que el estado actual permite ingresar al proceso de eliminación/cancelación de suscripción, pero no significa que la Suscripción pueda omitir la cancelación de suscripción y ejecutarse directamente como DELETE. Para instancias fallidas que aún no tienen órdenes asociadas, manéjelas basándose en los resultados devueltos por la interfaz.
La liberación por cancelación de suscripción es una operación asíncrona. Cuando el mismo ModelCode está procesando otras operaciones, una operación de liberación aceptada se pondrá en cola y esperará; consultar antes de la finalización puede seguir devolviendo el estado original y la capacidad efectiva. Que se acepte la cancelación de suscripción no significa que la capacidad haya sido liberada; verifique la finalización a través de los resultados de la operación y el campo deleted de la instancia. Para detalles sobre la fórmula de reembolso por cancelación de suscripción, consulte Facturación de Reserva de Rendimiento.
Consulta de operación de capacidad
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"
}
}
El request_id externo es el identificador de esta solicitud de consulta, y el request_id dentro del objeto de operación es el identificador de operación original; ambos pueden diferir. La ruta de consulta debe pertenecer al ModelCode que creó esta operación.
Utilice el valor real devuelto por la operación de escritura operation_id; no lo construya usted mismo. Al consultar un ID numérico inexistente u operaciones de otro ModelCode, devuelve HTTP 404, CAPACITY_OPERATION_NOT_FOUND; al pasar un ID inválido que contenga caracteres no numéricos como letras, puede devolver HTTP 500, InternalError. Al encontrar este error, verifique primero el ID; no vuelva a emitir directamente la operación de escritura de capacidad.
Eliminar rendimiento reservado
DELETE /api/v1/deployments/{deployed_model}
Es necesario liberar primero todas las Instancias de Capacidad, y que el ModelCode esté en STOPPED, sin ninguna CapacityOperation en ejecución o en cola, para luego eliminar todo el despliegue. Devuelve el objeto de despliegue.
Después de que se libere la última Instancia, el ModelCode pasa a STOPPED, y no se eliminará automáticamente. Eliminar una Instancia de Capacidad y eliminar un ModelCode son dos operaciones diferentes.
Objeto de respuesta y estado
Instancia de capacidad (CapacityInstance)
| Campo | Tipo | Descripción |
|---|---|---|
model_service_id | String | El ModelCode al que pertenece la instancia u operación de capacidad. |
instance_id | String | ID de instancia de capacidad. |
charge_type | String | pre_paid(Suscripción) / post_paid(Pago por uso) |
status | String | Estado del ciclo de vida de la instancia; consulte la tabla a continuación |
deleted | Boolean | Si está eliminado/liberado, utilizado para identificar instancias liberadas |
effective_capacity | Object | Capacidad de servicio confirmada actualmente |
configured_capacity | Object | Configuración de instancia/capacidad contratada; se conserva incluso cuando está detenida o suspendida |
target_capacity | Object | Capacidad objetivo que se está cambiando; puede no devolverse o estar vacía en estado estable |
pre_paid_info | Object | Configuración de compra y renovación de Suscripción de esta Instancia, incluyendo pricing_cycle (Day Por Día / Hour para intervalos de tiempo de 8 horas), consulte Parámetros de Suscripción. |
gmt_effective | String | Hora de entrada en vigor de la instancia de Suscripción; las instancias con intervalo de tiempo de 8 horas entran en vigor en horas enteras según la hora de Pekín. Analice según el desplazamiento de zona horaria, no tome el número de hora de +00:00 directamente como hora de Pekín. |
gmt_expired | String | Hora de vencimiento de la instancia de Suscripción; las instancias con intervalo de tiempo de 8 horas y gmt_effective difieren en 8 horas. Para las reglas de cálculo de la hora de vencimiento, consulte Facturación de Reserva de Rendimiento. |
can_scale | Boolean | Indica si actualmente se permite el escalado para la instancia; las instancias con intervalo de tiempo de 8 horas están fijadas en false. |
can_renew | Boolean | Si se permite actualmente la renovación de la instancia; las instancias de franja horaria de 8 horas tienen fijado false. |
can_enable_auto_renew | Boolean | Indica si la renovación automática se puede habilitar actualmente; las instancias con intervalo de tiempo de 8 horas están fijadas en false. |
can_disable_auto_renew | Boolean | Indica si la renovación automática se puede deshabilitar actualmente; las instancias con intervalo de tiempo de 8 horas están fijadas en false. |
can_delete | Boolean | Indica si la instancia se puede eliminar o cancelar su suscripción actualmente; las instancias de Suscripción aún necesitan completar el proceso de cancelación, y las instancias con intervalo de tiempo de 8 horas están fijadas en false. |
fail_reason | String | Motivo del fallo |
gmt_created | Tiempo | Hora de creación. |
gmt_modified | Tiempo | Última hora de modificación. |
gmt_deleted | Tiempo | Hora de eliminación. |
| Status | Significado y sugerencias de visualización |
|---|---|
WAIT_PRE_PAID_BILLING_TO_DEPLOYING / WAIT_TO_DEPLOY | Esperando procesamiento de compra / Esperando entrar en vigor |
RUNNING | En ejecución |
WAIT_PRE_PAID_BILLING_TO_SCALING / SCALING | Esperando orden de actualización / Actualizando |
STOPPING / STOPPED | Deteniendo / Detenido; combinado con deleted distingue Liberado |
SUSPENDING / SUSPENDED | Suspendiendo / Suspendido |
STARTING / RECOVERING | Iniciando / Recuperando |
DELETING | Eliminando |
FAILED | Fallido, manejar según el motivo del fallo |
La eliminación de Pago por uso y la cancelación de Suscripción pueden mostrarse uniformemente como "Released": la condición es deleted=true, en lugar de solo status=STOPPED. STOPPED + deleted=false siguen siendo instancias Reservadas. Las instancias deleted=true no tienen permitido escalar, renovarse ni eliminarse.
El estado RUNNING no significa que todas las Acciones estén disponibles. Cuando el mismo ModelCode tiene una operación en curso o restricciones de facturación, la acción correspondiente puede no estar disponible. Las instancias de Suscripción SUSPENDED no pueden escalarse; pueden renovarse cuando cumplen las condiciones de Renovación; las instancias de Pago por uso no pueden renovarse. Antes de llamar, vuelva a consultar los detalles de la instancia y verifique mediante can_scale, can_renew, can_delete si la acción está disponible, y gestione los errores devueltos por la interfaz.
Operación de capacidad (CapacityOperation)
| Campo | Descripción |
|---|---|
operation_id | ID de operación de capacidad, utilizado para consultar los resultados de la operación; puede devolverse en la respuesta de la operación de escritura correspondiente. |
request_id | El identificador de solicitud que inició esta operación de capacidad. |
operation_type | Comunes CREATE, SCALE, RENEW, DELETE; en el procesamiento del ciclo de vida también pueden aparecer STOP, REFUND, lo cual no significa que exista una interfaz pública de escritura con el mismo nombre |
operation_status | Valores:PROCESSING, SUCCEEDED, FAILED |
model_service_id | El ModelCode al que pertenece la instancia u operación de capacidad. |
instance_id | ID de instancia de capacidad. Es posible que no se devuelva cuando la orden de compra aún no se ha procesado; obténgalo mediante consultas posteriores. |
from_status | El estado de la instancia antes de la operación. |
current_status | Estado actual de la instancia. |
error_code | Código de error cuando falla la operación. |
error_message | Descripción del error cuando falla la operación. |
gmt_created | Fecha de creación. |
gmt_finished | Hora de finalización de la operación. |
Cuando la operación se está ejecutando o está en cola de espera, devuelve PROCESSING. SUCCEEDED / FAILED es el estado terminal. Al recibir el estado terminal, detenga el sondeo y actualice el resumen de la Instancia y del Despliegue.
Llamada asíncrona, idempotencia y manejo de errores
Secuencia de llamada recomendada
- Consultar detalles de la instancia, leer interruptores de capacidad y la configuración más reciente.
- Iniciar una solicitud de Compra / Escalado / Renovación / Eliminación y Guardar
operation_id. - Si devuelve
PROCESSING, consulte periódicamente la operación y reduzca gradualmente la frecuencia; si se alcanza el estado final, procese el resultado directamente. - Si es
SUCCEEDED, actualice la Instancia y el ModelCode; si esFAILED, muestreerror_code/error_message. Un tiempo de espera de red no equivale a un fallo de operación; consulte primero las operaciones existentes.
Los cambios de capacidad para el mismo ModelCode se procesan en orden; cuando hay una operación en curso, los nuevos cambios pueden ser rechazados. Las liberaciones por cancelación de suscripción aceptadas se ponen en cola y continúan después de que se completen las operaciones anteriores. Antes de que un cambio surta efecto, las consultas siguen devolviendo la capacidad efectiva original; la capacidad objetivo no debe tratarse como ya efectiva.
Después de que la acumulación, el Escalado o la liberación surtan efecto, puede Obtener la capacidad efectiva agregada actualizada a través de la interfaz de consulta de Despliegue y continuar usando el ModelCode original. Llamar a un modelo también requiere completar los Despliegues de modelo correspondientes y utilizar la autenticación de Cuenta y los parámetros de llamada correctos; una operación de capacidad exitosa no significa que se satisfagan todas las demás condiciones para la invocación del modelo.
Reintento e identificador de solicitud
Para reintentos de red de la misma operación de escritura de capacidad, mantenga sin cambios el identificador de solicitud y los parámetros. Se recomienda establecer x-acs-req-uuid y X-DashScope-RequestId con el mismo UUID para evitar que la inconsistencia entre ambos cause cambios reales en el identificador. La prioridad de lectura actual es x-acs-req-uuid, X-DashScope-RequestId, X-Request-Id; se genera un nuevo identificador cuando no se proporciona ninguno.
Las operaciones de capacidad con el mismo ModelCode, el mismo identificador de solicitud válido y los mismos parámetros de operación reutilizan las operaciones existentes; usar el mismo identificador con diferentes parámetros devolverá IDEMPOTENCY_KEY_CONFLICT. Las nuevas operaciones comerciales utilizan nuevos identificadores. No aplique directamente esta convención de idempotencia de operación de instancia a la primera creación de ModelCode.
Código de error
| Código de error | HTTP | Sugerencia de manejo |
|---|---|---|
CAPACITY_INSTANCE_REQUIRED | 400 | Especificar el objetivo para múltiples instancias instance_id |
CAPACITY_INSTANCE_OPERATION_UNSUPPORTED | 400 | Actualice los detalles y los interruptores de capacidades, y confirme que el estado actual y el método de facturación admiten la operación |
PREPAID_UNSUBSCRIBE_REQUIRED | 400 | Redirigir al proceso de cancelación de suscripción existente |
POSTPAID_INSTANCE_ALREADY_EXISTS | 400 | Reutilice la instancia de pago por uso existente o libérela primero antes de crear una nueva |
CAPACITY_SLOT_LIMIT_EXCEEDED / TOTAL_CAPACITY_INSTANCE_LIMIT_EXCEEDED | 400 | Se ha alcanzado el límite de espacios de instancias efectivas / recuento total (incluidos registros históricos) |
MODEL_CODE_DELETED | 400 | No inicie operaciones de escritura en reservas de rendimiento eliminadas |
MODEL_CODE_NOT_FOUND / CAPACITY_INSTANCE_NOT_FOUND | 404 | Verifique la región, la cuenta, el ModelCode y la propiedad de la instancia; escalar una instancia eliminada también puede devolver CAPACITY_INSTANCE_NOT_FOUND |
CAPACITY_OPERATION_NOT_FOUND | 404 | La operación no existe o no pertenece al ModelCode especificado. Verifique el ID devuelto por la operación de escritura |
InternalError | 500 | Puede devolverse cuando se pasa un ID no numérico inválido en la consulta de operación; verifique primero el ID, para otros errores internos conserve el request_id y contacte al soporte técnico |
CAPACITY_INSTANCE_OPERATION_CONFLICT | 409 | Primero consulte las operaciones existentes y, tras su finalización, inicie una nueva operación |
IDEMPOTENCY_KEY_CONFLICT | 409 | El reintento mantiene los parámetros originales; diferentes operaciones comerciales utilizan un nuevo identificador |
BILLING_ACCOUNT_NOT_READY | 403 | Verificar si la cuenta cumple con las condiciones de compra |
BILLING_SERVICE_UNAVAILABLE | 503 | Consulte las operaciones existentes y maneje los reintentos según la política de retroceso |
La tabla enumera los errores lanzados durante la fase de solicitud correspondientes a HTTP; los fallos de operaciones asíncronas se devuelven a través del campo de error del objeto de operación, por lo que no puede juzgar únicamente por el estado HTTP.
Otros errores comunes:
| Código de estado HTTP | Código de error | Sugerencia de manejo |
|---|---|---|
| 400 | InvalidParameter | Verifique los nombres de parámetros, tipos, dirección de cambio de capacidad y valores. |
| 401 | InvalidApiKey | Verifique la validez y la región de la API Key. |
| 403 | AccessDenied / Model.AccessDenied / App.AccessDenied | Verifique los permisos de la cuenta, el espacio de trabajo y la autorización del modelo. |
| 404 | ModelNotFound | Verifique el nombre del modelo base y el alcance admitido. |
| 409 | Conflict | Conflicto de nombre de despliegue, cambie el nombre o el sufijo. |
| 429 | Throttling / Throttling.RateQuota / Throttling.AllocationQuota | El exceso de cuota de reserva de rendimiento corresponde a AllocationQuota; puede escalar o ajustar la estrategia de desbordamiento. |
| 500 | RequestTimeOut | Verifique primero las operaciones existentes para evitar compras duplicadas; conserve el request_id para contactar al soporte técnico. |
| 503 | ModelUnavailable | Reintentar más tarde o cambiar a un modelo disponible. |
Para el manejo de límites de tasa, consulte Mejores prácticas de límites de tasa.