2016-10-31 2 views
2

Ich muss wissen, wie Sie die Documentdb-Auflistung löschen, bevor Sie neue Dokumente einfügen. Ich benutze datafactory Pipeline-Aktivität, um Daten von On-Prem-SQL-Server zu fechten und in die Documentdb-Sammlung einzufügen. Die Frequenz wird alle 2 Stunden eingestellt. Wenn der nächste Zyklus ausgeführt wird, möchte ich zuerst die vorhandenen Daten in der documentdb-Sammlung löschen. Wie mache ich das?Löschen Sie die DocumentDB-Sammlung, bevor Sie Dokumente einfügen

Antwort

2

Der einfachste Weg ist, die Sammlung programmatisch zu löschen und sie mit dem gleichen Namen neu zu erstellen. Unsere Testskripte machen dies automatisch. Es besteht die Möglichkeit, dass dies aufgrund einer subtilen Wettlaufsituation fehlschlägt, aber wir haben festgestellt, dass das Hinzufügen einer Verzögerung von einer halben Sekunde zwischen dem Löschen und Neu erstellen dies vermeidet.

Alternativ wäre es möglich, jede Dokument-ID abzurufen und sie dann einzeln zu löschen. Dies würde am effizientesten von einer gespeicherten Prozedur (sproc) aus erfolgen, so dass Sie nicht alles über die Leitung senden müssten, aber es würde immer noch RUs verbrauchen und Zeit brauchen.

+0

Wie würde man den Stored Procedure-Weg machen? – ZeroOne

+0

[Hier] (https://github.com/lmaccherone/documentdb-utils/blob/master/sprocs/deleteSomeDocuments.coffee) ist eine Sproc, die ich geschrieben habe, die Ihnen erlaubt, einen Filterausdruck zu übergeben, und es wird alle löschen diese Dokumente. Beachten Sie, dass Sie bei Verwendung von "documentdb-utils" den Sproc automatisch aufrufen, bis Sie fertig sind. Wenn Sie nur den Sproc verwenden, müssen Sie ihn selbst aufrufen, bis kein Fortsetzungstoken zurückkommt. Wenn Sie CoffeeScript nicht kennen, schneiden Sie es einfach in [hier] (http://coffeescript.org/#try) aus und fügen es in JavaScript für Sie ein. –

+0

Korrektur, dieser bestimmte Sproc behandelt nicht das Fortsetzungstoken, aber Sie konnten ihn leicht als Beispiel eines der anderen Sprocs in diesem Ordner hinzufügen, der das tut. –

Verwandte Themen