Ich versuche, Daten aus mehreren Java-Prozessen parallel in den gleichen Block Blob zu laden. Die Prozesse können nicht miteinander kommunizieren, so dass sie nicht wissen, wann der letzte Block hochgeladen wurde.Blöcke in Blob mit Java-Azur-Speicher-Client einfügen
Ich möchte jeden Block sofort begehen, nachdem es von einem Prozess hochgeladen wurde. Ich dachte, ich könnte commitBlockList dazu verwenden, aber sein Verhalten scheint nicht festgeschriebene Blöcke zu löschen. Ich habe versucht, den Zugriff auf den Blob über eine Lease zu synchronisieren, so dass jeder Prozess eine Lease für den Blob erhält und die Blockliste über downloadBlockList herunterlädt und die Blöcke aktualisiert, die jeder Prozess hochgeladen hat, aber dies hat immer noch unerwartetes Verhalten (Blöcke verschwinden immer wieder) Die Liste).
Gibt es eine Operation im Java Azure Storage Client, die es mir erlaubt, den festgeschriebenen Status eines SINGLE-Blocks in einem Blockspeicher-Blob zu aktualisieren? Oder gibt es einen Parameter, den ich an uploadBlock übergeben kann und der den Status des Blocks sofort nach Abschluss des Uploads auf COMMITED setzen würde?
Großartig, bitte markieren Sie es als Antwort, es wird anderen helfen. –