다음을 통해 공유


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
resourceGroupName
path True

string

리소스 그룹의 이름. 이름은 대소문자를 구분하지 않습니다.

serviceName
path True

string

API Management 서비스의 이름입니다.

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

sid
path True

string

구독 엔터티 식별자입니다. 엔터티는 API Management 사용자와 제품 간의 연결을 나타냅니다.

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

subscriptionId
path True

string

대상 구독의 ID입니다.

api-version
query True

string

이 작업에 사용할 API 버전입니다.

appType
query

AppType

사용자 만들기 요청을 보내는 애플리케이션 유형을 결정합니다. 기본값은 레거시 게시자 포털입니다.

notify
query

boolean

구독 상태 변경을 알립니다.

  • false이면 구독 상태 변경에 대한 전자 메일 알림을 보내지 마세요.
  • true이면 구독 상태 변경에 대한 이메일 알림을 보냅니다.

요청 헤더

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

SubscriptionState

초기 구독 상태입니다. 값을 지정하지 않으면 제출됨 상태로 구독이 만들어집니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다.

응답

Name 형식 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

Name 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"
  }
}

정의

Name Description
AppType

사용자 만들기 요청을 보내는 애플리케이션 유형을 결정합니다. 기본값은 레거시 게시자 포털입니다.

ErrorFieldContract

오류 필드 계약입니다.

ErrorResponse

오류 응답.

SubscriptionContract

구독 세부 정보.

SubscriptionCreateParameters

구독 만들기 세부 정보

SubscriptionState

구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 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

ErrorFieldContract[]

유효성 검사 오류가 발생할 경우 잘못된 필드 목록이 요청에 전송됩니다.

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 표준에 지정된 형식 yyyy-MM-ddTHH:mm:ssZ 을 따릅니다.

properties.displayName

string

구독의 이름 또는 구독에 이름이 없는 경우 null입니다.

properties.endDate

string

구독이 취소되거나 만료된 날짜입니다. 이 설정은 감사 목적으로만 사용되며 구독이 자동으로 취소되지 않습니다. 속성을 사용하여 구독 수명 주기를 state 관리할 수 있습니다. 날짜는 ISO 8601 표준에 지정된 형식 yyyy-MM-ddTHH:mm:ssZ 을 따릅니다.

properties.expirationDate

string

구독 만료 날짜입니다. 설정은 감사 목적으로만 사용되며 구독이 자동으로 만료되지 않습니다. 속성을 사용하여 구독 수명 주기를 state 관리할 수 있습니다. 날짜는 ISO 8601 표준에 지정된 형식 yyyy-MM-ddTHH:mm:ssZ 을 따릅니다.

properties.notificationDate

string

예정된 구독 만료 알림 날짜입니다. 날짜는 ISO 8601 표준에 지정된 형식 yyyy-MM-ddTHH:mm:ssZ 을 따릅니다.

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

구독 활성화 날짜입니다. 설정은 감사 목적으로만 사용되며 구독이 자동으로 활성화되지 않습니다. 속성을 사용하여 구독 수명 주기를 state 관리할 수 있습니다. 날짜는 ISO 8601 표준에 지정된 형식 yyyy-MM-ddTHH:mm:ssZ 을 따릅니다.

properties.state

SubscriptionState

구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 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

SubscriptionState

초기 구독 상태입니다. 값을 지정하지 않으면 제출됨 상태로 구독이 만들어집니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다.

SubscriptionState

구독 상태입니다. 가능한 상태는 * 활성 상태이며, 구독이 활성 상태이며, * 일시 중단됨 – 구독이 차단되고 구독자가 제품의 API를 호출할 수 없습니다. * 제출됨 – 구독 요청은 개발자가 수행했지만 아직 승인되거나 거부되지 않았습니다. * 거부됨 - 관리자가 구독 요청을 거부했습니다. * 취소됨 - 개발자 또는 관리자가 구독을 취소했습니다. * 만료됨 – 구독이 만료 날짜에 도달하여 비활성화되었습니다.

Name 형식 Description
active

string

cancelled

string

expired

string

rejected

string

submitted

string

suspended

string