IoT Platform met à la disposition des développeurs un SDK pour .NET. Cette rubrique explique comment installer et configurer le SDK IoT Platform pour .NET. Elle décrit également comment utiliser ce SDK pour appeler les opérations d'API d'IoT Platform.
Installer le SDK IoT Platform pour .NET
-
Installez les environnements de développement .NET.
Le SDK IoT Platform pour .NET prend en charge les environnements de développement suivants :
.NET Framework 4.5 et versions ultérieures
.NET Standard 2.0 et versions ultérieures
C# 4.0 et versions ultérieures
Visual Studio 2010 et versions ultérieures
-
Installez le SDK IoT Platform pour .NET à l'aide du gestionnaire de packages NuGet.
Cet exemple utilise Visual Studio.
Dans le volet Solution Explorer de Visual Studio, cliquez avec le bouton droit sur votre projet, puis sélectionnez Manage NuGet Packages.
Dans le volet NuGet Package Manager, cliquez sur Browse.
Sous l'onglet Browse, saisissez aliyun-net-sdk dans la zone de recherche, puis sélectionnez le package aliyun-net-sdk-iot fourni par Alibaba Cloud.
Cliquez sur Install.
Initialiser le SDK IoT Platform pour C++
Le code suivant illustre l'initialisation du SDK pour appeler une API dans la région Chine (Shanghai).
Créez l'objet clientProfile afin de stocker les informations d'initialisation du SDK. Créez ensuite l'instance client à partir de DefaultAcsClient. Utilisez la méthode DefaultAcsClient(clientProfile) pour charger les informations d'initialisation du SDK.
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
string accessKeyId = Environment.GetEnvironmentVariable("ALIYUN_ACCESS_KEY_ID");
string accessKeySecret = Environment.GetEnvironmentVariable("ALIYUN_ACCESS_KEY_SECRET");
IClientProfile clientProfile = DefaultProfile.GetProfile("cn-shanghai", accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(clientProfile);
L'objet clientProfile sert à stocker les informations d'initialisation du SDK.
-
: identifiant de la région où vous avez activé IoT Platform.Consultez votre région dans le coin supérieur gauche de la console IoT Platform.
La liste complète des ID de région disponibles figure dans la rubrique Régions prises en charge.
Envoyer une requête
Le SDK encapsule deux classes pour chaque opération d'API. Les noms de ces classes suivent les formats ${nom de l'opération d'API}+"Request" et ${nom de l'opération d'API}+"Response".
${nom de l'opération d'API}+"Request": cette classe permet d'appeler une opération d'API. À partir de l'instance de requête de cette classe, appelez la méthoderequest.${nom du paramètre de requête}pour configurer les paramètres de la requête.-
${nom de l'opération d'API}+"Response": appelez la méthodeGetAcsResponse(request)de l'instance client créée à partir de DefaultAcsClient pour obtenir une réponse. Depuis l'instance de réponse de la classe ${nom de l'opération d'API}+"Response", utilisez la méthoderesponseresponse.${nom du paramètre de réponse}afin de récupérer les valeurs des paramètres de réponse.Par exemple, appelez la méthode
response.Success()pour obtenir la valeur du paramètre Success. Ce paramètre commun indique si l'appel a abouti. Parmi les autres paramètres de réponse courants figurent RequestId, ErrorMessage et Code.
Pour consulter la liste des API cloud d'IoT Platform, reportez-vous à la rubrique Liste des API. Pour une description des paramètres de requête dans request et des paramètres de réponse dans response, consultez la référence d'API correspondante.
Cette rubrique utilise l'opération Pub comme exemple pour montrer comment publier un message sur un topic. Pour plus d'informations sur les paramètres de requête, consultez la rubrique Pub.
Dans le code ci-dessous, ${iotInstanceId} représente l'ID d'instance. Vous trouverez l'ID de l'instance actuelle sur la page Instance Overview de la console IoT Platform.
Si un ID existe, vous devez le transmettre. Sinon, l'appel d'API échouera.
Si la page Instance Details ou l'ID n'existe pas, inutile de transmettre un ID. Supprimez le code de requête lié à
IotInstanceIdou transmettez une valeur vide"". Dans le cas contraire, l'appel d'API échouera.
Pour en savoir plus sur les instances, consultez la rubrique Présentation des instances. Pour acheter une instance, reportez-vous à la rubrique Acheter une instance Enterprise. Pour les questions fréquentes, consultez la rubrique FAQ sur les instances IoT Platform.
PubRequest request = new PubRequest();
request.IotInstanceId = "<iotInstanceId>";
request.ProductKey = "<productKey>";
request.TopicFullName = "/<productKey>/<deviceName>/get";
byte[] payload = Encoding.Default.GetBytes("Hello World.");
String payloadStr = Convert.ToBase64String(payload);
request.MessageContent = payloadStr;
request.Qos = 0;
try
{
PubResponse response = client.GetAcsResponse(request);
Console.WriteLine("publish message result: " + response.Success);
Console.WriteLine(response.ErrorMessage);
}
catch (ServerException e)
{
Console.WriteLine(e.ErrorCode);
Console.WriteLine(e.ErrorMessage);
}
catch (ClientException e)
{
Console.WriteLine(e.ErrorCode);
Console.WriteLine(e.ErrorMessage);
}
Annexe : Exemple de code
Accédez au Centre d'exemples de SDK Cloud IoT Platform pour afficher ou télécharger des exemples de code pour les appels d'API. Ces exemples couvrent les SDK Java, Python, PHP, .NET et Go.
Le portail des développeurs OpenAPI d'Alibaba Cloud propose un outil de débogage d'API en ligne. Sur la page API debugging, vous pouvez rechercher et tester des appels d'API. Le portail génère automatiquement des exemples de code SDK dans différents langages selon les paramètres saisis. Consultez le code généré sous l'onglet SDK Example et la réponse sous l'onglet Call Result.