Cihazlarınızdan buluta dosya yükleme

IoT Central, bağlı cihazlardan bulut depolama alanına medya ve diğer dosyaları yüklemenizi sağlar. IoT Central uygulamanızda dosya karşıya yükleme özelliğini yapılandırıp cihaz kodunuzda dosya yüklemelerini uygularsınız.

İsteğe bağlı olarak, IoT Central uygulamanızda cihazlarınız tarafından karşıya yüklenen dosyaları yönetebilir ve önizleyebilirsiniz.

IoT Central REST API'sini kullanarak dosya yüklemelerini yapılandırmayı öğrenmek için bkz . Karşıya dosya yükleme depolama hesabı yapılandırması ekleme.

Önkoşullar

Dosya yüklemelerini yapılandırmak için IoT Central uygulamanızda yönetici olmanız gerekir.

Karşıya yüklenen dosyaları depolamak için bir Azure depolama hesabına ve kapsayıcısına ihtiyacınız vardır. Kullanılacak bir depolama hesabınız ve kapsayıcınız yoksa Azure portalında yeni bir depolama hesabı oluşturun.

Cihaz dosyası yüklemelerini yapılandırma

Cihaz dosyası yüklemelerini yapılandırmak için:

  1. Uygulamanızdaki Uygulama bölümüne gidin.

  2. Cihaz dosya depolama'yı seçin.

  3. Kullanılacak depolama hesabını ve kapsayıcıyı seçin. Depolama hesabı uygulamanızdan farklı bir Azure aboneliğindeyse bağlantı dizesi bir depolama hesabı girin.

  4. Gerekirse, karşıya yükleme isteğinin ne kadar süreyle geçerli kalacağını ayarlayan karşıya yükleme zaman aşımını ayarlayın. Geçerli değerler 1 ile 24 saat arasındadır.

  5. Kullanıcıların IoT Central'da karşıya yüklenen dosyaları görüntülemesini ve yönetmesini sağlamak için Erişimi etkinleştir'i Açık olarak ayarlayın.

  6. Kaydet'i seçin. Durum Yapılandırıldı olarak gösterildiğinde, cihazlardan dosya yüklemeye hazırsınız demektir.

Düzgün yapılandırılmış bir dosya yükleme işlemini gösteren ekran görüntüsü.

Cihaz dosyası karşıya yüklemelerini devre dışı bırakma

IoT Central uygulamanıza cihaz dosyası yüklemelerini devre dışı bırakmak istiyorsanız:

  1. Uygulamanızdaki Uygulama bölümüne gidin.

  2. Cihaz dosya depolama'yı seçin.

  3. Sil'i seçin.

Karşıya yüklenen dosyalara erişimi denetleme

Karşıya yüklenen dosyaları kimlerin görüntüleyebileceğini ve silebileceğini denetlemek için rolleri ve izinleri kullanın. Daha fazla bilgi edinmek için bkz . IoT Central uygulamanızda > kullanıcıları ve rolleri yönetme Cihazları yönetme.

Cihazdan dosya yükleme

IoT Central, cihazların dosyaları karşıya yüklemesini sağlamak için IoT Hub'ın dosya yükleme özelliğini kullanır. Bir cihazdan nasıl dosya yükleyebileceğinizi gösteren örnek kod için IoT Central dosya yükleme cihazı örneğine bakın.

Karşıya yüklenen dosyaları görüntüleme ve yönetme

Dosya yükleme yapılandırmasında dosyalara erişimi etkinleştirdiyseniz, doğru izinlere sahip kullanıcılar karşıya yüklenen dosyaları görüntüleyebilir ve silebilir.

Önemli

Bir cihazla ilişkilendirilmiş blob kapsayıcı klasöründeki tüm dosyalar, bu cihazın Dosyalar görünümünde görünür. Bu, cihaz tarafından karşıya yüklenmemiş tüm dosyaları içerir.

Karşıya yüklenen dosyaları görüntülemek ve silmek için bir cihazın Dosyalar görünümüne gidin. Bu sayfada, karşıya yüklenen dosyaların küçük resimlerini görebilir ve galeri ile liste görünümü arasında geçiş yapabilirsiniz. Her dosyanın indirme veya silme seçenekleri vardır:

Karşıya yüklenen dosyalar için galeri görünümünü gösteren ekran görüntüsü.

İpucu

Dosya türü, blob depolamaya yüklendiğinde dosyaya atanan mime türüne göre belirlenir. Varsayılan tür: binary/octet-stream.

Dosya adına göre filtreleme yaparak ve görüntülenecek sütunları seçerek liste görünümünü özelleştirebilirsiniz.

Dosyanın içeriğini önizlemek ve dosya hakkında daha fazla bilgi edinmek için seçin. IoT Central, metin ve resimler gibi yaygın dosya türlerinin önizlemelerini destekler:

Metin dosyasının önizlemesini gösteren ekran görüntüsü.

Test dosyası karşıya yükleme

IoT Central uygulamanızda dosya yüklemelerini yapılandırdıktan sonra örnek kodla test edebilirsiniz. Dosya yükleme örnek deposunu henüz kopyalamadıysanız, aşağıdaki komutları kullanarak yerel makinenizde uygun bir konuma kopyalayın ve bağımlı paketleri yükleyin:

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

Cihaz şablonunu oluşturma ve modeli içeri aktarma

Dosya yüklemesini test etmek için örnek bir cihaz uygulaması çalıştırırsınız. Kullanılacak örnek cihaz için bir cihaz şablonu oluşturun.

  1. Uygulamanızı IoT Central kullanıcı arabiriminde açın.

  2. Sol bölmedeki Cihaz Şablonları sekmesine gidin ve + Yeni'yi seçin:

  3. Şablon türü olarak IoT cihazı'nı seçin.

  4. Sihirbazın Özelleştir sayfasında, cihaz şablonu için Dosya Yükleme Cihazı Örneği gibi bir ad girin.

  5. Gözden Geçir sayfasında Oluştur'u seçin.

  6. Modeli içeri aktar'ı seçin ve daha önce indirdiğiniz depodaki klasörden iotc-file-upload-device\setup FileUploadDeviceDcm.json model dosyasını karşıya yükleyin.

  7. Cihaz şablonunu yayımlamak için Yayımla'yı seçin.

Cihaz ekleme

Azure IoT Central uygulamanıza cihaz eklemek için:

  1. Sol bölmede Cihazlar'ı seçin.

  2. Daha önce oluşturduğunuz Dosya Yükleme Cihazı Örneği cihaz şablonunu seçin.

  3. + Yeni'yi ve ardından Oluştur'u seçin.

  4. Oluşturduğunuz cihazı seçin ve Bağlan'ı seçin

, Device IDve Primary keydeğerlerini ID scopekopyalayın. Bu değerleri cihaz örnek kodunda kullanırsınız.

Örnek kodu çalıştırma

VS Code'da indirdiğiniz git deposunu açın. Projenizin kökünde bir ".env" dosyası oluşturun ve daha önce kopyaladığınız değerleri ekleyin. Dosya, daha önce not aldığınız değerlerle aşağıdaki örneğe benzemelidir.

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

VS Code'da indirdiğiniz git deposunu açın. Örneği çalıştırmak/hatalarını ayıklamak için F5 tuşuna basın. Terminal pencerenizde cihazın kayıtlı olduğunu ve IoT Central'a bağlı olduğunu görürsünüz:

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

Örnek proje, datafile.json adlı bir örnek dosyayla birlikte gelir. Bu dosya, IoT Central uygulamanızda Dosyayı Karşıya Yükle komutunu kullandığınızda karşıya yüklenir.

Karşıya yüklemeyi test etmek için uygulamanızı açın ve oluşturduğunuz cihazı seçin. Komut sekmesini seçtiğinizde Çalıştır adlı bir düğme görürsünüz. Bu düğmeyi seçtiğinizde IoT Central uygulaması, dosyayı karşıya yüklemek için cihazınızda doğrudan bir yöntem çağırır. Bu doğrudan yöntemi /device.ts dosyasındaki örnek kodda görebilirsiniz. yöntemi uploadFileCommand olarak adlandırılır.

Dosyanın karşıya yükleme durumunu doğrulamak için Ham veri sekmesini seçin.

Dosya yüklemesinin nasıl doğrulanmasıyla ilgili U I'yi gösteren ekran görüntüsü.

Depolama kapsayıcısında karşıya dosya yükleme durumunu doğrulamak için bir REST API çağrısı da yapabilirsiniz.