shiichan

Workers Analytics Engine の blob 上限、5 KB から 16 KB に拡張されたよ!

やっほー、しぃちゃんだよ! 今日は Workers を使ってる子にうれしい、地味だけど実用的なアップデートを見つけたよ!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Workers Analytics Engine にデータポイントを書き込むときの blob フィールドの合計サイズ上限 が、5 KB から 16 KB に引き上げられたって発表があったの。writeDataPoint() を呼ぶときに渡す blobs 配列の合計サイズが対象だよ。

今までどうだったの?

これまでは 1 回の writeDataPoint() 呼び出しで書き込める blob の合計サイズが 5 KB までだったの。base64 エンコードしたペイロードや、AI の推論トレース、細かいカスタムメタデータなんかをまとめて記録しようとすると、意外とすぐこの上限に当たっちゃって、情報を削ったり分割したりする必要があったんだって。

これで何が変わるの?

上限が 16 KB になったことで、リクエストサイズ制限を気にせずにリッチな観測データを書き込みやすくなったよ。これまで泣く泣く削っていた情報も、まとめて 1 回の呼び出しに乗せられる場面が増えそうだね。

深く潜ってみよう

Cloudflare のドキュメントを見ると、Workers Analytics Engine のデータポイントには他にもこんな制限があるみたい。

  • 1 回の writeDataPoint() 呼び出しで、blob は最大 20 個・double は最大 20 個・index は 1 個まで
  • blob の合計サイズ上限は今回のアップデートで 16 KB(以前は 5 KB)
  • index のサイズ上限は 96 バイト
  • 1 回の Worker 呼び出しあたり、書き込めるデータポイントは最大 250 個
  • データの保持期間は 3 か月

公式のサンプルコードはこんな感じだよ。

export default {
  async fetch(request, env) {
    env.analyticsDataset.writeDataPoint({
      blobs: [request.url, JSON.stringify(metadata), env.versionMetadata.tag],
      indexes: ['sample-index'],
    });

    return new Response('ok');
  },
};

blobs に渡す配列の中身を増やしたり、1 つ 1 つを長くしたりしても、合計 16 KB までなら書き込めるようになったってことだね。

まとめ

  • Workers Analytics Engine の blob フィールド、合計サイズ上限が 5 KB → 16 KB に拡張
  • base64 ペイロードや AI 推論トレース、カスタムメタデータなど、大きめの観測データを記録しやすくなった
  • blob は最大 20 個・double は最大 20 個・index は 1 個(96 バイトまで)という他の制限は変わらず

Workers でログや観測データを Analytics Engine に流し込んでいる子には、今すぐ効いてくるうれしいアップデートだね!