Skip to content

스크립트 개발 / 대량 데이터 응답 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_typejson, txt 또는 html과 같은 고정된 짧은 태그를 사용해야 하며, MIME 문자열, 경로 텍스트 또는 요청에서 온 값을 전달하지 마십시오.

DFF.API(cache_result=...)에 양수 값을 설정하면 생성된 응답이 캐시 재사용을 위해 보존될 수 있습니다. 캐시를 활성화하지 않은 경우, 응답 전송 후 임시 파일이 삭제됩니다. Script는 임시 파일 이름이나 보존 시간에 의존해서는 안 됩니다. 작은 데이터는 직접 return해야 하며, 대용량 데이터 시나리오에서만 이 메서드를 사용하십시오.