Share via


Bestanden uploaden van een apparaat naar de cloud met Azure IoT Hub

In dit artikel wordt uitgelegd hoe u het volgende kunt doen:

  • Gebruik mogelijkheden voor het uploaden van bestanden van IoT Hub om een bestand te uploaden naar Azure Blob Storage met behulp van een Azure IoT-apparaat en service-SDK's.
  • Informeer IoT Hub dat het bestand is geüpload en maak een back-endservice voor het ontvangen van uploadmeldingen van IoT Hub met behulp van de Sdk's van de Azure IoT-service.

In sommige scenario's kunt u de gegevens die uw apparaten verzenden niet eenvoudig toewijzen aan de relatief kleine apparaat-naar-cloud-berichten die IoT Hub accepteert. Met de mogelijkheden voor het uploaden van bestanden in IoT Hub kunt u grote of complexe gegevens naar de cloud verplaatsen. Voorbeeld:

  • Video's
  • Grote bestanden die afbeeldingen bevatten
  • Voorbeeld van trillingsgegevens met hoge frequentie
  • Een vorm van vooraf verwerkte gegevens

Deze bestanden worden doorgaans in batches verwerkt in de cloud, met behulp van hulpprogramma's zoals Azure Data Factory of de Hadoop-stack . Wanneer u bestanden van een apparaat wilt uploaden, kunt u nog steeds de beveiliging en betrouwbaarheid van IoT Hub gebruiken. In dit artikel wordt uitgelegd hoe u dit doet.

Dit artikel is bedoeld als aanvulling op runnable SDK-voorbeelden waarnaar in dit artikel wordt verwezen.

Zie voor meer informatie:

Belangrijk

De functionaliteit voor het uploaden van bestanden op apparaten die X.509-verificatie (CA) gebruiken, is in openbare preview en de preview-modus moet zijn ingeschakeld. Het is algemeen beschikbaar op apparaten die gebruikmaken van X.509-vingerafdrukverificatie of X.509-certificaatattestation met Azure Device Provisioning Service. Zie Ondersteunde X.509-certificaten voor meer informatie over X.509-verificatie met IoT Hub.

Vereisten

  • Een IoT-hub. Voor sommige SDK-aanroepen is de primaire ioT Hub-verbindingsreeks vereist, dus noteer de verbindingsreeks.

  • Een geregistreerd apparaat. Voor sommige SDK-aanroepen is het primaire verbindingsreeks van het apparaat vereist, dus noteer de verbindingsreeks.

  • Machtiging voor IoT Hub Service Connect : als u meldingsberichten voor het uploaden van bestanden wilt ontvangen, heeft uw back-endservice de machtiging Service Connect nodig. Standaard wordt elke IoT Hub gemaakt met een gedeeld toegangsbeleid met de naam service die deze machtiging verleent. Zie Verbinding maken met een IoT-hub voor meer informatie.

  • Configureer het uploaden van bestanden in uw IoT-hub door een Azure Storage-account en Een Azure Blob Storage-container te koppelen. U kunt deze configureren met behulp van Azure Portal, Azure CLI of Azure PowerShell.

Overzicht

Deze procedure bevat twee secties:

  • Een bestand uploaden vanuit een apparaattoepassing
  • Melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

Een bestand uploaden vanuit een apparaattoepassing

In deze sectie wordt beschreven hoe u een bestand uploadt van een apparaat naar een IoT-hub met behulp van de DeviceClient-klasse in de Azure IoT SDK voor .NET.

Volg deze procedure om een bestand van een apparaat naar IoT Hub te uploaden:

  1. Verbinding maken met IoT Hub
  2. Een SAS-URI ophalen uit IoT-hub
  3. Het bestand uploaden naar Azure Storage
  4. IoT Hub informeren over de uploadstatus van het bestand

Verbinding maken met het apparaat

Roep CreateFromConnectionString aan om verbinding te maken met het apparaat. Geef de primaire verbindingsreeks van het apparaat door.

AMQP is het standaard transportprotocol.

static string connectionString = "{device primary connection string}";
deviceClient = DeviceClient.CreateFromConnectionString(connectionString);

Een SAS-URI ophalen uit IoT-hub

Roep GetFileUploadSasUriAsync aan om details over het uploaden van bestanden op te halen. De SAS-URI wordt in de volgende stap gebruikt om een bestand van een apparaat naar Blob Storage te uploaden.

const string filePath = "TestPayload.txt";
using var fileStreamSource = new FileStream(filePath, FileMode.Open);
var fileName = Path.GetFileName(fileStreamSource.Name);
var fileUploadSasUriRequest = new FileUploadSasUriRequest
{
    BlobName = fileName
};

FileUploadSasUriResponse sasUri = await _deviceClient.GetFileUploadSasUriAsync(fileUploadSasUriRequest, System.Threading.CancellationToken cancellationToken = default);
Uri uploadUri = sasUri.GetBlobUri();

Een bestand uploaden naar Azure Storage

Een bestand uploaden naar Azure Storage:

  1. Maak een blockBlobClient-object en geef een URI voor het uploaden van bestanden door.

  2. Gebruik de methode UploadAsync om een bestand te uploaden naar Blob Storage, waarbij de SAS-URI wordt doorgegeven. U kunt desgewenst opties voor blobuploads en annuleringstokenparameters toevoegen.

De Azure Blob-client gebruikt altijd HTTPS als protocol om het bestand te uploaden naar Azure Storage.

In dit voorbeeld BlockBlobClient wordt de SAS-URI doorgegeven om een Azure Storage-blok-blobclient te maken en het bestand te uploaden:

var blockBlobClient = new BlockBlobClient(uploadUri);
await blockBlobClient.UploadAsync(fileStreamSource, null, null);

IoT Hub informeren over de uploadstatus van het bestand

Gebruik CompleteFileUploadAsync om De IoT-hub op de hoogte te stellen dat de apparaatclient het uploaden heeft voltooid, waarbij een FileUploadCompletionNotification-object wordt doorgegeven. De IsSuccess vlag geeft aan of het uploaden wel of niet is gelukt. Na een melding geeft IoT Hub resources vrij die zijn gekoppeld aan het uploaden (de SAS-URI).

Als meldingen voor het uploaden van bestanden zijn ingeschakeld, verzendt IoT Hub een meldingsbericht voor het uploaden van bestanden naar back-endservices die zijn geconfigureerd voor melding over het uploaden van bestanden.

var successfulFileUploadCompletionNotification = new FileUploadCompletionNotification
{
    // Mandatory. Must be the same value as the correlation id returned in the sas uri response
    CorrelationId = sasUri.CorrelationId,

    // Mandatory. Will be present when service client receives this file upload notification
    IsSuccess = true,

    // Optional, user defined status code. Will be present when service client receives this file upload notification
    StatusCode = 200,

    // Optional, user-defined status description. Will be present when service client receives this file upload notification
    StatusDescription = "Success"
};

await _deviceClient.CompleteFileUploadAsync(successfulFileUploadCompletionNotification);

Voorbeeld van het uploaden van SDK-bestanden

De SDK bevat dit voorbeeld van het uploaden van bestanden.

Een melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

U kunt een back-endservice maken om meldingsberichten over het uploaden van bestanden van IoT Hub te ontvangen.

De ServiceClient-klasse bevat methoden die services kunnen gebruiken om meldingen over het uploaden van bestanden te ontvangen.

Meldingen voor het uploaden van bestanden ontvangen:

  1. Roep CreateFromConnectionString aan om verbinding te maken met IoT Hub. Geef de primaire verbindingsreeks van de IoT-hub door.
  2. Maak een CancellationToken.
  3. Roep GetFileNotificationReceiver aan om een meldingsontvanger te maken.
  4. Gebruik een lus met ReceiveAsync om te wachten op de melding voor het uploaden van bestanden.

Voorbeeld:

using Microsoft.Azure.Devices;
static ServiceClient serviceClient;
static string connectionString = "{IoT hub connection string}";
serviceClient = ServiceClient.CreateFromConnectionString(connectionString);

// Define the cancellation token
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;

// Create a notification receiver
var notificationReceiver = serviceClient.GetFileNotificationReceiver();
Console.WriteLine("\nReceiving file upload notification from service");

// Check for file upload notifications
while (true)
{
    var fileUploadNotification = await notificationReceiver.ReceiveAsync(token);
    if (fileUploadNotification == null) continue;
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.WriteLine("Received file upload notification: {0}", 
        string.Join(", ", fileUploadNotification.BlobName));
    Console.ResetColor();
    await notificationReceiver.CompleteAsync(fileUploadNotification);
}

Overzicht

Deze procedure bevat twee secties:

  • Een bestand uploaden vanuit een apparaattoepassing
  • Melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

Een bestand uploaden vanuit een apparaattoepassing

In deze sectie wordt beschreven hoe u een bestand uploadt van een apparaat naar een IoT-hub met behulp van de DeviceClient-klasse van de Azure IoT SDK voor Java.

Volg deze procedure om een bestand van een apparaat naar IoT Hub te uploaden:

  1. Verbinding maken met het apparaat
  2. Een SAS-URI ophalen uit IoT-hub
  3. Het bestand uploaden naar Azure Storage
  4. Statusmelding voor het uploaden van bestanden verzenden naar IoT Hub

Verbindingsprotocol

Bestandsuploadbewerkingen maken altijd gebruik van HTTPS, maar DeviceClient kan het IotHubClientProtocol definiëren voor andere services, zoals telemetrie, apparaatmethode en apparaatdubbel.

IotHubClientProtocol protocol = IotHubClientProtocol.MQTT;

Verbinding maken met het apparaat

Instantieer het DeviceClient apparaat om verbinding te maken met het apparaat met behulp van het primaire verbindingsreeks van het apparaat.

String connString = "{IoT hub connection string}";
DeviceClient client = new DeviceClient(connString, protocol);

Een SAS-URI ophalen uit IoT-hub

Roep getFileUploadSasUri aan om een FileUploadSasUriResponse-object te verkrijgen.

FileUploadSasUriResponse bevat deze methoden en retourwaarden. De retourwaarden kunnen worden doorgegeven aan bestandsuploadmethoden.

Wijze Retourwaarde
getCorrelationId() Correlatie-id
getContainerName() Containernaam
getBlobName() Blobnaam
getBlobUri() Blob-URI

Voorbeeld:

FileUploadSasUriResponse sasUriResponse = client.getFileUploadSasUri(new FileUploadSasUriRequest(file.getName()));

System.out.println("Successfully got SAS URI from IoT hub");
System.out.println("Correlation Id: " + sasUriResponse.getCorrelationId());
System.out.println("Container name: " + sasUriResponse.getContainerName());
System.out.println("Blob name: " + sasUriResponse.getBlobName());
System.out.println("Blob Uri: " + sasUriResponse.getBlobUri());

Het bestand uploaden naar Azure Storage

Geef het blob-URI-eindpunt door aan BlobClientBuilder.buildclient om het BlobClient-object te maken.

BlobClient blobClient =
    new BlobClientBuilder()
        .endpoint(sasUriResponse.getBlobUri().toString())
        .buildClient();

Roep uploadFromFile aan om het bestand te uploaden naar Blob Storage.

String fullFileName = "Path of the file to upload";
blobClient.uploadFromFile(fullFileName);

Statusmelding voor het uploaden van bestanden verzenden naar IoT Hub

Verzend een uploadstatusmelding naar IoT Hub na een poging om een bestand te uploaden.

Maak een FileUploadCompletionNotification-object . Geef de geslaagde status van het uploaden van isSuccess bestanden correlationId door. Geef een isSuccess true waarde door wanneer het uploaden van bestanden is geslaagd, false wanneer dat niet het resultaat is.

FileUploadCompletionNotification moet worden aangeroepen, zelfs wanneer het uploaden van het bestand mislukt. IoT Hub heeft een vast aantal SAS-URI's dat op elk gewenst moment actief mag zijn. Zodra u klaar bent met het uploaden van het bestand, moet u uw SAS-URI vrijmaken, zodat andere SAS-URI's kunnen worden gegenereerd. Als een SAS-URI niet via deze API wordt vrijgemaakt, wordt deze uiteindelijk vrijgemaakt op basis van hoe lang SAS-URI's zijn geconfigureerd voor live op een IoT-hub.

In dit voorbeeld wordt een geslaagde status doorgegeven.

FileUploadCompletionNotification completionNotification = new FileUploadCompletionNotification(sasUriResponse.getCorrelationId(), true);
client.completeFileUpload(completionNotification);

Sluit de client

Maak de client resources vrij.

client.closeNow();

Een melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

U kunt een back-endtoepassing maken om uploadmeldingen voor bestanden te ontvangen.

Een toepassing voor het uploaden van bestanden maken:

  1. Verbinding maken met de IoT Hub-serviceclient
  2. Controleren op een melding over het uploaden van bestanden

De ServiceClient-klasse bevat methoden die services kunnen gebruiken om meldingen over het uploaden van bestanden te ontvangen.

Verbinding maken met de IoT Hub-serviceclient

Maak een IotHubServiceClientProtocol object. De verbinding maakt gebruik van het AMQPS protocol.

Aanroepen createFromConnectionString om verbinding te maken met IoT Hub. Geef de primaire verbindingsreeks van de IoT-hub door.

private static final String connectionString = "{IoT hub primary connection string}";
private static final IotHubServiceClientProtocol protocol = IotHubServiceClientProtocol.AMQPS;
ServiceClient sc = ServiceClient.createFromConnectionString(connectionString, protocol);

Controleren op de status van het uploaden van bestanden

Controleren op de status van het uploaden van bestanden:

  1. Maak een getFileUploadNotificationReceiver-object .
  2. Open gebruiken om verbinding te maken met IoT Hub.
  3. Oproep ontvangen om te controleren op de status van het uploaden van bestanden. Met deze methode wordt een fileUploadNotification-object geretourneerd. Als er een uploadmelding wordt ontvangen, kunt u uploadstatusvelden weergeven met behulp van fileUploadNotification-methoden .

Voorbeeld:

FileUploadNotificationReceiver receiver = sc.getFileUploadNotificationReceiver();
receiver.open();
FileUploadNotification fileUploadNotification = receiver.receive(2000);

if (fileUploadNotification != null)
{
    System.out.println("File Upload notification received");
    System.out.println("Device Id : " + fileUploadNotification.getDeviceId());
    System.out.println("Blob Uri: " + fileUploadNotification.getBlobUri());
    System.out.println("Blob Name: " + fileUploadNotification.getBlobName());
    System.out.println("Last Updated : " + fileUploadNotification.getLastUpdatedTimeDate());
    System.out.println("Blob Size (Bytes): " + fileUploadNotification.getBlobSizeInBytes());
    System.out.println("Enqueued Time: " + fileUploadNotification.getEnqueuedTimeUtcDate());
}
else
{
    System.out.println("No file upload notification");
}

// Close the receiver object
receiver.close();

Voorbeelden voor het uploaden van SDK-bestanden

Er zijn twee Voorbeelden voor het uploaden van Java-bestanden.

Pakketten installeren

De bibliotheek azure-iot-device moet worden geïnstalleerd voordat u gerelateerde code aanroept.

pip install azure-iot-device

Het pakket azure.storage.blob wordt gebruikt om het uploaden van bestanden uit te voeren.

pip install azure.storage.blob

Bestand uploaden vanuit een apparaattoepassing

In deze sectie wordt beschreven hoe u een bestand uploadt van een apparaat naar een IoT-hub met behulp van de IoTHubDeviceClient-klasse van de Azure IoT SDK voor Python.

Volg deze procedure om een bestand van een apparaat naar IoT Hub te uploaden:

  1. Verbinding maken met het apparaat
  2. Blob Storage-gegevens ophalen
  3. Het bestand uploaden naar Blob Storage
  4. IoT Hub informeren over de uploadstatus

Bibliotheken importeren

import os
from azure.iot.device import IoTHubDeviceClient
from azure.core.exceptions import AzureError
from azure.storage.blob import BlobClient

Verbinding maken met het apparaat

Verbinding maken met het apparaat:

  1. Roep create_from_connection_string aan om het primaire verbindingsreeks van het apparaat toe te voegen.

  2. Roep verbinding aan om verbinding te maken met de apparaatclient.

Voorbeeld:

# Add your IoT hub primary connection string
CONNECTION_STRING = "{Device primary connection string}"
device_client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING)

# Connect the client
device_client.connect()

Blob Storage-gegevens ophalen

Roep get_storage_info_for_blob aan om informatie op te halen uit een IoT-hub over een gekoppeld Azure Storage-account. Deze informatie omvat de hostnaam, containernaam, blobnaam en een SAS-token. De get_storage_info_for_blob methode retourneert ook een correlation_id, die wordt gebruikt in de notify_blob_upload_status methode. Het correlation_id is de manier waarop IoT Hub markeert aan welke blob u werkt.

# Get the storage info for the blob
PATH_TO_FILE = "{Full path to local file}"
blob_name = os.path.basename(PATH_TO_FILE)
blob_info = device_client.get_storage_info_for_blob(blob_name)

Een bestand uploaden naar Blob Storage

Een bestand uploaden naar Blob Storage:

  1. Gebruik from_blob_url om een BlobClient-object te maken op basis van een blob-URL.
  2. Roep upload_blob aan om het bestand te uploaden naar de Blob Storage.

In dit voorbeeld wordt de blob_info structuur geparseerd om een URL te maken die wordt gebruikt om een BlobClient te initialiseren. Vervolgens wordt het aanroepen upload_blob om het bestand te uploaden naar Blob Storage.

try:
    sas_url = "https://{}/{}/{}{}".format(
        blob_info["hostName"],
        blob_info["containerName"],
        blob_info["blobName"],
        blob_info["sasToken"]
    )

    print("\nUploading file: {} to Azure Storage as blob: {} in container {}\n".format(file_name, blob_info["blobName"], blob_info["containerName"]))

    # Upload the specified file
    with BlobClient.from_blob_url(sas_url) as blob_client:
        with open(file_name, "rb") as f:
            result = blob_client.upload_blob(f, overwrite=True)
            return (True, result)

except FileNotFoundError as ex:
    # catch file not found and add an HTTP status code to return in notification to IoT hub
    ex.status_code = 404
    return (False, ex)

except AzureError as ex:
    # catch Azure errors that might result from the upload operation
    return (False, ex)

IoT Hub informeren over de uploadstatus

Gebruik notify_blob_upload_status om IoT Hub op de hoogte te stellen van de status van de Blob Storage-bewerking. Geef de correlation_id verkregen door de get_storage_info_for_blob methode door. De correlation_id service wordt door IoT Hub gebruikt om een service op de hoogte te stellen die mogelijk luistert naar een melding met betrekking tot de status van de bestandsuploadtaak.

In dit voorbeeld wordt de IoT-hub op de hoogte gemaakt van een geslaagde bestandsupload:

device_client.notify_blob_upload_status(storage_info["correlationId"], True, 200, "OK: {}".format(PATH_TO_FILE)

De apparaatclient afsluiten

Sluit de client af. Zodra deze methode is aangeroepen, resulteert elke poging tot verdere clientoproepen dat een ClientError wordt gegenereerd.

device_client.shutdown()

Voorbeelden voor het uploaden van SDK-bestanden

De SDK bevat twee voorbeelden voor het uploaden van bestanden:

Overzicht

Deze procedure bevat twee secties:

  • Een bestand uploaden vanuit een apparaattoepassing
  • Melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

Een bestand uploaden vanuit een apparaattoepassing

In deze sectie wordt beschreven hoe u een bestand uploadt van een apparaat naar een IoT-hub met behulp van het azure-iot-device-pakket in de Azure IoT SDK voor Node.js.

SDK-pakketten installeren

Voer deze opdracht uit om de SDK voor azure-iot-device device, azure-iot-device-mqtt en de @azure/storage-blob-pakketten op uw ontwikkelcomputer te installeren:

npm install azure-iot-device azure-iot-device-mqtt @azure/storage-blob --save

Het pakket azure-iot-device bevat objecten die interface hebben met IoT-apparaten.

Volg deze procedure voor het uploaden van een bestand van een apparaat naar IoT Hub:

  1. Handtekeningen voor gedeelde toegang voor blob ophalen
  2. Het bestand uploaden naar Azure Storage
  3. Statusmelding voor het uploaden van bestanden verzenden naar IoT Hub

Modules maken

Maak client-, protocol-, fouten- en padmodules met behulp van de geïnstalleerde pakketten.

const Client = require('azure-iot-device').Client;
const Protocol = require('azure-iot-device-mqtt').Mqtt;
const errors = require('azure-iot-common').errors;
const path = require('path');

Een SAS-URI ophalen uit IoT-hub

Gebruik getBlobSharedAccessSignature om het SAS-token voor het gekoppelde opslagaccount op te halen uit de IoT-hub. Zoals beschreven in vereisten, wordt de IoT-hub gekoppeld aan de Blob Storage.

Voorbeeld:

// make sure you set these environment variables prior to running the sample.
const localFilePath = process.env.PATH_TO_FILE;
const storageBlobName = path.basename(localFilePath);
const blobInfo = await client.getBlobSharedAccessSignature(storageBlobName);
if (!blobInfo) {
throw new errors.ArgumentError('Invalid upload parameters');
}

Het bestand uploaden naar IoT Hub

Een bestand uploaden van een apparaat naar IoT Hub:

  1. Een stroompijplijn maken
  2. De blob-URL maken
  3. Een BlockBlobClient maken voor het uploaden van bestanden naar Blob Storage
  4. UploadFile aanroepen om het bestand te uploaden naar Blob Storage
  5. Call notifyBlobUploadStatus om IoT Hub op de hoogte te stellen dat het uploaden is geslaagd of mislukt

Voorbeeld:

// Open the pipeline
const pipeline = newPipeline(new AnonymousCredential(), {
retryOptions: { maxTries: 4 },
telemetry: { value: 'HighLevelSample V1.0.0' }, // Customized telemetry string
keepAliveOptions: { enable: false }
});

// Construct the blob URL
const { hostName, containerName, blobName, sasToken } = blobInfo;
const blobUrl = `https://${hostName}/${containerName}/${blobName}${sasToken}`;

// Create the BlockBlobClient for file upload to Blob Storage
const blobClient = new BlockBlobClient(blobUrl, pipeline);

// Setup blank status notification arguments to be filled in on success/failure
let isSuccess;
let statusCode;
let statusDescription;

const uploadStatus = await blobClient.uploadFile(localFilePath);
console.log('uploadStreamToBlockBlob success');

  try {
    const uploadStatus = await blobClient.uploadFile(localFilePath);
    console.log('uploadStreamToBlockBlob success');

    // Save successful status notification arguments
    isSuccess = true;
    statusCode = uploadStatus._response.status;
    statusDescription = uploadStatus._response.bodyAsText;

    // Notify IoT hub of upload to blob status (success)
    console.log('notifyBlobUploadStatus success');
  }
  catch (err) {
    isSuccess = false;
    statusCode = err.code;
    statusDescription = err.message;

    console.log('notifyBlobUploadStatus failed');
    console.log(err);
  }

// Send file upload status notification to IoT hub
await client.notifyBlobUploadStatus(blobInfo.correlationId, isSuccess, statusCode, statusDescription);

Melding voor het uploaden van bestanden ontvangen in een back-endtoepassing

U kunt een back-endtoepassing maken om de IoT Hub-serviceclient te controleren op uploadmeldingen voor apparaatbestanden.

Een toepassing voor het uploaden van bestanden maken:

  1. Verbinding maken met de IoT Hub-serviceclient
  2. Controleren op een melding over het uploaden van bestanden

Verbinding maken met de IoT Hub-serviceclient

De ServiceClient-klasse bevat methoden die services kunnen gebruiken om meldingen over het uploaden van bestanden te ontvangen.

Verbinding maken met IoT-hub met behulp van fromConnectionString. Geef de primaire verbindingsreeks van de IoT-hub door.

const Client = require('azure-iothub').Client;
const connectionString = "{IoT hub primary connection string}";
const serviceClient = Client.fromConnectionString(connectionString);

Open de verbinding met IoT Hub.

//Open the connection to IoT hub
serviceClient.open(function (err) {
  if (err) {
    console.error('Could not connect: ' + err.message);
  } else {
    console.log('Service client connected');

Controleren op een melding over het uploaden van bestanden

Controleren op meldingen voor het uploaden van bestanden:

  1. Roep getFileNotificationReceiver aan. Geef de naam op van een callback-methode voor het uploaden van bestanden die worden aangeroepen wanneer meldingsberichten worden ontvangen.
  2. Meldingen voor het uploaden van bestanden verwerken in de callback-methode.

In dit voorbeeld wordt een ontvanger voor het terugbellen van meldingen receiveFileUploadNotification ingesteld. De ontvanger interpreteert de statusinformatie voor het uploaden van bestanden en drukt een statusbericht af op de console.

//Set up the receiveFileUploadNotification notification message callback receiver
serviceClient.getFileNotificationReceiver(function receiveFileUploadNotification(err, receiver){
if (err) {
  console.error('error getting the file notification receiver: ' + err.toString());
} else {
  receiver.on('message', function (msg) {
    console.log('File upload from device:')
    console.log(msg.getData().toString('utf-8'));
    receiver.complete(msg, function (err) {
      if (err) {
        console.error('Could not finish the upload: ' + err.message);
      } else {
        console.log('Upload complete');
      }
    });
  });
}

Voorbeeld van het uploaden van SDK-bestanden

De SDK bevat een upload naar een geavanceerd blobvoorbeeld.