スクリプト開発 / 大量データのレスポンス DFF.RESP_LARGE_DATA
MB規模以上のコンテンツを返す場合、直接 return すると JSON シリアライズ、Redis メッセージキュー、内部ネットワーク通信のオーバーヘッドが増加します。DFF.RESP_LARGE_DATA(...) はコンテンツを一時ファイルに書き込み、ファイルレスポンスとして返すことで、内部メッセージで完全な値を渡すことを避けます。
パラメータ
| パラメータ | 型 | 必須 / デフォルト値 | 説明 |
|---|---|---|---|
data |
str / dict / list / tuple | 必須 | 大きなテキストまたは JSON シリアライズ可能なデータ |
content_type |
str | 自動推測 | 辞書、リスト、タプルはデフォルトで json、その他の型はデフォルトで txt です。明示的に指定することもできます |
| 例 | |
|---|---|
1 2 3 | |
すべての Web サービスと Worker は同じリソースストレージにアクセスする必要があります
本方法は共有リソースディレクトリに依存します。高可用性または複数 Worker デプロイメントでは、リソースディレクトリの設定とマウントが一致していることを保証する必要があります。
非文字列データは JSON シリアライズ可能である必要があります。バイナリデータはまずリソースディレクトリに書き込み、その後 DFF.RESP_FILE(...) を使用して返してください。
content_type は、json、txt、html などの固定の短いラベルを使用してください。MIME 文字列、パステキスト、リクエスト由来の値を渡さないでください。
正の数 DFF.API(cache_result=...) は生成されたレスポンスをキャッシュ再利用のために保持する場合があります。キャッシュが有効でない場合、レスポンス送信後、一時ファイルは削除されます。Script は一時ファイル名や保持時間に依存すべきではありません。小さいデータは直接 return し、大規模データの場合のみ本メソッドを使用してください。