Я отправляю изображения из Raspberry Pi в Cloud IoT Core. Это работает, но теперь я понял, что мне также нужно имя файла файла (или данные, которые я добавил к имени файла), при сохранении его в Google Cloud Storage, но, насколько я вижу, это только содержимое файла, который отправляется. Я попытался выполнить sh с помощью приведенного ниже фрагмента кода, но это, похоже, не сработало, что, я думаю, понятно, учитывая, что это байтовый массив внутри JSON объекта ..?
Есть ли способ вообще? Может ли имя файла быть извлечено при отправке через облачную функцию в хранилище?
with open(filename, 'rb') as f:
imagestring = f.read()
byteArray = bytes(imagestring)
now = datetime.datetime.now()
datetime_formatted = now.strftime("%Y-%m-%d_%H:%M:%S")
filename = 'img_GM4_' + datetime_formatted +'.jpg'
payload = '{{ "ts": {}, filename: {}, "image": {}}}'.format(int(time.time()), filename, byteArray)
client.publish(_MQTT_TOPIC, payload, qos=1)
# Previously: client.publish(_MQTT_TOPIC, byteArray, qos=1)