자주 묻는 질문
설정, 생성, 저장소, 형식 및 메모리에 관한 일반적인 질문의 짧은 답변입니다.
Laravel Feeds로 수백만 개의 레코드를 내보낼 수 있습니까?
가능합니다. 패키지는 Eloquent 결과를 청크로 읽고 출력을 점진적으로 기록합니다. builder()를 지연 상태로 유지하고 전체 결과에 get()이나 toArray()를 호출하지 마십시오. 메모리와 데이터베이스 부하를 측정한 후 chunkSize()를 조정하십시오.
대규모 데이터셋 성능을 참고하십시오.
어떤 형식을 사용해야 합니까?
소비자가 요구하는 계약을 사용하십시오. XML과 RSS는 계층 디렉티브를 지원하고, JSON은 중첩 데이터를 유지하고, JSON Lines는 줄 단위 처리에 적합하며, CSV는 안정적인 열 스키마가 필요합니다.
지원 형식을 참고하십시오.
하나의 피드가 여러 파일을 만들 수 있습니까?
가능합니다. 단, 파일이 달라지는 이유에 따라 적절한 방식을 선택해야 합니다.
perFile()과 선택적으로maxFiles()를 사용하면 하나의 데이터셋을 고정된 레코드 수의 연속 파일로 분할할 수 있습니다.- 피드 대상을 사용하면 파트너, 스토어, 로케일 또는 기타 비즈니스 키마다 필터링된 별도 출력을 생성할 수 있습니다.
- 각 파트너의 출력도 레코드 수에 따라 여러 파일로 나눠야 한다면 두 방식을 함께 사용하십시오.
완전한 예제는 여러 대상에 맞춘 피드 파일 레시피를 참고하십시오.
S3 또는 다른 원격 디스크에 피드를 저장할 수 있습니까?
구성된 Laravel 디스크가 쓰기 가능한 FilesystemAdapter로 해석되면 가능합니다. 원격 이동은 복사 후 삭제 방식일 수 있으므로 원자적 교체가 보장되지 않습니다.
지원 디스크를 참고하십시오.
비활성 피드가 실행된 이유는 무엇입니까?
feed:generate에 피드 ID를 전달하면 등록이 비활성이어도 해당 피드를 실행합니다. ID 없이 실행하면 비활성 등록을 건너뜁니다.
단일 피드 생성을 참고하십시오.
선택적 필드를 생략하려면 어떻게 합니까?
필드 값으로 DragonCode\LaravelFeed\Data\OptionalData 또는 Spatie\LaravelData\Optional을 반환하십시오. CSV는 열을 유지하고 빈 값을 쓰며, 객체 형식과 XML은 필드를 생략합니다.
선택적 값을 참고하십시오.