2016-03-25 15 views
3

У меня есть требование отправить xml-файлы между двумя серверами. Эти файлы могут быть до 1 МБ.Как вы отправляете XML-файлы с использованием очереди хранения Azure?

Я рассматривал использование очереди хранения Azure в качестве промежуточного адресата для этих файлов, но прочитал, что существует ограничение на размер сообщения размером 64 КБ. Я бы предположил, что требование отправлять сообщения объемом более 64 КБ не является чем-то необычным.

Есть ли способ обойти границу? Возможно, сжатие?

ответ

5

Очередь не является хранилищем.

Сохраните полезную нагрузку в хранилище azure blob, затем отправьте сообщение в очередь со ссылкой на blob.

+0

Да, это имеет смысл! – wingyip

1

Во-первых, Azure Storage Queue не предназначен для хранения файлов. Очереди хранения предназначены для отправки сообщений. Да, есть несколько небольших ограничений размера сообщений по соображениям производительности.

Есть ли способ обойти границу?

Azure Storage Queue не предназначен для отправки больших объемов данных в виде сообщений. Чтобы отправлять большие объемы данных, вам нужно будет хранить их где-нибудь, как в учетной записи Azure Storage, указателем на местоположение, где файл хранится в сообщении, отправленном в очередь хранения Azure. Это позволяет приложению-отправителю обернуть все так, чтобы приложение-получатель получало сообщение и могло определить, где находится соответствующий файл.

Сжатие возможно?

Использование сжатия, чтобы уменьшить размер файла в пределах ограничения количества сообщений, недостаточно надежный. Иногда вы можете получить файлы, которые все еще слишком велики при сжатии, и эти сообщения будут генерировать исключения при попытке отправить. Лучший способ - использовать описанный выше метод.