使用 Azure IoT SDK 为 Python 上传图像
Uploading an image with Azure IoT SDK for Python
大家好,感谢阅读本文。我想将我的 raspberry pi 中的图片上传到我的 Blob 存储。我的 Blob 存储通过图片容器链接到我的 Azure IoT 中心。为实现这一点,我正在使用 Azure IoT SDK for Python,现在我不知道应该如何设置我的图像格式。我做了一些研究,显然当您将图片上传到 Blob 时,它应该在字节数组中?我尝试了多种格式,但都没有成功。我在本地存储了图像,想将其作为内容传递。
我的代码在Python:
def upload_to_blob(filename,content):
#Upload foto naar blob
try:
iotHubClient.upload_blob_async(filename,content,len(content),blob_upload_confirmation_callback,1001)
except Exception as e:
print e
update_log('Unexpected error from IoT hub')
我在 C++ 中找到了 iotHubClient 的模拟版本
IOTHUB_CLIENT_RESULT IoTHubClient_UploadToBlobAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char* destinationFileName, const unsigned char* source, size_t size, IOTHUB_CLIENT_FILE_UPLOAD_CALLBACK iotHubClientFileUploadCallback, void* context)
在示例中,他们只展示了如何将纯文本作为文本文件上传,我似乎无法在文档中找到它。如果你能帮我打开图片,我会发送到笔记本电脑上的 blob。提前致谢 !
Python SDK 负责为您上传,因此您可以这样做:
filename = "myimage.png"
f = open("C:\Temp\myimage.png", "rb")
content = f.read()
print("IoTHubClient is uploading blob to storage")
iotHubClient.upload_blob_async(filename, content, len(content), blob_upload_confirmation_callback, 1001)
大家好,感谢阅读本文。我想将我的 raspberry pi 中的图片上传到我的 Blob 存储。我的 Blob 存储通过图片容器链接到我的 Azure IoT 中心。为实现这一点,我正在使用 Azure IoT SDK for Python,现在我不知道应该如何设置我的图像格式。我做了一些研究,显然当您将图片上传到 Blob 时,它应该在字节数组中?我尝试了多种格式,但都没有成功。我在本地存储了图像,想将其作为内容传递。
我的代码在Python:
def upload_to_blob(filename,content):
#Upload foto naar blob
try:
iotHubClient.upload_blob_async(filename,content,len(content),blob_upload_confirmation_callback,1001)
except Exception as e:
print e
update_log('Unexpected error from IoT hub')
我在 C++ 中找到了 iotHubClient 的模拟版本
IOTHUB_CLIENT_RESULT IoTHubClient_UploadToBlobAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char* destinationFileName, const unsigned char* source, size_t size, IOTHUB_CLIENT_FILE_UPLOAD_CALLBACK iotHubClientFileUploadCallback, void* context)
在示例中,他们只展示了如何将纯文本作为文本文件上传,我似乎无法在文档中找到它。如果你能帮我打开图片,我会发送到笔记本电脑上的 blob。提前致谢 !
Python SDK 负责为您上传,因此您可以这样做:
filename = "myimage.png"
f = open("C:\Temp\myimage.png", "rb")
content = f.read()
print("IoTHubClient is uploading blob to storage")
iotHubClient.upload_blob_async(filename, content, len(content), blob_upload_confirmation_callback, 1001)