スループット予約(旧 TPM 予約)API を使用すると、予約済みのスループットキャパシティを作成、クエリ、管理できます。各スループット予約は ModelCode によって識別され、複数のキャパシティインスタンスを含めることができます。各インスタンスはキャパシティの購入を表し、個別にスケーリング、更新、またはリリースできます。
認証と呼び出し準備
呼び出しリージョンのBailian API Keyを使用し、リクエストヘッダーAuthorization: Bearer <api-key>に渡してください。API Keyはリージョンにバインドされており、クロスリージョンで使用することはできません。リクエストボディがJSONの場合は、Content-Type: application/jsonを渡してください。
ワークスペース固有のドメイン形式はhttps://{workspaceId}.{region}.maas.aliyuncs.comです。対象ワークスペースおよびリージョンのエンドポイントを使用してください。サブビジネススペースを指定するには、リクエストヘッダーにX-DashScope-WorkSpace: <workspace-id>を含めてください。
DashScope APIドメインはhttps://dashscope-intl.aliyuncs.comです。バージニアリージョンではhttps://{workspaceId}.us-east-1.maas.aliyuncs.comを使用します。
非同期キャパシティ操作の結果は、キャパシティ操作のクエリを通じて取得します。
コンソールエントリーについてはスループットリザベーションを、デプロイメントの概念についてはデプロイメントを、一般的なデプロイメントAPIについてはAPIを使用したモデルデプロイメントの実行を参照してください。
共通規約
インターフェースのベースパスは/api/v1/deploymentsであり、呼び出しリージョンのDashScope OpenAPIドメインと認証方法を継承します。リクエストボディはContent-Type: application/jsonを使用します。対象リージョンのアカウント、モデル、およびデプロイメントを使用してください。
deployed_model:スループット予約(ModelCode)の呼び出し識別子です。インスタンス/操作レスポンスでは、model_service_idが同じオブジェクトを表します。instance_id:キャパシティインスタンスIDです。インターフェースの戻り値を使用し、文字列形式に基づいて課金方法を推測しないでください。operation_id:操作IDには、インターフェースから返される文字列値を使用してください。- 以下の例示ID、モデル名、およびキャパシティ値はプレースホルダーの例です。実際のモデル、最小値、ステップサイズ、上限、および購入期間は、対象リージョンのモデルおよび購入制限に準拠します。
- JSON例では一部の任意のレスポンスフィールドが省略されています。また、例内のステージステータスは、各リクエストに対して固定で返されるものではありません。
成功レスポンスは一律に以下のようにラップされます:
{
"request_id": "example-request",
"output": {}
}
リクエストエラー例:
{
"request_id": "example-request",
"code": "CAPACITY_INSTANCE_REQUIRED",
"message": "需要指定容量实例"
}
重要HTTPリクエストの成功は、キャパシティ操作の成功を意味しません。インスタンス書き込みインターフェースがHTTP 200を返した場合でも、output.operation_statusがFAILEDとなる可能性があります。操作ステータスとエラーフィールドを確認し、成功を確認してから更新されたキャパシティを使用してください。
予約スループットの作成
POST /api/v1/deployments
予約スループットを作成し、最初のキャパシティインスタンスを購入して、モデルの呼び出しに使用するModelCodeを返します。既存の予約スループットにキャパシティを追加するには、キャパシティインスタンスの追加購入を呼び出してください。
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
model_name | String | はい | ベースモデル名 |
plan | String | はい | ptu |
service_tier | String | いいえ | パフォーマンステイア:ptu_fastは高速(デフォルト)、ptu_defaultは標準速度です |
charge_type | String | はい | pre_paid(サブスクリプション)/ post_paid(従量課金制) |
name | String | いいえ | 表示名;未指定の場合は自動生成されます。 |
suffix | String | いいえ | ModelCodeサフィックス;未指定の場合は自動生成されます。 |
ptu_capacity | Object | はい | キャパシティ設定については、キャパシティパラメータを参照してください |
pre_paid_info | Object | 条件付き必須 | サブスクリプションの場合は必須です。サブスクリプションパラメータを参照してください。従量課金制の場合は渡しません |
ptu_defaultはサブスクリプションをサポートしています。ptu_fastはサブスクリプションと従量課金制をサポートしています。新しいキャパシティインスタンスはModelCodeのパフォーマンステイアを継承します。
ptu_defaultスタンダードは、日単位と8時間タイムスロットの2つの課金サイクルをサポートしています。日単位はpricing_cycle=Dayに対応し、8時間タイムスロットはpricing_cycle=Hourおよびduration=8に対応します。8時間タイムスロットはptu_defaultスタンダードのみがサポートしており、ptu_fastハイスピードはサポートしていません。
日単位サブスクリプションの例:
{
"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
}
}
8時間タイムスロットのサブスクリプション例(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
キャパシティの単位はkTPMです(1 kTPM = 1000トークン/分)。現在サポートされているモデルでは、思考出力クォータを個別に設定することはできません。
| フィールド | タイプ | 説明 |
|---|---|---|
input_tpm | Long | 入力キャパシティです。単位はkTPMで、モデル要件に従い、ステップおよび範囲を満たす値を指定してください |
output_tpm | Long | 出力キャパシティです。単位はkTPMで、モデル要件に従い、ステップおよび範囲を満たす値を指定してください |
スケーリング時、これは選択したインスタンス変更後の絶対キャパシティを示しており、増分やModelCodeの目標合計キャパシティを示すものではありません。
pre_paid_info
| フィールド | タイプ | 説明 |
|---|---|---|
pricing_cycle | String | 課金サイクル:Dayは日単位(デフォルト)、Hourは8時間スロットです。Hourはptu_default標準速度のみサポートされており、大文字と小文字が区別されます |
duration | Integer | 購入/更新期間です。単位はpricing_cycleに従います。Dayの場合は日、Hourの場合は時間で8に固定されており、0より大きい値である必要があります |
auto_renewal | Boolean | 自動更新を行うかどうかを明示的に指定してください。Hourシナリオではfalseである必要があります |
auto_renewal_duration | Integer | 自動更新が有効な場合は必須で、0より大きい値を指定します。単位は日です。このシナリオではHourは渡しません |
auto_renewal_cycle | String | 任意です。更新サイクルの単位で、製品がサポートする値を渡してください。例えばDayは日を表します。このシナリオではHourは渡しません |
作成レスポンス
outputはデプロイメントオブジェクト(スループットリザベーションの照会)です。キャパシティインスタンスの作成時、operation_id、instance_idが返される場合があります。サブスクリプションインスタンスの購入注文がまだ処理されていない場合、instance_idが一時的に利用できないことがあります。その場合は、後ほど照会を通じて取得してください。
{
"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"
}
}
operation_idがある場合は、キャパシティ操作の照会で確認してください。作成リクエストがタイムアウトした場合は、ModelCodeの重複作成を避けるため、まず既に作成されているかどうかを確認してください。
スケーリング
PUT /api/v1/deployments/{deployed_model}/scale
指定されたスループットリザベーション配下のキャパシティインスタンスの入出力キャパシティを調整します。削除されていないインスタンスが複数存在する場合は、instance_idを使用して対象インスタンスを指定する必要があります。
| フィールド | 必須 | 説明 |
|---|---|---|
instance_id | 条件付き必須 | 未削除のインスタンスが複数ある場合は必須です。未削除のインスタンスが1つだけの場合は省略可能です |
ptu_capacity | はい | このインスタンス変更後の絶対容量 |
pre_paid_info | いいえ | サブスクリプションで渡されない場合は保存された情報を再利用します。従量課金制の場合は渡しません |
order_type | いいえ | アップグレードの場合はUPGRADE、ダウングレードの場合はDOWNGRADEを指定します。省略した場合、サーバーが判定しますが、渡された値はキャパシティ変更の方向と一致している必要があります |
{
"instance_id": "example-capacity-instance",
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
outputはスループットリザベーション情報を返します。対応するキャパシティ操作のIDはoperation_idを通じて返されます。IDが指定されていない複数のインスタンスの場合、CAPACITY_INSTANCE_REQUIREDが返されます。新規統合の場合は、指定キャパシティインスタンスのスケーリングを使用することをお勧めします。
サブスクリプションの変更には注文が伴います。従量課金はサブスクリプション変更注文を経由しません。変更が確定する前は、元の有効キャパシティが維持されます。失敗した場合、ターゲットキャパシティを有効として表示することはできません。オールゼロのスケーリングは、インスタンスの削除と同等ではありません。
スループット予約のクエリ
GET /api/v1/deployments/{deployed_model}
指定されたスループット予約の設定とステータス、およびすべてのキャパシティインスタンスの合計有効キャパシティをクエリします。
{
"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"
}
}
| フィールド | 説明 |
|---|---|
deployed_model | スループット予約(ModelCode)の呼び出し識別子です。 |
model_name | ベースモデル名。 |
plan | タイプ識別子、スループット予約はptuです。 |
status | ModelCodeのステータスであり、各CapacityInstanceのステータスを表すものではありません |
ptu_service_tier | パフォーマンステイア:ptu_fastは高速、ptu_defaultは標準速度です |
ptu_capacity | このModelCode配下のすべての有効なCapacityInstanceの合計入力および出力キャパシティです |
charge_type | 値:pre_paid(サブスクリプション)/ post_paid(従量課金制) |
pre_paid_info | サブスクリプションの購入および更新設定(pricing_cycle(Day日単位 / Hour8時間期間用)、durationなど)を含みます。複数のキャパシティインスタンスが存在する場合は、インスタンス詳細pre_paid_infoから対象インスタンスを照会してください。 |
pre_paid_instance_id | サブスクリプションインスタンス識別子。複数のキャパシティインスタンスが存在する場合は、キャパシティインスタンスリストinstance_idから各インスタンスを取得し、操作対象のインスタンスを指定してください。 |
pre_paid_gmt_expired | サブスクリプションの有効期限。複数のキャパシティインスタンスが存在する場合は、対象インスタンスの詳細gmt_expiredからその有効期限を取得してください。有効期限の計算ルールはスループットリザベーション課金に記載されています。 |
overflow_strategy | オーバーフローストラテジ。enableはオーバーフロー時の従量課金が許可されていることを示し、disableはキャパシティ超過時にスロットリングが適用されることを示します。オーバーフロー課金ルールについては、スループットリザベーション課金を参照してください。 |
fail_reason | 失敗理由。 |
gmt_create | 作成日時。 |
gmt_modified | 最終更新時刻。 |
operation_id | CapacityOperation IDです。操作結果のクエリに使用され、対応する書き込み操作のレスポンスで返される場合があります。 |
instance_id | CapacityInstance IDです。購入注文が完全に処理されていない場合は返されないことがあります。後続のクエリを通じて取得してください。 |
混合課金は、CapacityInstanceリスト内の各インスタンスのcharge_typeによって判断する必要があります。デプロイメントステータスと課金タイプは、各インスタンスのステータスと課金タイプを代替するものではありません。
スループット予約リストのクエリ
GET /api/v1/deployments?page_no=1&page_size=10&plan=ptu
スループット予約リストをページネーション付きで照会します。
| クエリパラメータ | 説明 |
|---|---|
page_no | ページ番号、デフォルト 1 |
page_size | 1ページあたりの項目数、デフォルト 10、範囲 [1,100] |
plan | 任意のタイプフィルターです。ptuを渡してください。パフォーマンステイアはservice_tierで示され、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
}
}
デプロイメント一覧は、statusパラメータによるステータスのフィルタリングをサポートしていません。キャパシティインスタンスのフィルタリングには、キャパシティインスタンス一覧の照会(削除済みインスタンスを含む)のstatusesを使用してください。
更新
PUT /api/v1/deployments/{deployed_model}/renew
指定されたサブスクリプションキャパシティインスタンスを更新します。同時にキャパシティを調整することも可能です。未削除のインスタンスが複数ある場合は、instance_idを使用して対象インスタンスを指定する必要があります。
| フィールド | 必須 | 説明 |
|---|---|---|
instance_id | 条件付き必須 | 未削除のインスタンスが複数ある場合は指定必須です。単一インスタンスの場合は省略可能です |
pre_paid_info | はい | 更新情報については、サブスクリプションパラメータを参照してください |
is_change | いいえ | デフォルトはfalseです。同時にキャパシティを調整するかどうかを指定します |
ptu_capacity | いいえ | 省略した場合は設定済みのキャパシティが維持されます。異なるキャパシティを渡す場合は、is_change=trueを指定する必要があります |
更新および自動更新の有効化:
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": true,
"auto_renewal_duration": 30
}
}
更新するが自動更新は有効にしない:
{
"instance_id": "example-capacity-instance",
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
サポートされるのはサブスクリプションのみです。更新リクエストでorder_typeを渡すことはできません。outputはスループットリザベーション情報を返し、キャパシティ操作IDが含まれる場合があります。指定キャパシティインスタンスの更新インスタンスレベルのインターフェースを使用し、結果をポーリングすることをお勧めします。
オーバーフロー戦略の変更
PUT /api/v1/deployments/{deployed_model}/update-overflowstrategy
{
"overflow_strategy": "disable"
}
overflow_strategy 必須、小文字のみサポートされています enable / disable。enable は、PTU キャパシティを超えるトラフィックがパブリックプールにオーバーフローして従量課金制で請求されることを示します。disable は、制限超過後にスロットリングが行われることを示します。この設定は ModelCode 全体に適用され、キャパシティパッケージごとに個別のオーバーフロー戦略を持つことはできません。オーバーフロー課金の詳細については、スループット予約の課金を参照してください。
レスポンスにはrequest_idとoutputが含まれます。変更後、スループット予約のクエリを呼び出してoverflow_strategyを取得し、設定が更新されたことを確認できます。
{
"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
}
}
}
警告オーバーフロー戦略を有効にすると、キャパシティを超えるトラフィックは従量課金制で請求され、追加料金が発生します。無効にすると、キャパシティを超えるリクエストはスロットリングされます。オーバーフロー課金の詳細については、スループット予約の課金を参照してください。詳細情報については、プロビジョニング済みスループットのロング入力とキャッシュを参照してください。
容量インスタンスインターフェース
以下のインターフェースはすべて、プレフィックスとして/api/v1/deployments/{deployed_model}を使用します。インスタンス書き込み操作はキャパシティ操作操作オブジェクトを返し、古い/scale、/renewデプロイメントオブジェクトとは異なります。
キャパシティインスタンスの追加購入
POST /api/v1/deployments/{deployed_model}/capacity-instances
| フィールド | 必須 | 説明 |
|---|---|---|
billing_method | はい | 課金方法:PRE_PAYはサブスクリプション、POST_PAYは従量課金制です。値は大文字と小文字が区別されます |
ptu_capacity | はい | 新規インスタンス容量 |
pre_paid_info | 条件付き必須 | サブスクリプションの場合は必須、従量課金制の場合は送信しません |
サブスクリプションの例:
{
"billing_method": "PRE_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
},
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
8時間タイムスロットの追加購入例(ptu_default標準速度のみ、billing_methodはPRE_PAYに固定、pre_paid_infoは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
}
}
8時間タイムスロットインスタンスが正常に作成されました。キャパシティインスタンス詳細の照会を呼び出すと、以下のフィールドを取得できます。pricing_cycleはHourです。gmt_effectiveは北京時間の正時の有効開始時刻です。gmt_expiredとgmt_effectiveには8時間の差があります。can_scale、can_renew、can_enable_auto_renew、can_disable_auto_renew、can_deleteはすべてfalseです。
従量課金の例:
{
"billing_method": "POST_PAY",
"ptu_capacity": {
"input_tpm": 10000,
"output_tpm": 1000
}
}
操作オブジェクトを返します。初期レスポンスは成功、失敗、または進行中を示す場合があります。既存のModelCode、モデル、およびパフォーマンスティアを再利用します。ModelCodeごとに許可されるのは、削除されていない従量課金インスタンス1つのみです。購入条件またはインスタンス数が要件を満たさない場合は、インターフェースから返されるエラーに従って処理してください。
キャパシティインスタンスリストのクエリ(削除済みインスタンスを含む)
GET /api/v1/deployments/{deployed_model}/capacity-instances?page_no=1&page_size=20&include_deleted=true
| クエリパラメータ | タイプ | 説明 |
|---|---|---|
page_no | Integer | デフォルト 1 |
page_size | Integer | デフォルト 20、範囲 [1,100] |
include_deleted | Boolean | デフォルトはtrueです。未削除のインスタンスのみを表示する場合は明示的にfalseを渡してください |
statuses | String List | 任意です。複数の値はカンマで区切ります(例:RUNNING,STOPPED) |
charge_types | String List | 任意、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
}
}
ページネーション構造はデプロイメント一覧とは異なります。recordsは現在のページ、itemsは総件数、pageはページ番号です。itemsPerPage / pageCountは現在の戻り値のキャメルケース表記を保持します。有効なキャパシティを持つインスタンスが優先的に先頭に表示され、その後作成日時(Created At)の降順でソートされます。一覧は、このセクションに記載されている照会パラメータのみをサポートします。
キャパシティインスタンス詳細のクエリ
GET /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
CapacityInstanceインスタンスオブジェクトを返します。削除済みのインスタンスもクエリ可能です。ModelCodeとインスタンスは一致している必要があり、ModelCodeをまたいでインスタンスを操作することはできません。
注記従量課金インスタンスがリリースされた後、同じModelCodeで従量課金キャパシティを再購入すると、元のインスタンスIDが再利用されます。一覧および詳細は再購入後のインスタンス情報に更新され、元の削除記録は別途保持されなくなります。リリース後、configured_capacityがゼロになる場合があります。リリース前に設定されていたキャパシティが保持される保証はありません。
指定されたCapacityInstanceのスケーリング
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/scale
{
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
},
"order_type": "UPGRADE"
}
パラメータのセマンティクスはスケーリングと同じです。インスタンスIDはパスによって決定されるため、リクエストボディで繰り返す必要はありません。操作オブジェクトが返されます。呼び出す前にcan_scaleをお読みください。サブスクリプションの有効期限が迫っているインスタンスは直接スケーリングできません。まず更新を行ってください。8時間タイムスロットインスタンスはスケーリングをサポートしておらず、呼び出すとCAPACITY_INSTANCE_OPERATION_UNSUPPORTEDが返されます。
指定されたキャパシティインスタンスの更新
PUT /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}/renew
通常更新:
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
}
}
更新および容量調整:
{
"pre_paid_info": {
"duration": 30,
"auto_renewal": false
},
"is_change": true,
"ptu_capacity": {
"input_tpm": 20000,
"output_tpm": 2000
}
}
パラメータの制約は更新と同じです。order_typeは渡さないでください。更新できるのはサブスクリプションのみですので、まずcan_renewを確認してください。操作オブジェクトが返されます。8時間タイムスロットインスタンスは更新および自動更新をサポートしておらず、呼び出すとCAPACITY_INSTANCE_OPERATION_UNSUPPORTEDが返されます。
キャパシティインスタンスの削除/リリース
DELETE /api/v1/deployments/{deployed_model}/capacity-instances/{instance_id}
任意のクエリパラメータreasonは削除理由を表し、URLエンコードが必要です。JSONリクエストボディは不要です。操作オブジェクトが返されます。
- 従量課金制:削除プロセスを通じてリリースされ、完了時に
deleted=true、status=STOPPEDとなり、有効キャパシティはゼロになります。 - 有効なサブスクリプション:このインターフェースは解約の代わりに使用することはできません。直接呼び出すと
PREPAID_UNSUBSCRIBE_REQUIREDが返されます。解約を完了してキャパシティを解放した後、最終的にはdeleted=true、status=STOPPEDも返されます。 - 8時間タイムスロットのインスタンスは直接削除をサポートしていません。呼び出すと
PREPAID_UNSUBSCRIBE_REQUIREDが返されるため、商用の解約手続きを行う必要があります。 can_delete=trueは、現在のステータスが削除/解約プロセスへの移行を許可していることを示しますが、サブスクリプションが解約をスキップして直接DELETEできることを意味するものではありません。関連する注文がまだない失敗したインスタンスについては、インターフェースの戻り結果に基づいて処理してください。
サブスクリプション解除によるリリースは非同期操作です。同じ ModelCode が他の操作中の場合、受け入れられたリリース操作はキューに入って待機します。完了前にクエリすると、元のステータスと有効キャパシティが返される場合があります。サブスクリプション解除が受け入れられたからといって、キャパシティがリリースされたわけではありません。操作結果とインスタンスの deleted フィールドを通じて完全に検証してください。サブスクリプション解除の返金計算式の詳細については、スループット予約の課金を参照してください。
キャパシティ操作のクエリ
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"
}
}
外側のrequest_idはこの照会リクエストの識別子であり、操作オブジェクト内のrequest_idは元の操作識別子です。これら2つは異なる場合があります。照会パスは、この操作を作成したModelCodeに属している必要があります。
書き込み操作 operation_id によって返された実際の値を使用し、自分で構築しないでください。存在しない数値 ID または他の ModelCode の操作をクエリすると、HTTP 404、CAPACITY_OPERATION_NOT_FOUND が返されます。文字などの非数値文字を含む無効な ID を渡すと、HTTP 500、InternalError が返される場合があります。このエラーが発生した場合は、まず ID を確認し、キャパシティ書き込み操作を直接再発行しないでください。
予約スループットの削除
DELETE /api/v1/deployments/{deployed_model}
まずすべてのキャパシティインスタンスをリリースし、ModelCodeがSTOPPEDであり、実行中またはキュー待ちのCapacityOperationがない状態にしてから、デプロイメント全体を削除してください。デプロイメントオブジェクトが返されます。
最後のインスタンスがリリースされると、ModelCodeはSTOPPEDになりますが、ModelCodeは自動的には削除されません。キャパシティインスタンスの削除とModelCodeの削除は別の操作です。
レスポンスオブジェクトとステータス
キャパシティインスタンス(CapacityInstance)
| フィールド | タイプ | 説明 |
|---|---|---|
model_service_id | String | キャパシティインスタンスまたは操作が属するModelCodeです。 |
instance_id | String | 容量インスタンスID。 |
charge_type | String | pre_paid(サブスクリプション)/ post_paid(従量課金制) |
status | String | インスタンスライフサイクルステータス;下表を参照してください |
deleted | Boolean | 削除またはリリース済みかどうかを示し、リリースされたインスタンスを識別するために使用されます |
effective_capacity | Object | 現在確認済みの提供容量 |
configured_capacity | Object | インスタンス設定/契約キャパシティです。停止中または一時停止中でも保持されます |
target_capacity | Object | 変更対象のターゲットキャパシティです。安定状態では返されないか、空になる場合があります |
pre_paid_info | Object | このインスタンスのサブスクリプション購入および更新設定(pricing_cycle(Day日単位 / Hour8時間タイムスロット用)を含む)については、サブスクリプションパラメータを参照してください。 |
gmt_effective | String | サブスクリプションインスタンスの有効開始時刻。8時間タイムスロットインスタンスは、北京時間の正時に有効になります。タイムゾーンオフセットに基づいて解析を行い、+00:00の時間数をそのまま北京時間として扱わないでください。 |
gmt_expired | String | サブスクリプションインスタンスの有効期限。8時間タイムスロットインスタンスとgmt_effectiveの間には8時間の差があります。有効期限の計算ルールについては、スループットリザベーション課金を参照してください。 |
can_scale | Boolean | 現在インスタンスのスケーリングが許可されているかどうかを示します。8時間タイムスロットのインスタンスはfalseに固定されています。 |
can_renew | Boolean | 現在インスタンスの更新が許可されているかどうかを示します。8時間タイムスロットのインスタンスはfalseに固定されています。 |
can_enable_auto_renew | Boolean | 現在自動更新を有効にできるかどうか;8時間スロットインスタンスはfalseに固定されています。 |
can_disable_auto_renew | Boolean | 現在自動更新を無効にできるかどうか;8時間スロットインスタンスはfalseに固定されています。 |
can_delete | Boolean | 現在、インスタンスの削除または解約が許可されているかどうかを示します。サブスクリプションインスタンスの場合は解約手続きを完了する必要があります。8時間タイムスロットのインスタンスはfalseに固定されています。 |
fail_reason | String | 失敗理由 |
gmt_created | 時間 | 作成時刻。 |
gmt_modified | 時間 | 最終更新時刻。 |
gmt_deleted | 時間 | 削除時刻。 |
| ステータス | 意味と表示の提案 |
|---|---|
WAIT_PRE_PAID_BILLING_TO_DEPLOYING / WAIT_TO_DEPLOY | 購入処理待ち / 有効化待ち |
RUNNING | 実行中 |
WAIT_PRE_PAID_BILLING_TO_SCALING / SCALING | アップグレード注文待ち / 更新中 |
STOPPING / STOPPED | 停止中/停止済み。deletedと組み合わせてリリース済みかどうかを区別します |
SUSPENDING / SUSPENDED | 停止中 / 停止済み |
STARTING / RECOVERING | 起動中 / 復旧中 |
DELETING | 削除中 |
FAILED | 失敗、失敗理由に基づいて対処してください |
従量課金の削除とサブスクリプションのキャンセルは、一律に「Released」として表示できます。条件はdeleted=trueであり、status=STOPPEDのみではありません。STOPPED + deleted=falseは引き続きリザーブドインスタンスです。deleted=trueインスタンスでは、スケーリング、更新、または削除は許可されていません。
RUNNING ステータスは、すべてのアクションが利用可能であることを意味するものではありません。同じ ModelCode で進行中の操作がある場合や課金制限がある場合、対応するアクションが利用できないことがあります。サブスクリプション SUSPENDED インスタンスはスケールできませんが、更新条件を満たしている場合は更新できます。従量課金インスタンスは更新できません。呼び出し前に、can_scale、can_renew、can_delete を通じてインスタンスの詳細を再クエリしてアクションが利用可能かどうかを確認し、インターフェースから返されるエラーを処理してください。
キャパシティ操作(CapacityOperation)
| フィールド | 説明 |
|---|---|
operation_id | キャパシティ操作IDです。操作結果のクエリに使用され、対応する書き込み操作のレスポンスで返される場合があります。 |
request_id | このキャパシティ操作を開始したリクエスト識別子です。 |
operation_type | 共通のCREATE、SCALE、RENEW、DELETE。ライフサイクル処理ではSTOP、REFUNDが表示されることもありますが、これは同名のパブリック書き込みインターフェースが存在することを意味するものではありません。 |
operation_status | 値:PROCESSING、SUCCEEDED、FAILED |
model_service_id | キャパシティインスタンスまたは操作が属するModelCodeです。 |
instance_id | キャパシティインスタンスIDです。購入注文がまだ処理されていない場合は返されないことがあります。後続のクエリを通じて取得してください。 |
from_status | 操作前のインスタンスステータス。 |
current_status | インスタンスの現在のステータス。 |
error_code | 操作失敗時のエラーコード。 |
error_message | 操作失敗時のエラーの説明。 |
gmt_created | 作成日時。 |
gmt_finished | 操作完了時刻。 |
操作が実行中またはキュー待ちの場合、PROCESSINGが返されます。SUCCEEDED / FAILEDは終端状態です。終端状態を受信したら、ポーリングを停止し、インスタンスおよびデプロイの概要を更新してください。
非同期呼び出し、冪等性、およびエラー処理
推奨呼び出し順序
- インスタンスの詳細をクエリし、機能スイッチと最新の設定を読み取ってください。
- 購入/スケーリング/更新/削除リクエストを開始し、
operation_idを保存してください。 PROCESSINGが返された場合は、定期的に操作をクエリし、段階的にバックオフしてください。終端状態に達した場合は、結果を直接処理してください。SUCCEEDEDの後、インスタンスとModelCodeを更新してください。FAILEDはerror_code/error_messageを表示します。ネットワークタイムアウトは操作失敗を意味しません。まず既存の操作をクエリしてください。
同じModelCodeに対するキャパシティ変更は順番に処理されます。進行中の操作がある場合、新しい変更は拒否される可能性があります。受理された解約リリースはキューに入れられ、先行する操作の完了後に続行されます。変更が有効になる前は、照会しても元の有効キャパシティが返されます。ターゲットキャパシティを既に有効なものとして扱わないでください。
スタッキング、スケーリング、またはリリースが有効になった後、Deploy クエリインターフェースを通じて更新された集計有効キャパシティを取得し、元の ModelCode を引き続き使用できます。モデルの呼び出しには、対応するモデルの Deployments の完了と、正しいアカウント認証および呼び出しパラメータの使用も必要です。キャパシティ操作が成功しても、モデル呼び出しの他のすべての条件が満たされるわけではありません。
リトライとリクエスト識別子
同じキャパシティ書き込み操作のネットワークリトライを行う際は、リクエスト識別子とパラメータを変更しないでください。両者の不一致による実際の識別子の変更を避けるため、x-acs-req-uuidとX-DashScope-RequestIdに同じUUIDを設定することをお勧めします。現在の読み取り優先度はx-acs-req-uuid、X-DashScope-RequestId、X-Request-Idの順であり、いずれも提供されない場合は新しい識別子が生成されます。
同じModelCode、同じ有効なリクエスト識別子、および同じ操作パラメータを持つキャパシティ操作は、既存の操作を再利用します。同じ識別子を異なるパラメータで使用すると、IDEMPOTENCY_KEY_CONFLICTが返されます。新しい業務操作には新しい識別子を使用してください。このインスタンス操作の冪等性規約を、ModelCodeの初回作成に直接適用しないでください。
エラーコード
| エラーコード | HTTP | 対処の提案 |
|---|---|---|
CAPACITY_INSTANCE_REQUIRED | 400 | 複数インスタンスの場合の対象指定instance_id |
CAPACITY_INSTANCE_OPERATION_UNSUPPORTED | 400 | 詳細と機能スイッチを更新し、現在のステータスと課金方法がその操作をサポートしていることを確認してください |
PREPAID_UNSUBSCRIBE_REQUIRED | 400 | 既存の解約プロセスに移行済み |
POSTPAID_INSTANCE_ALREADY_EXISTS | 400 | 既存の後払いインスタンスを再利用するか、先にリリースしてから作成してください |
CAPACITY_SLOT_LIMIT_EXCEEDED / TOTAL_CAPACITY_INSTANCE_LIMIT_EXCEEDED | 400 | 有効なインスタンススロット / 履歴を含む総数の上限に達しました |
MODEL_CODE_DELETED | 400 | 削除済みのスループット予約に対して書き込み操作は行いません |
MODEL_CODE_NOT_FOUND / CAPACITY_INSTANCE_NOT_FOUND | 404 | リージョン、アカウント、ModelCode、およびインスタンスの帰属を確認してください。削除済みインスタンスに対してスケーリングを実行した場合もCAPACITY_INSTANCE_NOT_FOUNDが返される可能性があります。 |
CAPACITY_OPERATION_NOT_FOUND | 404 | 操作が存在しないか、指定されたModelCodeに属していません。書き込み操作で返されたIDを確認してください |
InternalError | 500 | 操作クエリで無効な数値以外のIDが渡された場合に返されることがあります。まずIDを確認し、その他の内部エラーの場合はrequest_idを控えてテクニカルサポートにお問い合わせください |
CAPACITY_INSTANCE_OPERATION_CONFLICT | 409 | まず既存の操作をクエリし、完了後に新しい操作を開始してください |
IDEMPOTENCY_KEY_CONFLICT | 409 | リトライ時は元のパラメータを維持してください。異なるビジネス操作には新しい識別子を使用してください |
BILLING_ACCOUNT_NOT_READY | 403 | アカウントが購入条件を満たしているか確認してください |
BILLING_SERVICE_UNAVAILABLE | 503 | 既存の操作をクエリし、バックオフポリシーに従ってリトライを処理してください |
この表には、リクエストフェーズ中にスローされるHTTP対応のエラーが記載されています。非同期操作の失敗は操作オブジェクトのerrorフィールドを通じて返されるため、HTTPステータスのみで判断することはできません。
その他の一般的なエラー:
| HTTPステータスコード | エラーコード | 対処の提案 |
|---|---|---|
| 400 | InvalidParameter | パラメータ名、型、キャパシティ変更方向、および値を確認してください。 |
| 401 | InvalidApiKey | APIキーの有効性とリージョンを確認してください。 |
| 403 | AccessDenied / Model.AccessDenied / App.AccessDenied | アカウント権限、ワークスペース、およびモデルの認可を確認してください。 |
| 404 | ModelNotFound | ベースモデル名とサポート範囲を確認してください。 |
| 409 | Conflict | デプロイ名の競合です。名前またはサフィックスを変更してください。 |
| 429 | Throttling / Throttling.RateQuota / Throttling.AllocationQuota | スループット予約の超過クォータはAllocationQuotaに対応します。スケーリングを行うか、オーバーフロー戦略を調整できます。 |
| 500 | RequestTimeOut | 重複購入を避けるため、まず既存の操作を確認してください。テクニカルサポートに連絡する際はrequest_idを手元に控えておいてください。 |
| 503 | ModelUnavailable | 後で再試行するか、利用可能なモデルに切り替えてください。 |
レート制限の処理については、レート制限のベストプラクティスを参照してください。