Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

TransformStream

最終更新 Markdown で表示Agent セットアップ

背景

トランスフォームストリームは、書き込み可能なストリーム(書き込み側)と読み取り可能なストリーム(読み取り側)のペアです。書き込み側への書き込みは、読み取り側から読める新しいデータになります。

Workers が現在実装しているのは、アイデンティティトランスフォームストリーム(identity transform stream)だけです。これは、書き込み側に書き込まれたチャンクを、変更せずに読み取り側へ転送するトランスフォームストリームです。


コンストラクター

let { readable, writable } = new TransformStream();
  • TransformStream() TransformStream

    • 新しいアイデンティティトランスフォームストリームを返します。

プロパティ

  • readable ReadableStream
    • ReadableStream のインスタンスです。
  • writable WritableStream
    • WritableStream のインスタンスです。

IdentityTransformStream

Workers プラットフォームの現在の TransformStream 実装は、Streams Standard に完全には準拠していません。まもなく実装を変更して仕様に合わせる予定です。その準備として、現在の TransformStream クラスと同じ動作をする IdentityTransformStream クラスを導入しました。このストリームは、書き込み側に書き込まれたバイトデータのチャンク(TypedArray 形式)を、変更せずに読み取り側へ転送します。

IdentityTransformStream の読み取り側は、bring your own buffer(BYOB)読み取り に対応しています。

コンストラクター

let { readable, writable } = new IdentityTransformStream();
  • IdentityTransformStream() IdentityTransformStream

    • 新しいアイデンティティトランスフォームストリームを返します。

プロパティ

  • readable ReadableStream
    • ReadableStream のインスタンスです。
  • writable WritableStream
    • WritableStream のインスタンスです。

FixedLengthStream

FixedLengthStream は、ストリームが通過させる合計バイト数を制限する IdentityTransformStream の特殊化です。主な利点は、FixedLengthStreamResponse または Request を作ると、他のストリームのようにチャンクエンコーディングを使うのではなく、ストリームの固定長が Content-Length ヘッダー値として使われることです。書き込むバイト数が多すぎる、または少なすぎる場合はエラーになります。

コンストラクター

let { readable, writable } = new FixedLengthStream(1000);
  • FixedLengthStream(length) FixedLengthStream

    • 新しいアイデンティティトランスフォームストリームを返します。
    • lengthnumber または bigint で、最大値は 2^53 - 1 です。

プロパティ

  • readable ReadableStream
    • ReadableStream のインスタンスです。
  • writable WritableStream
    • WritableStream のインスタンスです。

関連リソース

役に立ちましたか?