共用方式為


Subscription - Create Or Update

建立或更新指定之使用者的訂閱至指定的產品。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?api-version=2024-05-01
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}?notify={notify}&api-version=2024-05-01&appType={appType}

URI 參數

名稱 位於 必要 類型 Description
resourceGroupName
path True

string

minLength: 1
maxLength: 90

資源群組的名稱。 名稱不區分大小寫。

serviceName
path True

string

minLength: 1
maxLength: 50
pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

API 管理服務的名稱。

sid
path True

string

maxLength: 256
pattern: ^[^*#&+:<>?]+$

訂用帳戶實體標識碼。 實體代表使用者與 API 管理中產品之間的關聯。

subscriptionId
path True

string (uuid)

目標訂用帳戶的標識碼。 此值必須是 UUID。

api-version
query True

string

minLength: 1

要用於這項作業的 API 版本。

appType
query

AppType

決定傳送建立使用者要求的應用程式類型。 預設值為舊版發行者入口網站。

notify
query

boolean

在訂閱狀態中通知變更。

  • 如果為 false,請勿傳送任何電子郵件通知以變更訂用帳戶的狀態
  • 如果為 true,請傳送訂閱狀態變更的電子郵件通知

要求標頭

名稱 必要 類型 Description
If-Match

string

實體的 ETag。 建立實體時不需要,但在更新實體時則為必要專案。

要求本文

名稱 必要 類型 Description
properties.displayName True

string

minLength: 1
maxLength: 100

訂用帳戶名稱。

properties.scope True

string

範圍,例如 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.allowTracing

boolean

判斷是否可以啟用追蹤

properties.ownerId

string

以 /users/{userId} 形式建立訂用帳戶的使用者(使用者標識符路徑)

properties.primaryKey

string

minLength: 1
maxLength: 256

主要訂用帳戶金鑰。 如果在要求金鑰期間未指定,則會自動產生。

properties.secondaryKey

string

minLength: 1
maxLength: 256

次要訂用帳戶金鑰。 如果在要求金鑰期間未指定,則會自動產生。

properties.state

SubscriptionState

初始訂閱狀態。 如果未指定任何值,則會使用 [送出] 狀態來建立訂用帳戶。 可能的狀態為 * 作用中 – 訂用帳戶為作用中、 * 已暫停 – 已封鎖訂用帳戶,且訂閱者無法呼叫產品的任何 API* 已提交 – 已由開發人員提出訂閱要求,但尚未核准或拒絕,* 已拒絕 – 系統管理員已拒絕訂閱要求,* 已取消 – 開發人員或系統管理員已取消訂用帳戶要求, * 已過期 – 訂用帳戶已達到到期日且已停用。

回應

名稱 類型 Description
200 OK

SubscriptionContract

用戶已訂閱產品。

標題

ETag: string

201 Created

SubscriptionContract

使用者已成功訂閱產品。

標題

ETag: string

Other Status Codes

ErrorResponse

描述作業失敗原因的錯誤回應。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

類型: oauth2
Flow: implicit
授權 URL: https://login.microsoftonline.com/common/oauth2/authorize

範圍

名稱 Description
user_impersonation 模擬您的用戶帳戶

範例

ApiManagementCreateSubscription

範例要求

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub?api-version=2024-05-01

{
  "properties": {
    "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub"
  }
}

範例回覆

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
  "type": "Microsoft.ApiManagement/service/subscriptions",
  "name": "testsub",
  "properties": {
    "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub",
    "state": "submitted",
    "createdDate": "2017-06-02T23:34:03.1055076Z"
  }
}
{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
  "type": "Microsoft.ApiManagement/service/subscriptions",
  "name": "testsub",
  "properties": {
    "ownerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
    "displayName": "testsub",
    "state": "submitted",
    "createdDate": "2017-06-02T23:34:03.1055076Z"
  }
}

定義

名稱 Description
AppType

決定傳送建立使用者要求的應用程式類型。 預設值為舊版發行者入口網站。

ErrorAdditionalInfo

資源管理錯誤其他資訊。

ErrorDetail

錯誤詳細數據。

ErrorResponse

錯誤回應

SubscriptionContract

訂用帳戶詳細數據。

SubscriptionCreateParameters

訂用帳戶建立詳細數據。

SubscriptionState

訂用帳戶狀態。 可能的狀態為 * 作用中 – 訂用帳戶為作用中、 * 已暫停 – 已封鎖訂用帳戶,且訂閱者無法呼叫產品的任何 API* 已提交 – 已由開發人員提出訂閱要求,但尚未核准或拒絕,* 已拒絕 – 系統管理員已拒絕訂閱要求,* 已取消 – 開發人員或系統管理員已取消訂用帳戶要求, * 已過期 – 訂用帳戶已達到到期日且已停用。

AppType

決定傳送建立使用者要求的應用程式類型。 預設值為舊版發行者入口網站。

Description
developerPortal

新的開發人員入口網站已傳送使用者建立要求。

portal

使用者建立要求是由舊版開發人員入口網站傳送。

ErrorAdditionalInfo

資源管理錯誤其他資訊。

名稱 類型 Description
info

object

其他資訊。

type

string

其他信息類型。

ErrorDetail

錯誤詳細數據。

名稱 類型 Description
additionalInfo

ErrorAdditionalInfo[]

錯誤其他資訊。

code

string

錯誤碼。

details

ErrorDetail[]

錯誤詳細數據。

message

string

錯誤訊息。

target

string

錯誤目標。

ErrorResponse

錯誤回應

名稱 類型 Description
error

ErrorDetail

error 物件。

SubscriptionContract

訂用帳戶詳細數據。

名稱 類型 Description
id

string

資源的完整資源標識碼。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

資源的名稱

properties.allowTracing

boolean

判斷是否啟用追蹤

properties.createdDate

string (date-time)

訂用帳戶建立日期。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。

properties.displayName

string

minLength: 0
maxLength: 100

訂閱的名稱,如果訂用帳戶沒有名稱,則為 null。

properties.endDate

string (date-time)

取消或過期訂閱的日期。 此設定僅供稽核之用,且不會自動取消訂用帳戶。 您可以使用 state 屬性來管理訂用帳戶生命週期。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。

properties.expirationDate

string (date-time)

訂閱到期日。 此設定僅供稽核之用,且訂用帳戶不會自動過期。 您可以使用 state 屬性來管理訂用帳戶生命週期。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。

properties.notificationDate

string (date-time)

即將推出的訂用帳戶到期通知日期。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。

properties.ownerId

string

訂用帳戶擁有者的用戶資源標識碼。 值是 /users/{userId} 格式的有效相對 URL,其中 {userId} 是使用者標識符。

properties.primaryKey

string

minLength: 1
maxLength: 256

訂用帳戶主鍵。 此屬性不會填入 『GET』 作業! 使用 '/listSecrets' POST 要求來取得值。

properties.scope

string

範圍,例如 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.secondaryKey

string

minLength: 1
maxLength: 256

訂用帳戶次要金鑰。 此屬性不會填入 『GET』 作業! 使用 '/listSecrets' POST 要求來取得值。

properties.startDate

string (date-time)

訂用帳戶啟用日期。 此設定僅供稽核之用,而且不會自動啟用訂用帳戶。 您可以使用 state 屬性來管理訂用帳戶生命週期。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。

properties.state

SubscriptionState

訂用帳戶狀態。 可能的狀態為 * 作用中 – 訂用帳戶為作用中、 * 已暫停 – 已封鎖訂用帳戶,且訂閱者無法呼叫產品的任何 API* 已提交 – 已由開發人員提出訂閱要求,但尚未核准或拒絕,* 已拒絕 – 系統管理員已拒絕訂閱要求,* 已取消 – 開發人員或系統管理員已取消訂用帳戶要求, * 已過期 – 訂用帳戶已達到到期日且已停用。

properties.stateComment

string

當狀態變更為「已拒絕」時,系統管理員新增的選擇性訂用帳戶批注。

type

string

資源的型別。 例如“Microsoft.Compute/virtualMachines” 或 “Microsoft.Storage/storageAccounts”

SubscriptionCreateParameters

訂用帳戶建立詳細數據。

名稱 類型 Description
properties.allowTracing

boolean

判斷是否可以啟用追蹤

properties.displayName

string

minLength: 1
maxLength: 100

訂用帳戶名稱。

properties.ownerId

string

以 /users/{userId} 形式建立訂用帳戶的使用者(使用者標識符路徑)

properties.primaryKey

string

minLength: 1
maxLength: 256

主要訂用帳戶金鑰。 如果在要求金鑰期間未指定,則會自動產生。

properties.scope

string

範圍,例如 /products/{productId} 或 /apis 或 /apis/{apiId}。

properties.secondaryKey

string

minLength: 1
maxLength: 256

次要訂用帳戶金鑰。 如果在要求金鑰期間未指定,則會自動產生。

properties.state

SubscriptionState

初始訂閱狀態。 如果未指定任何值,則會使用 [送出] 狀態來建立訂用帳戶。 可能的狀態為 * 作用中 – 訂用帳戶為作用中、 * 已暫停 – 已封鎖訂用帳戶,且訂閱者無法呼叫產品的任何 API* 已提交 – 已由開發人員提出訂閱要求,但尚未核准或拒絕,* 已拒絕 – 系統管理員已拒絕訂閱要求,* 已取消 – 開發人員或系統管理員已取消訂用帳戶要求, * 已過期 – 訂用帳戶已達到到期日且已停用。

SubscriptionState

訂用帳戶狀態。 可能的狀態為 * 作用中 – 訂用帳戶為作用中、 * 已暫停 – 已封鎖訂用帳戶,且訂閱者無法呼叫產品的任何 API* 已提交 – 已由開發人員提出訂閱要求,但尚未核准或拒絕,* 已拒絕 – 系統管理員已拒絕訂閱要求,* 已取消 – 開發人員或系統管理員已取消訂用帳戶要求, * 已過期 – 訂用帳戶已達到到期日且已停用。

Description
active
cancelled
expired
rejected
submitted
suspended