私のストレージキューに次のエラーが表示されます(BLOBではありません - 私のC++アプリケーションからAzureストレージにメッセージをプッシュすると、 :Azureキューのボディが大きすぎ、最大許容限度を超えています
リクエストボディが大きすぎ、最大許容値を超えています。
私は恐らくjsonを減らす必要があることを知っていますが、他に何か提案がありますか? (増加メッセージサイズのようにどこか?)
私のストレージキューに次のエラーが表示されます(BLOBではありません - 私のC++アプリケーションからAzureストレージにメッセージをプッシュすると、 :Azureキューのボディが大きすぎ、最大許容限度を超えています
リクエストボディが大きすぎ、最大許容値を超えています。
私は恐らくjsonを減らす必要があることを知っていますが、他に何か提案がありますか? (増加メッセージサイズのようにどこか?)
Azureストレージキュー内のメッセージの最大サイズある64キロバイト(48キロバイト Base64エンコードを使用)、最新のAzureストレージサービスの制限文書などに基づいて以下。
これは設定できません。現時点では、Azureのサポートも要求に応じてサイズを増やすことはありません。
https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#storage-limits
私は、例えば、あなたのJSONメッセージのサイズを小さくすることができ提案しますJSON minify
他にも述べたように、Azureストレージキューのメッセージサイズ制限(64K)は厳しい制限です。
エンコード以外に、この制限を回避する最も一般的なパターンは、ではありません。キューメッセージにペイロードを格納します。 Blobストレージのようなものに格納し、メッセージタイプ&メタデータ(必要な場合)と、処理するペイロードを含むBLOBを指すURIだけを格納します。
このパターンに従い、ペイロードにBLOBストレージを使用することで、有効なペイロードサイズは4 TB以上になります。また、必要に応じてペイロードを保持する機能もあります(キューメッセージは処理後に削除されます)。
もう1つ追加する:AzureはUTF-16エンコーディングを使用してデータを格納します(つまり、各文字を格納するために2バイトを使用します)ので、メッセージサイズは基本的に32KBに制限されます。 –
こんにちは@GauravMantri、AzureストレージキューメッセージがUTF-16エンコーディングを使用していると言及している文書はありますか?ありがとうございます – juvchan
私はどこかでそれを読んで覚えていますが、私はそれを見つけることができません。しかし、私はそれを自分で試してみましたが、サイズが32KBを超える文字列/バイト配列に対してこのエラーが発生しました。 –