Tous les produits
Search
Centre de documentation

IoT Platform:CreateSubscribeRelation

Dernière mise à jour :Aug 09, 2026

Crée un abonnement côté serveur pour Message Service (MNS) ou Advanced Message Queuing Protocol (AMQP).

Remarques sur l'utilisation

Les abonnements côté serveur se divisent en deux catégories :

  • Abonnement MNS : transfère les messages souscrits vers des files d'attente MNS. Vos applications serveur écoutent ces files pour recevoir les messages des appareils. Pour plus d'informations, consultez la rubrique Configurer des abonnements côté serveur MNS. Appelez cette opération pour créer un abonnement MNS.

  • Abonnement AMQP : achemine les messages souscrits vers votre serveur via le canal AMQP. Pour plus d'informations, consultez la rubrique Configurer des abonnements côté serveur AMQP. Procédez comme suit pour configurer un abonnement AMQP :

    1. Appelez l'opération CreateConsumerGroup afin de créer un groupe de consommateurs et récupérez l'ID renvoyé. Les messages sont poussés vers ce groupe. Le client AMQP doit inclure cet ID lors de sa connexion à IoT Platform. Pour plus d'informations, consultez la rubrique Connecter un client AMQP à IoT Platform.

    2. Appelez l'opération CreateSubscribeRelation pour créer l'abonnement AMQP.

    3. Facultatif. Appelez l'opération CreateConsumerGroupSubscribeRelation pour ajouter un groupe de consommateurs à l'abonnement AMQP. Vous pouvez également appeler l'opération DeleteConsumerGroupSubscribeRelation pour retirer un groupe de consommateurs d'un abonnement AMQP.

    4. Facultatif. Appelez l'opération QueryConsumerGroupStatus pour interroger le statut d'un groupe de consommateurs, notamment les informations sur les clients connectés, le taux de consommation des messages, le nombre de messages accumulés et l'heure de la dernière consommation. Vous pouvez aussi appeler l'opération ResetConsumerGroupPosition pour purger les messages accumulés du groupe de consommateurs.

Limites de QPS

Vous pouvez appeler cette API jusqu'à cinq fois par seconde par compte.

Remarque

Les utilisateurs RAM d'un compte Alibaba Cloud partagent le quota de ce compte.

Débogage

OpenAPI Explorer calcule automatiquement la valeur de signature. Par souci de simplicité, nous vous recommandons d'appeler cette opération dans OpenAPI Explorer. OpenAPI Explorer génère dynamiquement des exemples de code pour différents SDK.

Paramètres de requête

Parameter Type Required Example Description
Action String Yes CreateSubscribeRelation

L'opération que vous souhaitez effectuer. Définissez la valeur sur CreateSubscribeRelation.

ProductKey String Yes a1fyXVF****

La ProductKey du produit spécifié pour l'abonnement.

IotInstanceId String No iot-cn-0pp1n8t****

L'ID de l'instance. Vous pouvez consulter l'ID de l'instance sur la page Overview de la console IoT Platform.

Important
  • Si votre instance possède un ID, vous devez spécifier cet ID pour ce paramètre. À défaut, l'appel échouera.
  • Si aucune page Overview ni aucun ID n'a été généré pour votre instance, il n'est pas nécessaire de configurer ce paramètre.

Pour plus d'informations, consultez la rubrique Overview.

DeviceDataFlag Boolean No true

Indique s'il faut pousser les messages montants des appareils. Valeurs possibles :

  • true: oui.
  • false: non. Il s'agit de la valeur par défaut.
DeviceStatusChangeFlag Boolean No true

Indique s'il faut pousser les messages relatifs aux changements de statut des appareils. Valeurs possibles :

  • true: oui.
  • false: non. Il s'agit de la valeur par défaut.
DeviceTopoLifeCycleFlag Boolean No true

Indique s'il faut pousser les messages relatifs aux modifications des relations topologiques entre appareils. Valeurs possibles :

  • true: oui. Ce paramètre n'est valide que pour les produits passerelle.
  • false: non. Il s'agit de la valeur par défaut.
FoundDeviceListFlag Boolean No true

Indique s'il faut pousser des messages lorsqu'une passerelle détecte de nouveaux sous-appareils. Valeurs possibles :

  • true: oui. Ce paramètre n'est valide que pour les produits passerelle.
  • false: non. Il s'agit de la valeur par défaut.
ThingHistoryFlag Boolean No true

Indique s'il faut pousser les données historiques Thing Specification Language (TSL) montantes. Valeurs possibles :

  • true: oui.
  • false: non. Il s'agit de la valeur par défaut.
DeviceLifeCycleFlag Boolean No true

Indique s'il faut pousser les messages relatifs aux changements du cycle de vie des appareils. Valeurs possibles :

  • true: oui.
  • false: non. Il s'agit de la valeur par défaut.
OtaEventFlag Boolean No true

Indique s'il faut pousser les notifications relatives au statut des lots de mise à jour over-the-air (OTA). Valeurs possibles :

  • true: oui.
  • false: non. Il s'agit de la valeur par défaut.
DeviceTagFlag Boolean No true

Indique s'il faut pousser les messages relatifs aux modifications des tags des appareils. Valeurs possibles :

  • true: oui. Ce paramètre n'est valide que si vous définissez le paramètre Type sur AMQP.
  • false: non. Il s'agit de la valeur par défaut.
OtaVersionFlag Boolean No true

Indique s'il faut pousser les messages relatifs aux numéros de version des modules OTA. Valeurs possibles :

  • true: oui. Ce paramètre n'est valide que si vous définissez le paramètre Type sur AMQP.
  • false: non. Il s'agit de la valeur par défaut.
OtaJobFlag Boolean No true

Indique s'il faut pousser les notifications relatives au statut des lots de mise à jour OTA. Valeurs possibles :

  • true: oui. Ce paramètre n'est valide que si vous définissez le paramètre Type sur AMQP.
  • false: non. Il s'agit de la valeur par défaut.
Type String No AMQP

Le type d'abonnement. Valeurs possibles :

  • MNS
  • AMQP
ConsumerGroupIds.N RepeatList No nJRaJPn5U1JITGfjBO9l00****

Les ID des groupes de consommateurs créés dans l'abonnement AMQP. Ce paramètre est obligatoire si vous définissez le paramètre Type sur AMQP.

Après avoir appelé l'opération CreateConsumerGroup pour créer un groupe de consommateurs, l'ID du groupe est renvoyé. Vous pouvez appeler l'opération QueryConsumerGroupList pour interroger les ID des groupes de consommateurs par nom. Vous pouvez également vous connecter à la console IoT Platform et, choisissez Message Forwarding > Server-side Subscription > Consumer Groups pour afficher l'ID du groupe de consommateurs.

MnsConfiguration String No { "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }

La configuration de la file d'attente MNS. Si vous définissez le paramètre Type sur AMQP, ce paramètre est obligatoire.

Pour plus d'informations, consultez la section « Définition du paramètre MnsConfiguration ».

SubscribeFlags String No { "jt808DeviceDataFlag": true }

Indique s'il faut recevoir les messages d'un produit souscrit spécifique.

Si vous vous abonnez à des produits passerelle JT/T 808, vous devez configurer le paramètre SubscribeFlags. Définissez la valeur sur le code suivant.


{
    "jt808DeviceDataFlag": true
}
Remarque

Vous devez définir au moins un paramètre lié à Flag sur

true

.

Définition du paramètre MnsConfiguration

Parameter

Description

queueName

Le nom de la rubrique MNS utilisée pour recevoir les données. Vous devez créer une file d'attente dans la console MNS et obtenir son nom. Pour plus d'informations, consultez la rubrique Create a queue.

regionName

Le code de la région où MNS est déployé. Exemple : cn-shanghai.

role

Les informations relatives au rôle RAM. Pour autoriser IoT Platform à accéder à MNS, vous pouvez attribuer un rôle de service à IoT Platform. Le script suivant illustre la syntaxe d'un rôle RAM :

{"roleArn":"acs:ram::5645***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

Remplacez 5645*** par l'ID de votre compte Alibaba Cloud. Connectez-vous à la console Alibaba Cloud et consultez l'ID du compte sur la page Security Settings.

AliyunIOTAccessingMNSRole désigne un rôle lié au service défini dans Resource Access Management (RAM). Ce rôle sert à autoriser IoT Platform à accéder à MNS. Accédez à la page RAM Roles de la console RAM pour gérer les rôles RAM.

Exemple du paramètre MnsConfiguration


{
    "queueName": "mns-test-topic1",
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    }
}

Outre les paramètres de requête spécifiques à l'opération présentés ci-dessus, vous devez configurer les paramètres de requête communs lors de l'appel de cette opération. Pour plus d'informations sur les paramètres de requête communs, consultez la rubrique Paramètres communs.

Paramètres de réponse

Parameter Type Example Description
Code String iot.system.SystemException

Le code d'erreur renvoyé en cas d'échec de l'appel. Pour plus d'informations sur les codes d'erreur, consultez la rubrique Codes d'erreur.

ErrorMessage String A system exception occurred.

Le message d'erreur renvoyé en cas d'échec de l'appel.

RequestId String 21D327AF-A7DE-4E59-B5D1-ACAC8C024555

L'ID de la requête.

Success Boolean true

Indique si l'appel a réussi. Valeurs possibles :

  • true: L'appel a réussi.
  • false: L'appel a échoué.

Exemples

Exemple de requête

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateSubscribeRelation
&OtaEventFlag=true
&ProductKey=a1Zkii7****
&Type=AMQP
&ConsumerGroupIds.1=Xs95KifeaSKbi8tKkcoD00****
&<Common request parameters>

Exemple de réponse réussie

Format XML

<CreateSubscribeRelationResponse>
        <RequestId>C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82</RequestId>
        <Success>true</Success>
</CreateSubscribeRelationResponse>

Format JSON

{
    "RequestId": "C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82",
    "Success": true
}

Codes d'erreur

Pour obtenir la liste des codes d'erreur, consultez la rubrique Codes d'erreur de service.