Wir suchen nach einigen externen Systemen und stellten uns vor, dass ~ 50k-80k in einem einzigen Aufruf zurückgegeben werden. Ist dies etwas, das ein nativer Call-out verarbeiten kann, oder muss ich diese Datensätze chunk/batch verarbeiten? Ich habe Callouts für andere Systeme durchgeführt, bin mir jedoch nicht sicher, was Salesforce so handhaben kann, wenn es große Datendateien von einem externen System empfängt. Muss ich eine CSV-Datei erhalten und dann vom Apex an den Batch-Prozess übergeben?externer salesforce-Aufruf, um 50k + Datensätze zu empfangen
Antwort
Sie können den Salesforce-Callout verwenden, um eingehende Antworten zu verarbeiten. Sie müssen jedoch sicherstellen, dass die Antwort, die Sie von einem Callout erhalten, nicht mehr als 6 MB für synchrone Anrufe und 12 MB für asynchrone Anrufe überschreitet.
Sie können keine DML-Aktualisierung für mehr als 10.000 Datensätze in einer einzigen Transaktion durchführen. Um mehr als 10000 Datensätze zu verarbeiten, müssen Sie entweder Future Methods oder queurable interace verwenden.
Sie müssen Ihre zukünftigen Methoden mehrmals aufrufen, um kleine Datenblöcke zu verarbeiten, d. H. 10000 Datensätze oder weniger.
Eine bessere Lösung wäre ein eingehender Anruf von einem externen System, das Datensätze hochlädt.
Bitte markieren Sie es als eine Lösung, wenn es Ihr Problem löst.
Danke, Mayank
Verwenden Bulk-api Arbeitsplätze und Prozesschargen von 10.000 Stücke, können Sie Jsforce verwenden bulk api Arbeitsplätze zu schaffen und diese Datensätze leichter verarbeiten.