跳轉至

腳本開發 / 響應大量數據 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
@DFF.API('導出大 JSON')
def export_large_json():
    return DFF.RESP_LARGE_DATA({'items': load_many_items()}, content_type='json')

所有 Web 服務和 Worker 必須訪問同一份資源存儲

本方法依賴共享資源目錄。高可用或多 Worker 部署時,必須保證資源目錄配置和掛載一致。

非字符串數據必須能夠 JSON 序列化。二進制數據應先寫入資源目錄,再使用 DFF.RESP_FILE(...) 返回。

content_type 應使用固定的短標籤,如 json、txt 或 html,不要傳入 MIME 字符串、路徑文本或來自請求的值。

正數 DFF.API(cache_result=...) 可能保留生成的響應以供緩存複用;未啓用緩存時,響應發送後會刪除臨時文件。Script 不應依賴臨時文件名或保留時間。小數據應直接 return,僅在大數據場景使用本方法。