このトピックでは、Edge Security Acceleration (ESA) のエッジ関数でサポートされている一般的な関数について説明します。
Web API
ストリーム
API 操作 | 説明 | リファレンス |
ByteLengthQueuingStrategy | ストリームの構築時に使用できる、組み込みのバイト長キューイング戦略を提供します。 | |
CountQueuingStrategy | ストリームの構築時に使用できる、組み込みのチャンクカウントキューイング戦略を提供します。 | |
ReadableStream | バイトデータの読み取り可能なストリームを表します。 Fetch API は、Response オブジェクトの body プロパティを介して ReadableStream の具象インスタンスを提供します。 | |
ReadableStreamDefaultReader | フェッチリクエストなどのネットワークから供給されるストリームデータを読み取るために使用できるデフォルトリーダーを表します。 | |
ReadableByteStreamController | 読み取り可能なバイトストリームのコントローラーを表します。 ReadableStream の状態と内部キューの制御を可能にします。 | |
ReadableStreamBYOBReader | 基盤となるバイトソースからのゼロコピー読み取りをサポートする ReadableStream のリーダーを定義します。 効率的なデータコピーに使用されます。 | |
ReadableStreamBYOBRequest | ||
ReadableStreamDefaultController | ReadableStream の状態と内部キューの制御を可能にするコントローラーを表します。 デフォルトのコントローラーは、バイトストリームではないストリーム用です。 | |
WritableStream | シンクとして知られる宛先にストリーミングデータを書き込むための標準的な抽象化を提供します。 このオブジェクトには、組み込みのバックプレッシャーとキューイングが備わっています。 | |
WritableStreamDefaultWriter | Streams API の WritableStreamDefaultWriter 操作は、WritableStream.getWriter() によって返されるオブジェクトです。作成されると、ライターを WritableStream にロックし、他のストリームが基盤となるシンクに書き込めないようにします。 | |
WritableStreamDefaultController | WritableStream の状態の制御を可能にするコントローラーを表します。 WritableStream を構築する際、基盤となるシンクには、操作するための対応する WritableStreamDefaultController インスタンスが与えられます。 | |
TransformStream | パイプチェーン変換ストリームの概念の具象実装を表します。 あるフォーマットから別のフォーマットにデータストリームを変換するために、ReadableStream.pipeThrough() メソッドに渡すことができます。 たとえば、ビデオフレームのデコード (またはエンコード)、データの解凍、ストリームの XML から JSON への変換などに使用できます。 | |
TransformStreamDefaultController | 関連付けられた ReadableStream と WritableStream を操作するメソッドを提供します。 TransformStream を構築する際に TransformStreamDefaultController が作成されます。 そのため、コンストラクターはありません。 TransformStreamDefaultController のインスタンスを取得するには、TransformStream() のコールバックメソッドを使用します。 | |
CompressionStream | データストリームを圧縮するための操作です。 | |
DecompressionStream | データストリームを解凍するための操作です。 |
エンコーディング/デコーディング
API 操作 | 説明 | リファレンス |
TextEncoder | コードポイントのストリームを入力として受け取り、UTF-8 バイトのストリームを出力します。 | |
TextDecoder | UTF-8、ISO-8859-2、KOI8-R、GBK などの特定のテキストエンコーディング用のデコーダーを表します。 デコーダーは、バイトのストリームを入力として受け取り、コードポイントのストリームを出力します。 | |
TextEncoderStream | 文字列のストリームを UTF-8 エンコーディングのバイトに変換します。 これは TextEncoder のストリーミング版です。 | |
TestDecoderStream | UTF-8 などのバイナリエンコーディングのテキストストリームを文字列のストリームに変換します。 これは TextDecoder のストリーミング版です。 | |
atob | Base64 エンコーディングを使用してエンコードされたデータ文字列をデコードします。 | |
btoa | 入力文字列から Base64 ASCII エンコード文字列を作成します。 |
Web Crypto
API 操作 | 説明 | リファレンス |
Crypto | 現在のコンテキストで利用可能な基本的な暗号化機能を表します。 暗号学的に強力な乱数ジェネレーターと暗号プリミティブへのアクセスを可能にします。 | |
SubtleCrypto | 多数の低レベルの暗号化関数を提供します。 crypto プロパティによって提供される Crypto オブジェクトの subtle プロパティを使用して、SubtleCrypto 関連のプロパティにアクセスできます。 | |
CryptoKey | SubtleCrypto の generateKey()、deriveKey()、importKey()、または unwrapKey() メソッドのいずれかから取得した暗号キーを表します。 | |
CryptoKeyPair | 非対称暗号アルゴリズムのキーペアを表します。 |
タイマー
API 操作 | 説明 | リファレンス |
setInterval | 各呼び出しの間に固定の時間遅延を設けて、関数を繰り返し呼び出します。 | |
clearInterval | setInterval() の呼び出しによって以前に開始された、時間指定の繰り返し操作をキャンセルします。 | |
setTimeout | 遅延時間が経過した後に一度だけ関数を実行するタイマーを設定します。 | |
clearTimeout | setTimeout() によって開始されたスケジュール済みのアクションをキャンセルします。 |
コンソール
API 操作 | 説明 | リファレンス |
Console | 関数のデバッグインターフェイスを提供します。 ESA は console.log() メソッドと console.alert() メソッドのみをサポートします。 console.log() メソッドは、コンソールにデバッグ情報を出力するために使用されます。 console.alert() メソッドは、キー情報をログに書き込むために使用されます。 |
URL
API 操作 | 説明 | リファレンス |
URL | オブジェクトを表し、オブジェクト URL を作成するための静的メソッドを提供します。 | |
URLPattern | URL または URL の一部をパターンに照らしてマッチングします。 URL の一部を抽出してマッチングするために使用されます。 |
フェッチ
API 操作 | 説明 | リファレンス |
Fetch | リソースのリクエストを開始します。 リクエストが応答された後に履行される Promise を返します。 | |
Headers | HTTP リクエストヘッダーとレスポンスヘッダーに対してさまざまな操作を実行できます。 これらの操作には、リクエストのヘッダーリストからのヘッダーの取得、設定、追加、削除が含まれます。 | |
Request | リソースリクエストを表す新しい Request オブジェクトを作成します。 | |
RequestInit | Fetch リクエストを設定するために使用できるオプションのセットを表します。 RequestInit オブジェクトを Request() コンストラクターに渡すか、fetch() 関数呼び出しに直接渡すことができます。 | |
Response | リクエストに対するレスポンスを表します。 Response() コンストラクターを使用して新しい Response オブジェクトを作成できますが、fetch() などの別の API 操作の結果として返される Response オブジェクトに遭遇することの方が多いでしょう。 |
WebAssembly
API 操作 | 説明 | リファレンス |
Module | 新しい Module オブジェクトを作成します。 WebAssembly.Module オブジェクトには、コンパイル済みのステートレスな WebAssembly コードが含まれています。 | |
Instance | WebAssembly.Instance オブジェクトは、WebAssembly.Module のステートフルで実行可能なインスタンスです。 Instance オブジェクトには、JavaScript から WebAssembly コードを呼び出すことを可能にする、エクスポートされたすべての WebAssembly 関数が含まれています。 |
Node API
API 操作 | 説明 | リファレンス |
assert | 不変条件を検証するためのアサーション関数のセットを提供します。 | |
AsyncLocalStorage | 非同期操作を使用してコンテキストを格納および渡します。 | |
Buffer | Buffer オブジェクトは、固定長のバイトシーケンスを表すために使用されます。 Buffer API は、Node.js で最も一般的に使用されるバイナリデータ処理インターフェイスの 1 つです。 | |
Crypto | crypto モジュールは、ハッシュ、HMAC、署名、検証、暗号化、復号などの暗号化関数を提供します。 | |
Diagnostics Channel | 診断目的で任意のメッセージデータをレポートするために、名前付きチャネルを作成します。 | |
path | ファイルパスとディレクトリパスを操作するためのユーティリティを提供します。 | |
process | 現在のプロセスステータスに関連するさまざまなデータを提供します。 ESA は、env および nextTick サブインターフェイスへの呼び出しのみをサポートします。 | |
Streams | Streams API は、Node.js でストリーミングデータを処理するための抽象インターフェイスです。 node:stream モジュールは、ストリーミングデータを処理するための API を提供します。 | |
StringDecoder | StringDecoder モジュールは、Buffer オブジェクトを文字列にデコードします。 | |
util | node:util モジュールは、Node.js の内部 API のニーズをサポートします。 ユーティリティの多くは、アプリケーション開発者やモジュール開発者にとっても役立ちます。 |
ESA API
API 操作 | 説明 | リファレンス |
Cache API | Cache API は、データをキャッシュするために使用されるメソッドです。 Cache API を呼び出して POP (Point of Presence) にデータをキャッシュすることで、後続のリクエストに対してデータを迅速に提供できます。 Cache API 操作では、ビジネス要件に基づいて TTL (Time To Live) とキャッシュサイズを設定できます。 | |
KV API | POP は、キーと値のペアに基づいたエッジストレージサービスを提供します。 Edge KV にデータを書き込むと、データは世界中の POP に自動的に同期されます。 エッジ関数は、同じ POP 上のキーと値のペアを読み取って使用できます。 | |
HtmlStreaming | HTMLStream API を使用して、リアルタイムの株価データやチャット記録などの HTML ストリーミングデータを POP 上で処理できます。 さらに、HTMLStream API を使用すると、HTML ストリーミングデータをチャンクで送信してデータ転送を高速化できます。 |