Tous les produits
Search
Centre de documentation

IoT Platform:GenerateOTAUploadURL

Dernière mise à jour :Aug 09, 2026

Génère l’URL et les autres informations nécessaires au téléchargement d’un fichier de package de mise à jour vers Object Storage Service (OSS).

Notes d'utilisation

Utilisez cette opération conjointement avec d’autres pour créer un package de mise à jour. Procédure :

1. Appelez cette opération d’API pour générer les détails du fichier de package de mise à jour que vous souhaitez télécharger sur OSS.

La section suivante décrit les paramètres de réponse de cette opération d’API :

  • Les paramètres de requête suivants de l’opération OSS PostObject utilisée pour télécharger le fichier de package de mise à jour : Host,Key, OSSAccessKeyId, Signature et Policy.

  • Le paramètre de requête suivant de l’opération CreateOTAFirmware utilisée pour créer le package de mise à jour : FirmwareUrl.

2. Utilisez un SDK OSS pour appeler l’opération PostObject afin de télécharger le fichier de package de mise à jour. Pour plus d’informations sur l’exemple de code, consultez la section « Utilisation des paramètres de réponse ».

Important

Les informations de paramètres renvoyées par cette opération sont valides pendant 1 minute. Vous devez télécharger le fichier de package de mise à jour dans ce délai. La taille maximale du fichier de package de mise à jour téléchargé est de 1 000 Mo.

3. Une fois le fichier de package de mise à jour téléchargé, appelez l’opération CreateOTAFirmware pour créer un package de mise à jour dans un délai de 60 minutes.

Si des fichiers de package de mise à jour sont téléchargés mais que vous n’appelez pas l’opération CreateOTAFirmware pour créer les packages correspondants, le système supprime automatiquement les fichiers téléchargés périodiquement.

Limites 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 dans 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ètre

Type

Obligatoire

Exemple

Description

Action

String

Oui

GenerateOTAUploadURL

Opération que vous souhaitez exécuter. Définissez la valeur sur GenerateOTAUploadURL.

IotInstanceId

String

Non

iot-cn-0pp1n8t****

ID de l’instance. Vous pouvez afficher 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. Dans le cas contraire, l’appel échoue.

  • Si aucune page Overview ou aucun ID n’est généré pour votre instance, vous n’avez pas besoin de configurer ce paramètre.

Pour plus d’informations, consultez Vue d’ensemble.

FileSuffix

String

Non

apk

Extension du nom de fichier du package de mise à jour. Valeurs possibles : bin, dav, apk, tar, gz, tar.gz, zip et gzip.

Valeur par défaut : bin.

En plus des paramètres de requête spécifiques à l’opération mentionnés ci-dessus, vous devez spécifier les paramètres de requête communs lorsque vous appelez cette opération. Pour plus d’informations, consultez les Paramètres de requête communs.

Paramètres de réponse

Paramètre

Type

Exemple

Description

Code

String

iot.system.SystemException

Code d’erreur renvoyé en cas d’échec de l’appel. Pour plus d’informations, consultez les Codes d’erreur.

Data

Struct

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

FirmwareUrl

String

https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472**/ck2nfzljo00023g7kysg0**.bin

URL du fichier de package de mise à jour stocké dans OSS.

Une fois le fichier de package de mise à jour téléchargé, utilisez ce paramètre pour appeler l’opération CreateOTAFirmware afin de créer un package de mise à jour.

Host

String

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

Endpoint OSS.

Key

String

ota/65dfcda0473be29836dfde585472**/ck2nfzljo00023g7kysg0**.bin

Chemin complet du fichier dans OSS. Le fichier est téléchargé via l’opération PostObject d’OSS.

OSSAccessKeyId

String

cS8uRRy54Rsz****

AccessKey ID du propriétaire du bucket.

Ce bucket OSS stocke le fichier de package de mise à jour.

ObjectStorage

String

OSS

Type de stockage objet. Valeur par défaut : OSS.

Policy

String

eyJleHBpcmF****

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

Signature

String

v6lViO4FBvfquajQjg20K5hK****

Signature calculée à partir de AccessKeySecret et de Policy. Lorsque vous appelez une opération OSS, OSS utilise les informations de signature pour vérifier la requête POST.

UtcCreate

String

2019-11-04T06:21:54.607Z

Date et heure de génération de l’URL du fichier de package de mise à jour téléchargé. L’heure est affichée au format UTC.

ErrorMessage

String

A system exception occurred.

Message d’erreur renvoyé en cas d’échec de l’appel.

RequestId

String

74C2BB8D-1D6F-41F5-AE68-6B2310883F63

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é.

Utilisations des paramètres de réponse

Lorsque vous appelez l’opération OSS PostObject pour télécharger le fichier de package de mise à jour vers OSS, spécifiez les paramètres de requête en utilisant les valeurs renvoyées par l’opération GenerateOTAUploadURL.

L’exemple de code Java suivant montre comment télécharger le fichier de package de mise à jour vers OSS. Pour plus d’informations sur l’exemple de code, consultez la section Téléchargement de formulaires.

  • 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=GenerateOTAUploadURL
&<Common request parameters>

Exemple de réponse en cas de succès

Format XML

<GenerateOTAUploadURLResponse>
    <Data>
        <Key>ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin</Key>
        <Host>https://iotx-ota.oss-cn-shanghai.aliyuncs.com</Host>
        <Policy>eyJleHBpcmF****</Policy>
        <OSSAccessKeyId>cS8uRRy54Rsz****</OSSAccessKeyId>
        <ObjectStorage>OSS</ObjectStorage>
        <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>
        <Signature>PKmRTy40QxqIUUWy325SCT/****</Signature>
        <FirmwareUrl>https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin</FirmwareUrl>
    </Data>
    <RequestId>B6E77674-09C4-4647-BF85-59CB72A72E4B</RequestId>
    <Success>true</Success>
</GenerateOTAUploadURLResponse>

Format JSON

{
    "Data": {
        "Key": "ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin",
        "Host": "https://iotx-ota.oss-cn-shanghai.aliyuncs.com",
        "Policy": "eyJleHBpcmF****",
        "OSSAccessKeyId": "cS8uRRy54Rsz****",
        "ObjectStorage": "OSS",
        "UtcCreate": "2019-11-04T06:21:54.607Z",
        "Signature": "PKmRTy40QxqIUUWy325SCT/****",
        "FirmwareUrl": "https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/65dfcda0473be29836dfde585472****/ck2nfzljo00023g7kysg0****.bin"
    },
    "RequestId": "B6E77674-09C4-4647-BF85-59CB72A72E4B",
    "Success": true
}

Codes d’erreur

Pour obtenir la liste des codes d’erreur, visitez le Centre d’erreurs API.