共用方式為


Subscription - Create Or Update

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

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

URI 參數

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

string

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

serviceName
path True

string

API 管理 服務的名稱。

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

sid
path True

string

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

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

subscriptionId
path True

string

目標訂用帳戶的標識碼。

api-version
query True

string

用於此作業的 API 版本。

appType
query

AppType

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

notify
query

boolean

通知訂用帳戶狀態中的變更。

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

要求標頭

名稱 必要 類型 Description
If-Match

string

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

要求本文

名稱 必要 類型 Description
properties.displayName True

string

訂用帳戶名稱。

properties.scope True

string

/products/{productId} 或 /apis 或 /apis/{apiId} 等範圍。

properties.allowTracing

boolean

判斷是否可以啟用追蹤

properties.ownerId

string

使用者 (用戶標識碼路徑) ,其訂用帳戶是以 /users/{userId} 格式建立

properties.primaryKey

string

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

properties.secondaryKey

string

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

properties.state

SubscriptionState

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

回應

名稱 類型 Description
200 OK

SubscriptionContract

用戶已經訂閱產品。

Headers

ETag: string

201 Created

SubscriptionContract

使用者已成功訂閱產品。

Headers

ETag: string

Other Status Codes

ErrorResponse

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

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

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

範例

ApiManagementCreateSubscription

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub?api-version=2022-08-01

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

Sample Response

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

定義

名稱 Description
AppType

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

ErrorFieldContract

錯誤欄位合約。

ErrorResponse

錯誤回應。

SubscriptionContract

訂用帳戶詳細數據。

SubscriptionCreateParameters

訂用帳戶建立詳細數據。

SubscriptionState

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

AppType

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

名稱 類型 Description
developerPortal

string

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

portal

string

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

ErrorFieldContract

錯誤欄位合約。

名稱 類型 Description
code

string

屬性層級錯誤碼。

message

string

人類可讀取的屬性層級錯誤表示法。

target

string

屬性名稱。

ErrorResponse

錯誤回應。

名稱 類型 Description
error.code

string

服務定義的錯誤碼。 此代碼會作為回應中指定之 HTTP 錯誤碼的子狀態。

error.details

ErrorFieldContract[]

要求中傳送無效欄位的清單,以防發生驗證錯誤。

error.message

string

人類可閱讀的錯誤表示法。

SubscriptionContract

訂用帳戶詳細數據。

名稱 類型 Description
id

string

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

name

string

資源的名稱

properties.allowTracing

boolean

判斷是否啟用追蹤

properties.createdDate

string

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

properties.displayName

string

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

properties.endDate

string

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

properties.expirationDate

string

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

properties.notificationDate

string

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

properties.ownerId

string

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

properties.primaryKey

string

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

properties.scope

string

/products/{productId} 或 /apis 或 /apis/{apiId} 等範圍。

properties.secondaryKey

string

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

properties.startDate

string

訂閱啟用日期。 此設定僅供稽核之用,且不會自動啟用訂用帳戶。 訂用 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

訂用帳戶名稱。

properties.ownerId

string

使用者 (用戶標識碼路徑) ,其訂用帳戶是以 /users/{userId} 格式建立

properties.primaryKey

string

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

properties.scope

string

/products/{productId} 或 /apis 或 /apis/{apiId} 等範圍。

properties.secondaryKey

string

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

properties.state

SubscriptionState

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

SubscriptionState

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

名稱 類型 Description
active

string

cancelled

string

expired

string

rejected

string

submitted

string

suspended

string