Todos los productos
Search
Centro de documentos

IoT Platform:GenerateDeviceNameListURL

Última actualización: Sep 03, 2026

Genera la URL y los detalles de un archivo de lista de dispositivos que desea cargar en Object Storage Service (OSS). Al crear un lote de actualización estática, puede especificar los dispositivos que desea actualizar mediante un archivo de lista de dispositivos.

Requisitos

  • Un archivo de lista de dispositivos contiene los nombres de los dispositivos. Separe varios nombres de dispositivo con saltos de línea. Cada línea debe contener solo un nombre de dispositivo. El archivo de lista de dispositivos debe tener formato CSV. El tamaño máximo del archivo es de 5 MB.

  • Cada archivo de lista de dispositivos puede contener hasta 10,000 nombres correspondientes a los dispositivos de un producto vinculado a un paquete de actualización. Si el número de nombres en el archivo supera este límite, se producirá un error al utilizarlo para crear un lote de actualización estática.

Descripción

Esta operación se utiliza junto con otras para cargar un archivo de lista de dispositivos. Procedimiento:

  1. Llame a esta operación para generar la información del archivo de lista de dispositivos que desea cargar en OSS.

Los parámetros de respuesta de esta operación de API incluyen:

A continuación se muestran los parámetros de solicitud de la operación PostObject de OSS, utilizada para cargar el archivo de lista de dispositivos: Key, AccessKeyId, Signature y Policy.

  1. Utilice un SDK de OSS para llamar a la operación PostObject y cargar el archivo de lista de dispositivos dentro de 1 minuto después de recibir la respuesta. Para obtener más información sobre el código de ejemplo, consulte la sección "Uso de los parámetros de respuesta" en este tema.

    Nota

    La información de los parámetros devuelta por esta operación tiene una validez de 1 minuto. Debe cargar el archivo de lista de dispositivos dentro de ese periodo.

  2. Después de cargar el archivo de lista de dispositivos, llame a la operación CreateOTAStaticUpgradeJob de IoT Platform para crear un lote de actualización estática dentro de los siguientes 60 minutos.

Si carga archivos de lista de dispositivos pero no llama a la operación CreateOTAStaticUpgradeJob para crear un lote de actualización estática, el sistema eliminará automáticamente los archivos cargados. El sistema realiza esta limpieza de forma periódica.

Límites de QPS

Cada cuenta de Alibaba Cloud admite hasta 10 consultas por segundo (QPS).

Nota

Los usuarios de RAM de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.

Depuración

OpenAPI Explorer calcula automáticamente el valor de la firma. Para su comodidad, le recomendamos llamar a esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente el código de ejemplo de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíGenerateDeviceNameListURL

La operación que desea ejecutar. Establezca el valor en GenerateDeviceNameListURL.

IotInstanceIdStringNoiot-cn-0pp1n8t****

El ID de la instancia. Puede consultar el ID de la instancia en la página Overview de la consola de IoT Platform.

Importante
  • Si su instancia tiene un ID, debe especificarlo en este parámetro. De lo contrario, la llamada fallará.
  • Si su instancia no tiene página de Overview o ID, no es necesario configurar este parámetro.

Para obtener más información, consulte Descripción general.

Además de los parámetros de solicitud específicos de la operación mencionados anteriormente, debe configurar los parámetros de solicitud comunes al llamar a esta operación. Para obtener más información, consulte Parámetros de solicitud comunes.

Parámetros de respuesta

ParámetroTipoEjemploDescripción
CodeStringiot.system.SystemException

El código de error devuelto si la llamada falla. Para obtener más información, consulte Códigos de error.

DataStruct

La información devuelta si la llamada es exitosa. Para obtener más información, consulte los siguientes parámetros:

AccessKeyIdStringcS8uRRy54Rsz****

El AccessKey ID del propietario del bucket.

El bucket de OSS almacena el archivo.

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

La URL del archivo almacenado en OSS.

Una vez cargado el archivo de lista de dispositivos, utilice este parámetro para llamar a la operación CreateOTAStaticUpgradeJob y crear un lote de actualización estática.

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

El endpoint de OSS.

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

La ruta completa del archivo en OSS. Puede llamar a la operación PostObject de OSS para cargar el archivo.

ObjectStorageStringOSS

El tipo de object storage. Valor predeterminado: OSS.

PolicyStringeyJleHBpcmF****

El parámetro que utiliza OSS para verificar los campos del formulario de la solicitud.

SignatureStringv6lViO4FBvfquajQjg20K5hK****

La firma calculada con base en AccessKeySecret y Policy. Al llamar a una operación de OSS, el servicio utiliza esta información de firma para verificar la solicitud POST.

UtcCreateString2019-11-04T06:21:54.607Z

La hora en que se generó la URL del archivo que desea cargar. La hora se muestra en formato UTC.

ErrorMessageStringA system exception occurred.

El mensaje de error devuelto si la llamada falla.

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

El ID de la solicitud.

SuccessBooleantrue

Indica si la llamada fue exitosa.

  • true: La llamada fue exitosa.
  • false: La llamada falló.

Uso de los parámetros de respuesta

Cuando llame a la operación PostObject de OSS para cargar el archivo, especifique los valores de los parámetros devueltos por esta operación en los parámetros de solicitud de PostObject.

El siguiente código de ejemplo en Java muestra cómo cargar el archivo de lista de dispositivos en OSS.

  • Agregue las siguientes dependencias al archivo 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>
            
  • Código de ejemplo:

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

Ejemplos

Solicitudes de ejemplo

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

Respuestas exitosas de ejemplo

Formato 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>

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

Códigos de error

Para obtener una lista de códigos de error, visite el Centro de errores de API.