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 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
resource
|
path | True |
string |
리소스 그룹의 이름. 이름은 대소문자를 구분하지 않습니다. |
service
|
path | True |
string |
API Management 서비스의 이름입니다. regex 패턴: |
sid
|
path | True |
string |
구독 엔터티 식별자입니다. 엔터티는 API Management 사용자와 제품 간의 연결을 나타냅니다. regex 패턴: |
subscription
|
path | True |
string |
대상 구독의 ID입니다. |
api-version
|
query | True |
string |
이 작업에 사용할 API 버전입니다. |
app
|
query |
사용자 만들기 요청을 보내는 애플리케이션 유형을 결정합니다. 기본값은 레거시 게시자 포털입니다. |
||
notify
|
query |
boolean |
구독 상태 변경을 알립니다.
|
요청 헤더
Name | 필수 | 형식 | Description |
---|---|---|---|
If-Match |
string |
엔터티의 ETag입니다. 엔터티를 만들 때는 필요하지 않지만 엔터티를 업데이트할 때 필요합니다. |
요청 본문
Name | 필수 | 형식 | Description |
---|---|---|---|
properties.displayName | True |
string |
구독 이름입니다. |
properties.scope | True |
string |
/products/{productId} 또는 /api 또는 /apiId}와 같은 범위입니다. |
properties.allowTracing |
boolean |
추적을 사용할 수 있는지 여부를 결정합니다. |
|
properties.ownerId |
string |
/users/{userId} 형식으로 구독을 만드는 사용자(사용자 ID 경로) |
|
properties.primaryKey |
string |
기본 구독 키입니다. 요청 키 중에 지정하지 않으면 자동으로 생성됩니다. |
|
properties.secondaryKey |
string |
보조 구독 키입니다. 요청 키 중에 지정하지 않으면 자동으로 생성됩니다. |
|
properties.state |
초기 구독 상태입니다. 값을 지정하지 않으면 제출됨 상태로 구독이 만들어집니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
사용자가 이미 제품을 구독했습니다. 헤더 ETag: string |
|
201 Created |
사용자가 제품에 성공적으로 구독되었습니다. 헤더 ETag: string |
|
Other Status Codes |
작업이 실패한 이유를 설명하는 오류 응답입니다. |
보안
azure_auth
Azure Active Directory OAuth2 Flow.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
Name | Description |
---|---|
user_impersonation | 사용자 계정 가장 |
예제
ApiManagementCreateSubscription
샘플 요청
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"
}
}
샘플 응답
{
"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"
}
}
정의
Name | Description |
---|---|
App |
사용자 만들기 요청을 보내는 애플리케이션 유형을 결정합니다. 기본값은 레거시 게시자 포털입니다. |
Error |
오류 필드 계약입니다. |
Error |
오류 응답. |
Subscription |
구독 세부 정보. |
Subscription |
구독 만들기 세부 정보 |
Subscription |
구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다. |
AppType
사용자 만들기 요청을 보내는 애플리케이션 유형을 결정합니다. 기본값은 레거시 게시자 포털입니다.
Name | 형식 | Description |
---|---|---|
developerPortal |
string |
사용자 만들기 요청이 새 개발자 포털에서 전송되었습니다. |
portal |
string |
레거시 개발자 포털에서 사용자 만들기 요청을 보냈습니다. |
ErrorFieldContract
오류 필드 계약입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
속성 수준 오류 코드입니다. |
message |
string |
사람이 읽을 수 있는 속성 수준 오류 표현입니다. |
target |
string |
속성 이름입니다. |
ErrorResponse
오류 응답.
Name | 형식 | Description |
---|---|---|
error.code |
string |
서비스에서 정의한 오류 코드입니다. 이 코드는 응답에 지정된 HTTP 오류 코드의 하위 상태로 사용됩니다. |
error.details |
유효성 검사 오류가 발생할 경우 잘못된 필드 목록이 요청에 전송됩니다. |
|
error.message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
SubscriptionContract
구독 세부 정보.
Name | 형식 | Description |
---|---|---|
id |
string |
리소스에 대한 정규화된 리소스 ID입니다. 예 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
name |
string |
리소스의 이름입니다. |
properties.allowTracing |
boolean |
추적을 사용할 수 있는지 여부를 결정합니다. |
properties.createdDate |
string |
구독 만들기 날짜입니다. 날짜는 ISO 8601 표준에 지정된 형식 |
properties.displayName |
string |
구독의 이름 또는 구독에 이름이 없는 경우 null입니다. |
properties.endDate |
string |
구독이 취소되거나 만료된 날짜입니다. 이 설정은 감사 목적으로만 사용되며 구독이 자동으로 취소되지 않습니다. 속성을 사용하여 구독 수명 주기를 |
properties.expirationDate |
string |
구독 만료 날짜입니다. 설정은 감사 목적으로만 사용되며 구독이 자동으로 만료되지 않습니다. 속성을 사용하여 구독 수명 주기를 |
properties.notificationDate |
string |
예정된 구독 만료 알림 날짜입니다. 날짜는 ISO 8601 표준에 지정된 형식 |
properties.ownerId |
string |
구독 소유자의 사용자 리소스 식별자입니다. 값은 /users/{userId} 형식의 유효한 상대 URL입니다. 여기서 {userId}는 사용자 식별자입니다. |
properties.primaryKey |
string |
구독 기본 키입니다. 이 속성은 'GET' 작업에 채워지지 않습니다. '/listSecrets' POST 요청을 사용하여 값을 가져옵니다. |
properties.scope |
string |
/products/{productId} 또는 /api 또는 /apiId}와 같은 범위입니다. |
properties.secondaryKey |
string |
구독 보조 키입니다. 이 속성은 'GET' 작업에 채워지지 않습니다. '/listSecrets' POST 요청을 사용하여 값을 가져옵니다. |
properties.startDate |
string |
구독 활성화 날짜입니다. 설정은 감사 목적으로만 사용되며 구독이 자동으로 활성화되지 않습니다. 속성을 사용하여 구독 수명 주기를 |
properties.state |
구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다. |
|
properties.stateComment |
string |
상태가 '거부됨'으로 변경되면 관리자가 추가한 선택적 구독 주석입니다. |
type |
string |
리소스 형식입니다. 예: "Microsoft.Compute/virtualMachines" 또는 "Microsoft.Storage/storageAccounts" |
SubscriptionCreateParameters
구독 만들기 세부 정보
Name | 형식 | Description |
---|---|---|
properties.allowTracing |
boolean |
추적을 사용할 수 있는지 여부를 결정합니다. |
properties.displayName |
string |
구독 이름입니다. |
properties.ownerId |
string |
/users/{userId} 형식으로 구독을 만드는 사용자(사용자 ID 경로) |
properties.primaryKey |
string |
기본 구독 키입니다. 요청 키 중에 지정하지 않으면 자동으로 생성됩니다. |
properties.scope |
string |
/products/{productId} 또는 /api 또는 /apiId}와 같은 범위입니다. |
properties.secondaryKey |
string |
보조 구독 키입니다. 요청 키 중에 지정하지 않으면 자동으로 생성됩니다. |
properties.state |
초기 구독 상태입니다. 값을 지정하지 않으면 제출됨 상태로 구독이 만들어집니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다. |
SubscriptionState
구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다.
Name | 형식 | Description |
---|---|---|
active |
string |
|
cancelled |
string |
|
expired |
string |
|
rejected |
string |
|
submitted |
string |
|
suspended |
string |