0

Привет всем спасибо за это. Я хочу загрузить картинку с моего малинового pi в хранилище Blob. Мое хранилище Blob связано с моим концентратором Azure IoT с контейнером для изображений. Для этого я использую Azure IoT SDK for Python, теперь я в маринованке, как мне отформатировать изображение. Я сделал некоторые исследования и, видимо, когда вы загружаете картинку в Blob, она должна быть в байтовом массиве? Я пробовал широкий спектр форматов, но безуспешно. У меня есть изображение, хранящееся локально, и хочу передать его как контент.Загрузка изображения с помощью Azure IoT SDK для Python

Мой код в 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') 

Я нашел этот макет версию iotHubClient в C++

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) 

В образцах они только показывают, как загрузить обычный текст в текстовый файл, и я могу Кажется, он не найден в документации. Если бы вы могли мне помочь, чтобы я мог открыть картинку, я отправляю свой блокнот на свой ноутбук. Заранее спасибо !

+0

Если вы не нашли ответа на Ваш вопрос, я предлагаю вам создать проблемы здесь: https: // github.com/Azure/azure-iot-sdk-python/issues и опубликуйте номер проблемы, чтобы люди могли легко найти это здесь. –

ответ

2

Питон 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)