Android上可以使用Azure IoT Java SDK的FileUpload功能吗?

问题描述 投票:0回答:3

我们一直在尝试在Android上使用Azure IoT SDK for Java(通过Kotlin)来启动blob文件上传。收到SAS令牌并调用CloudBlockBlob构造函数后,该过程似乎挂起。

因此,我尝试直接调用构造函数,并依靠Azure Storage SDK v.2.2(令人惊讶的旧版本)依赖于javax.xml.stream.XMLOutputFactoryjavax库AFAIK不易在Android上集成。

有一个单独的Android存储SDK(可能没有这些依赖关系),但除了IoT SDK之外,还可以理解为导致大量的Duplicate Class错误。

这是怎么回事?使用Azure IoT SDK for Java,并将存储SDK参考替换为Android版本?

android azure azure-storage azure-iot-hub azure-java-sdk
3个回答
0
投票

在app中的build.gradle中,请使用azure-storage-android替换azure-storage,如下所示:

implementation ('com.microsoft.azure.sdk.iot:iot-device-client:1.14.2'){
    exclude module: 'azure-storage'
}
implementation ('com.microsoft.azure.android:azure-storage-android:2.0.0@aar')
implementation ('org.apache.commons:commons-lang3:3.6') 

这在我们的样本中记录:https://github.com/Azure-Samples/azure-iot-samples-java/edit/master/iot-hub/Samples/device/AndroidSample/app/build.gradle

如果您通过提交GitHub问题here遇到更多问题,请告诉我们。


0
投票

我还没有尝试过azure IOT,但我已经读过关于他们宣布SDK supports android now的消息。他们甚至有一个sample,还有一个写得很好的quick start。对于安装,他们甚至有他们的github的说明。


0
投票

您可以使用REST API调用来上载具有Azure IoT Hub支持的blob文件。有3个步骤,请参阅我的答案here

© www.soinside.com 2019 - 2024. All rights reserved.