テキスト、バイナリ、および HTML を返します
関数からテキスト、画像、ファイル、または HTML を送信し、SDK またはプレーン HTTP でそれらを読み取る方法。
1. 応答タイプを選択します
| 関数が返す値 | responseType を使用する | data は |
|---|---|---|
| JSON | 'json' (デフォルト) | 解析された値 |
| プレーンテキスト、CSV、HTML | 'text' (または 'json'、これも文字列を返します) | string |
| 画像、PDF、任意のバイト | 'blob' または 'arrayBuffer' | Blob または ArrayBuffer |
デフォルトの 'json' モードでは、JSON とテキストを伝送できます。 は でバイトを運ぶことはできません。関数がバイナリ コンテンツ タイプで応答した場合、SDK はエラー invalid_response を返し、 'blob' または 'arrayBuffer'を選択するように指示するため、何も失われることはありません。
2. SDKで読み込む
バイト 137,80,78,71,13,10,26,10,255,0,1を返す関数を使用した実際の実行では、 arrayBuffer は正確にその 11 バイトを返し、 blob は type=image/png size=11を返しました。
'text'、 'blob' 、または 'arrayBuffer'を使用すると、SDK は JSON エンベロープをスキップし、関数の本体をそのまま返します。関数がエラー ステータスで応答した場合、error.status がそのステータスであり、error.message は関数が返すテキストです。
3. HTTP 経由の Raw モード
ヘッダー X-Aurabase-Invoke-Mode: raw を追加すると、プラットフォームは関数独自の応答 (ステータス、content-type、およびバイト) を返します。
このヘッダーがない場合、応答は常にエンベロープを含む 200 になります。
エンベロープ内の body は解析された JSON、JSON ではなく UTF-8 の場合は応答のテキスト、本文が空またはバイナリの場合は null です。
raw モードでは、関数からのすべての応答に x-aurabase-invoke-origin: functionが含まれます。これを持たない応答は、ゲートウェイまたはランタイムから返されます。これは、プラットフォームの停止からコードによって返された 503 を SDK が伝える方法です。
4. どのヘッダーが生き残るのか
raw モードでは、応答ヘッダーはプラットフォーム独自のオリジンから提供されるため、フィルターされます。
| ヘッダー | 結果 |
|---|---|
content-type | 保管されています。何も設定しない場合、デフォルトは application/octet-stream になります。 |
カスタムヘッダー (x-custom-out、 cache-control、…) | 保管されています。 |
set-cookie | 削除されました。関数は Cookie を設定できません。 |
access-control-* | 削除されました。 CORS はゲートウェイによって決定されます。 |
x-aura-*、x-internal-token | 削除されました。 |
content-security-policy、 strict-transport-security、 x-content-type-options | 何を送信してもプラットフォームによって設定されます。 |
content-length、 transfer-encoding、 connection | 再計算されました。 |
スクリプト (text/html、 application/xhtml+xml、 image/svg+xml、 application/xml、 text/xml) を実行できる応答は、サンドボックス コンテンツ セキュリティ ポリシーで提供されます。 text/htmlを返す関数の実際の応答:
HTML は提供されますが、プロジェクトのオリジンへの Cookie、ストレージ、またはスクリプトのアクセスはありません。ストレージまたは独自のドメインを使用して、実際の Web ページをホストします。