Partager via


Subscription - Create Or Update

Crée ou met à jour l’abonnement de l’utilisateur spécifié au produit spécifié.

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}

Paramètres URI

Nom Dans Obligatoire Type Description
resourceGroupName
path True

string

minLength: 1
maxLength: 90

Nom du groupe de ressources. Le nom ne respecte pas la casse.

serviceName
path True

string

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

Nom du service Gestion des API.

sid
path True

string

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

Identificateur d’entité d’abonnement. L’entité représente l’association entre un utilisateur et un produit dans Gestion des API.

subscriptionId
path True

string (uuid)

ID de l’abonnement cible. La valeur doit être un UUID.

api-version
query True

string

minLength: 1

Version de l’API à utiliser pour cette opération.

appType
query

AppType

Détermine le type d’application qui envoie la demande d’utilisateur de création. La valeur par défaut est le portail d’éditeur hérité.

notify
query

boolean

Notifier la modification de l’état de l’abonnement.

  • Si la valeur est false, n’envoyez aucune notification par e-mail pour le changement d’état de l’abonnement
  • Si la valeur est true, envoyez une notification par e-mail de modification de l’état de l’abonnement

En-tête de la demande

Nom Obligatoire Type Description
If-Match

string

ETag de l’entité. Non obligatoire lors de la création d’une entité, mais obligatoire lors de la mise à jour d’une entité.

Corps de la demande

Nom Obligatoire Type Description
properties.displayName True

string

minLength: 1
maxLength: 100

Nom de l’abonnement.

properties.scope True

string

Étendue comme /products/{productId} ou /apis ou /apis/{apiId}.

properties.allowTracing

boolean

Détermine si le suivi peut être activé

properties.ownerId

string

Utilisateur (chemin d’accès de l’ID utilisateur) pour lequel l’abonnement est créé sous la forme /users/{userId}

properties.primaryKey

string

minLength: 1
maxLength: 256

Clé d’abonnement principale. Si elle n’est pas spécifiée pendant la clé de requête, elle est générée automatiquement.

properties.secondaryKey

string

minLength: 1
maxLength: 256

Clé d’abonnement secondaire. Si elle n’est pas spécifiée pendant la clé de requête, elle est générée automatiquement.

properties.state

SubscriptionState

État initial de l’abonnement. Si aucune valeur n’est spécifiée, l’abonnement est créé avec l’état Soumis. Les états possibles sont * actifs – l’abonnement est actif, * suspendu – l’abonnement est bloqué et l’abonné ne peut pas appeler d’API du produit, * envoyé – la demande d’abonnement a été effectuée par le développeur, mais n’a pas encore été approuvée ou rejetée, * rejeté – la demande d’abonnement a été refusée par un administrateur, * annulée – l’abonnement a été annulé par le développeur ou l’administrateur, * expiré : l’abonnement a atteint sa date d’expiration et a été désactivé.

Réponses

Nom Type Description
200 OK

SubscriptionContract

L’utilisateur s’est déjà abonné au produit.

En-têtes

ETag: string

201 Created

SubscriptionContract

L’utilisateur a été correctement abonné au produit.

En-têtes

ETag: string

Other Status Codes

ErrorResponse

Réponse d’erreur décrivant pourquoi l’opération a échoué.

Sécurité

azure_auth

Flux OAuth2 Azure Active Directory.

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
user_impersonation emprunter l’identité de votre compte d’utilisateur

Exemples

ApiManagementCreateSubscription

Exemple de requête

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

Exemple de réponse

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

Définitions

Nom Description
AppType

Détermine le type d’application qui envoie la demande d’utilisateur de création. La valeur par défaut est le portail d’éditeur hérité.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

ErrorDetail

Détail de l’erreur.

ErrorResponse

Réponse d’erreur

SubscriptionContract

Détails de l’abonnement.

SubscriptionCreateParameters

Détails de la création d’abonnement.

SubscriptionState

État de l’abonnement. Les états possibles sont * actifs – l’abonnement est actif, * suspendu – l’abonnement est bloqué et l’abonné ne peut pas appeler d’API du produit, * envoyé – la demande d’abonnement a été effectuée par le développeur, mais n’a pas encore été approuvée ou rejetée, * rejeté – la demande d’abonnement a été refusée par un administrateur, * annulée – l’abonnement a été annulé par le développeur ou l’administrateur, * expiré : l’abonnement a atteint sa date d’expiration et a été désactivé.

AppType

Détermine le type d’application qui envoie la demande d’utilisateur de création. La valeur par défaut est le portail d’éditeur hérité.

Valeur Description
portal

La demande de création d’utilisateur a été envoyée par le portail des développeurs hérité.

developerPortal

La demande de création d’utilisateur a été envoyée par le nouveau portail des développeurs.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

Nom Type Description
info

object

Informations supplémentaires.

type

string

Type d’informations supplémentaire.

ErrorDetail

Détail de l’erreur.

Nom Type Description
additionalInfo

ErrorAdditionalInfo[]

Informations supplémentaires sur l’erreur.

code

string

Code d’erreur.

details

ErrorDetail[]

Détails de l’erreur.

message

string

Message d’erreur.

target

string

Cible d’erreur.

ErrorResponse

Réponse d’erreur

Nom Type Description
error

ErrorDetail

Objet d’erreur.

SubscriptionContract

Détails de l’abonnement.

Nom Type Description
id

string

ID de ressource complet pour la ressource. ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Nom de la ressource

properties.allowTracing

boolean

Détermine si le suivi est activé

properties.createdDate

string (date-time)

Date de création de l’abonnement. La date est conforme au format suivant : yyyy-MM-ddTHH:mm:ssZ comme spécifié par la norme ISO 8601.

properties.displayName

string

minLength: 0
maxLength: 100

Nom de l’abonnement, ou null si l’abonnement n’a pas de nom.

properties.endDate

string (date-time)

Date d’annulation ou d’expiration de l’abonnement. Le paramètre est uniquement à des fins d’audit et l’abonnement n’est pas automatiquement annulé. Le cycle de vie de l’abonnement peut être géré à l’aide de la propriété state. La date est conforme au format suivant : yyyy-MM-ddTHH:mm:ssZ comme spécifié par la norme ISO 8601.

properties.expirationDate

string (date-time)

Date d’expiration de l’abonnement. Le paramètre est à des fins d’audit uniquement et l’abonnement n’a pas expiré automatiquement. Le cycle de vie de l’abonnement peut être géré à l’aide de la propriété state. La date est conforme au format suivant : yyyy-MM-ddTHH:mm:ssZ comme spécifié par la norme ISO 8601.

properties.notificationDate

string (date-time)

Date de notification d’expiration de l’abonnement à venir. La date est conforme au format suivant : yyyy-MM-ddTHH:mm:ssZ comme spécifié par la norme ISO 8601.

properties.ownerId

string

Identificateur de ressource utilisateur du propriétaire de l’abonnement. La valeur est une URL relative valide au format /users/{userId} où {userId} est un identificateur d’utilisateur.

properties.primaryKey

string

minLength: 1
maxLength: 256

Clé primaire d’abonnement. Cette propriété ne sera pas remplie sur les opérations « GET » ! Utilisez la requête POST « /listSecrets » pour obtenir la valeur.

properties.scope

string

Étendue comme /products/{productId} ou /apis ou /apis/{apiId}.

properties.secondaryKey

string

minLength: 1
maxLength: 256

Clé secondaire d’abonnement. Cette propriété ne sera pas remplie sur les opérations « GET » ! Utilisez la requête POST « /listSecrets » pour obtenir la valeur.

properties.startDate

string (date-time)

Date d’activation de l’abonnement. Le paramètre est uniquement à des fins d’audit et l’abonnement n’est pas activé automatiquement. Le cycle de vie de l’abonnement peut être géré à l’aide de la propriété state. La date est conforme au format suivant : yyyy-MM-ddTHH:mm:ssZ comme spécifié par la norme ISO 8601.

properties.state

SubscriptionState

État de l’abonnement. Les états possibles sont * actifs – l’abonnement est actif, * suspendu – l’abonnement est bloqué et l’abonné ne peut pas appeler d’API du produit, * envoyé – la demande d’abonnement a été effectuée par le développeur, mais n’a pas encore été approuvée ou rejetée, * rejeté – la demande d’abonnement a été refusée par un administrateur, * annulée – l’abonnement a été annulé par le développeur ou l’administrateur, * expiré : l’abonnement a atteint sa date d’expiration et a été désactivé.

properties.stateComment

string

Commentaire d’abonnement facultatif ajouté par un administrateur lorsque l’état est remplacé par « rejeté ».

type

string

Type de la ressource. Par exemple, « Microsoft.Compute/virtualMachines » ou « Microsoft.Storage/storageAccounts »

SubscriptionCreateParameters

Détails de la création d’abonnement.

Nom Type Description
properties.allowTracing

boolean

Détermine si le suivi peut être activé

properties.displayName

string

minLength: 1
maxLength: 100

Nom de l’abonnement.

properties.ownerId

string

Utilisateur (chemin d’accès de l’ID utilisateur) pour lequel l’abonnement est créé sous la forme /users/{userId}

properties.primaryKey

string

minLength: 1
maxLength: 256

Clé d’abonnement principale. Si elle n’est pas spécifiée pendant la clé de requête, elle est générée automatiquement.

properties.scope

string

Étendue comme /products/{productId} ou /apis ou /apis/{apiId}.

properties.secondaryKey

string

minLength: 1
maxLength: 256

Clé d’abonnement secondaire. Si elle n’est pas spécifiée pendant la clé de requête, elle est générée automatiquement.

properties.state

SubscriptionState

État initial de l’abonnement. Si aucune valeur n’est spécifiée, l’abonnement est créé avec l’état Soumis. Les états possibles sont * actifs – l’abonnement est actif, * suspendu – l’abonnement est bloqué et l’abonné ne peut pas appeler d’API du produit, * envoyé – la demande d’abonnement a été effectuée par le développeur, mais n’a pas encore été approuvée ou rejetée, * rejeté – la demande d’abonnement a été refusée par un administrateur, * annulée – l’abonnement a été annulé par le développeur ou l’administrateur, * expiré : l’abonnement a atteint sa date d’expiration et a été désactivé.

SubscriptionState

État de l’abonnement. Les états possibles sont * actifs – l’abonnement est actif, * suspendu – l’abonnement est bloqué et l’abonné ne peut pas appeler d’API du produit, * envoyé – la demande d’abonnement a été effectuée par le développeur, mais n’a pas encore été approuvée ou rejetée, * rejeté – la demande d’abonnement a été refusée par un administrateur, * annulée – l’abonnement a été annulé par le développeur ou l’administrateur, * expiré : l’abonnement a atteint sa date d’expiration et a été désactivé.

Valeur Description
suspended
active
expired
submitted
rejected
cancelled