Tous les produits
Search
Centre de documentation

IoT Platform:GenerateDeviceNameListURL

Dernière mise à jour :Aug 09, 2026

Génère l'URL et les détails d'un fichier de liste d'appareils que vous souhaitez charger dans Object Storage Service (OSS). Lorsque vous créez un lot de mise à jour statique, vous pouvez spécifier les appareils à mettre à jour dans un fichier de liste d'appareils.

Prérequis

  • Un fichier de liste d'appareils contient les noms des appareils. Séparez plusieurs noms d'appareils par des sauts de ligne. Chaque ligne ne doit contenir qu'un seul nom d'appareil. Le fichier de liste d'appareils doit être au format CSV. La taille maximale du fichier est de 5 Mo.

  • Chaque fichier de liste d'appareils peut contenir jusqu'à 10 000 noms d'appareils associés à un produit lié à un package de mise à jour. Si le nombre de noms d'appareils dans le fichier dépasse cette limite, une erreur se produira lors de la création du lot de mise à jour statique avec ce fichier.

Description

Cette opération s'utilise conjointement avec d'autres opérations pour charger un fichier de liste d'appareils. Procédure :

1. Appelez cette opération pour générer les informations relatives au fichier de liste d'appareils que vous souhaitez charger dans OSS.

Les paramètres de réponse de cette opération API incluent :

Les paramètres de requête suivants de l'opération OSS PostObject utilisée pour charger le fichier de liste d'appareils : Key, AccessKeyId, Signature et Policy.

2. Utilisez un SDK OSS pour appeler l'opération PostObject afin de charger le fichier de liste d'appareils dans la minute qui suit la réception de la réponse. Pour plus d'informations sur l'exemple de code, consultez la section « Utilisation des paramètres de réponse » de cette rubrique.

Remarque

Les informations de paramètre renvoyées par cette opération sont valides pendant une minute. Vous devez charger le fichier de liste d'appareils dans ce délai.

3. Après avoir chargé le fichier de liste d'appareils, appelez l'opération CreateOTAStaticUpgradeJob d'IoT Platform pour créer un lot de mise à jour statique dans un délai de 60 minutes.

Si vous chargez des fichiers de liste d'appareils sans appeler l'opération CreateOTAStaticUpgradeJob pour créer un lot de mise à jour statique, le système supprimera automatiquement les fichiers chargés. Cette suppression s'effectue régulièrement.

Limites de QPS

Chaque compte Alibaba Cloud peut effectuer jusqu'à 10 requêtes par seconde (QPS).

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. Nous vous recommandons d'appeler cette opération via OpenAPI Explorer pour plus de commodité. OpenAPI Explorer génère dynamiquement l'exemple de code de l'opération pour différents SDK.

Paramètres de requête

ParamètreTypeObligatoireExempleDescription
ActionStringOuiGenerateDeviceNameListURL

L'opération que vous souhaitez exécuter. Définissez la valeur sur GenerateDeviceNameListURL.

IotInstanceIdStringNoniot-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 le spécifier pour ce paramètre. À défaut, l'appel échouera.
  • Si votre instance ne dispose pas de Overview page ou d'ID, il n'est pas nécessaire de configurer ce paramètre.

Pour plus d'informations, consultez Overview.

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 à cette opération. Pour plus d'informations, consultez les paramètres de requête communs.

Paramètres de réponse

ParamètreTypeExempleDescription
CodeStringiot.system.SystemException

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

DataStruct

Les informations renvoyées en cas de succès de l'appel. Pour plus d'informations, consultez les paramètres suivants :

AccessKeyIdStringcS8uRRy54Rsz****

L'AccessKey ID du propriétaire du bucket.

Le bucket OSS stocke le fichier.

FileUrlStringhttps://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv

L'URL du fichier stocké dans OSS.

Une fois le fichier de liste d'appareils chargé, ce paramètre est utilisé pour appeler l'opération CreateOTAStaticUpgradeJob afin de créer un lot de mise à jour statique.

HostStringhttps://iotx-ota.oss-cn-shanghai.aliyuncs.com

L'endpoint OSS.

KeyStringota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv

Le chemin complet du fichier dans OSS. Vous pouvez appeler l'opération OSS PostObject pour charger le fichier dans OSS.

ObjectStorageStringOSS

Le type de stockage objet. Valeur par défaut : OSS.

PolicyStringeyJleHBpcmF****

Le paramètre utilisé par OSS pour vérifier les champs de formulaire de la requête.

SignatureStringv6lViO4FBvfquajQjg20K5hK****

La signature calculée à partir de AccessKeySecret et de Policy. Lors de l'appel à une opération OSS, le service utilise les informations de signature pour vérifier la requête POST.

UtcCreateString2019-11-04T06:21:54.607Z

L'heure de génération de l'URL du fichier à charger. L'heure est affichée au format UTC.

ErrorMessageStringA system exception occurred.

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

RequestIdString74C2BB8D-1D6F-41F5-AE68-6B2310883F63

L'ID de la requête.

SuccessBooleantrue

Indique si l'appel a réussi.

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

Utilisation des paramètres de réponse

Lorsque vous appelez l'opération OSS PostObject pour charger le fichier dans OSS, spécifiez les valeurs des paramètres renvoyés par cette opération comme paramètres de requête de l'opération PostObject.

L'exemple de code Java suivant illustre le chargement du fichier de liste d'appareils dans OSS.

  • Ajoutez les dépendances suivantes au fichier pom.xml :

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.3</version>
</dependency>

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpmime</artifactId>
  <version>4.5.10</version>
</dependency>
            
  • Exemple de code :

public static boolean postObject(String key,
                                  String host,
                                  String policy,
                                  String ossAccessKeyId,
                                  String signature,
                                  String data) throws IOException {
  CloseableHttpClient httpClient = HttpClients.createDefault();
  HttpPost uploadFile = new HttpPost(host);

  MultipartEntityBuilder builder = MultipartEntityBuilder.create();
  builder.addTextBody("key", key, ContentType.TEXT_PLAIN);
  builder.addTextBody("policy", policy, ContentType.TEXT_PLAIN);
  builder.addTextBody("ossAccessKeyId", ossAccessKeyId, ContentType.TEXT_PLAIN);
  builder.addTextBody("signature", signature, ContentType.TEXT_PLAIN);
  builder.addTextBody("success_action_status", "200", ContentType.TEXT_PLAIN);
  builder.addBinaryBody("file", data.getBytes());

  HttpEntity multipart = builder.build();
  uploadFile.setEntity(multipart);
  CloseableHttpResponse response = httpClient.execute(uploadFile);

  if (response.getStatusLine().getStatusCode() == 200) {
    return true;
  }

  return false;
}
            

Exemples

Exemple de requête

https://iot.cn-shanghai.aliyuncs.com/?Action=GenerateDeviceNameListURL
&<Common request parameters>

Exemple de réponse en cas de succès

Format XML

<GenerateDeviceNameListURLResponse>
      <Data>
            <Policy>eyJleHBpcmF****</Policy>
            <FileUrl>https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv</FileUrl>
            <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>
            <AccessKeyId>cS8uRRy54Rsz****</AccessKeyId>
            <Signature>v6lViO4FBvfquajQjg20K5hK****</Signature>
            <ObjectStorage>OSS</ObjectStorage>
            <Host>https://iotx-ota.oss-cn-shanghai.aliyuncs.com</Host>
            <Key>ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv</Key>
      </Data>
      <RequestId>74C2BB8D-1D6F-41F5-AE68-6B2310883F63</RequestId>
      <Success>true</Success>
</GenerateDeviceNameListURLResponse>

Format JSON

{
    "Data": {
        "Policy": "eyJleHBpcmF****",
        "FileUrl": "https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv",
        "UtcCreate": "2019-11-04T06:21:54.607Z",
        "AccessKeyId": "cS8uRRy54Rsz****",
        "Signature": "v6lViO4FBvfquajQjg20K5hK****",
        "ObjectStorage": "OSS",
        "Host": "https://iotx-ota.oss-cn-shanghai.aliyuncs.com",
        "Key": "ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.csv"
    },
    "RequestId": "74C2BB8D-1D6F-41F5-AE68-6B2310883F63",
    "Success": true
}

Codes d'erreur

Pour obtenir la liste des codes d'erreur, consultez le Centre d'erreurs API.