Transaktionen erfassen
Seien Sie unbesorgt: Wenn die App dafür verantwortlich ist, eine Aufnahme auf Ihrem Computer zu speichern, überwacht sie das Speichern als Transaktion. Die Transaktion wird nicht als abgeschlossen betrachtet, nur weil der Auslöser betätigt wurde oder eine Videoaufnahme gestoppt wurde. Die App muss auch nachweisen, dass die erwartete Datei auf der Computerseite ihren endgültigen Pfad korrekt erreicht hat.
Dies ist besonders wichtig während hochvolumiger oder kritischer Sitzungen, wie Schulporträts, Produktserien, Beweisarbeiten, medizinischer Dokumentation, Kopierstative und anderen Aufnahmen, bei denen ein verpasstes Speichern viele spätere Entscheidungen beeinflussen könnte.
Was eine Transaktion schützt
Eine Aufnahme-Transaktion schützt das Speichern auf der Computerseite.
Wenn Ihr Speicher-Modus eine Bild- oder Videodatei auf dem Computer erwartet, überwacht die App die SDK-Übertragung, das endgültige Speichern im Pfad und den endgültigen Dateibeweis, bevor die Aufnahme als erfolgreich betrachtet wird. Wenn die Aufnahme nur auf der Karte erfolgt, erwartet die App keine endgültige Datei auf dem Computer für diese Aufnahme.
Das Ziel ist einfach: Vermeiden Sie die gefährliche Situation, in der die Kamera ein Bild aufgenommen hat, aber die Datei, die Sie auf dem Computer erwartet haben, fehlt, unvollständig ist oder nicht dort ist, wo der Arbeitsablauf sie erwartet.
Legacy Remote SDK-Aufnahmen
Im Legacy Remote SDK-Modus empfängt die App Mediendaten vom Nikon SDK und speichert sie über die endgültige Pfad-Pipeline.
Für das Speichern von Standbildern oder Videos auf der Computerseite überprüft die Transaktion, dass:
- Das SDK die erwarteten Mediendaten geliefert hat.
- Der endgültige Pfadort ausgewählt wurde.
- Die App die Daten in eine temporäre Vorveröffentlichungs-
.ttctmpDatei geschrieben hat. - Die temporäre Datei wurde in die endgültige Bild- oder Videoerweiterung umbenannt.
- Die endgültige Datei existiert.
- Die endgültige Dateigröße entspricht den vom SDK empfangenen Daten.
- Das schreibgeschützte Dateiattribut wurde angewendet, wenn diese Einstellung aktiviert ist.
Die .ttctmp Datei ist eine temporäre Vorveröffentlichungsdatei. Sie verhindert, dass Ordnerüberwacher, Antiviren-Scanner, Skripte und Bildbrowser auf eine teilweise geschriebene endgültige Datei reagieren. Die endgültige umbenannte Datei ist der Beweis, der für die Aufnahme-Transaktion zählt.
Unified Z SDK v2-Aufnahmen
Im Unified Z SDK v2-Modus schreibt Nikon zunächst Standbilder auf der Computerseite in einen aufnahme-spezifischen Staging-Ordner. Die App prüft dann die gestellten Originale und kopiert sie gemäß den normalen Pfadregeln an Ihr endgültiges Ziel.
Für das Speichern von Standbildern auf der Computerseite überprüft die Transaktion, dass:
- Ein aufnahme-spezifischer GUID-Staging-Ordner erstellt wurde.
- Nikons
StartShootingAnfrage war erfolgreich. - Der Aufnahme-Status hat einen endgültigen Zustand erreicht.
- Gestellte Dateien wurden im erwarteten Staging-Ordner gefunden.
- Die Größen der gestellten Dateien stabilisierten sich vor der endgültigen Kopie.
- Die App kopierte jedes gestellte Original in eine temporäre endgültige Pfad-Datei.
- Die temporäre Datei wurde in die endgültige Erweiterung umbenannt.
- Die endgültige Datei existiert und entspricht der Größe des gestellten Originals.
- Das Aufnahme-Manifest dokumentiert das Prüfungsergebnis.
Die gestellten Originale werden zur Wiederherstellung und Unterstützung aufbewahrt. Die App löscht die von Nikon produzierten gestellten Originale nach der endgültigen Pfadkopie nicht automatisch.
Was passiert, wenn der Beweis fehlschlägt
Wenn die App nicht nachweisen kann, dass eine erforderliche Aufnahme auf der Computerseite korrekt gespeichert wurde, betrachtet sie dies als kritischen Fehler beim Speichern der Aufnahme.
Wenn dies geschieht:
- Eine Fehlerwarnung erscheint oben in der App.
- Das Protokoll zeichnet den SDK-Modus, den Körper, den Speicher-Modus, die fehlgeschlagene Phase, relevante Pfade und Byte-Zahlen auf, wenn verfügbar.
- Ausstehende Arbeitsablaufbefehle für die Aufnahme werden abgebrochen, damit eine Sequenz nicht weiterhin in denselben Fehler hinein fotografiert.
- Normale Bereit- oder Fortschrittsnachrichten sollten die Fehlerwarnung nicht verbergen.
- Wenn aktiviert, trennt die App den Körper, nachdem die Warnung angezeigt wurde.
Lesen Sie zuerst die Fehlerwarnung. Öffnen Sie dann das Protokoll, wenn Sie die detaillierten Diagnosedaten benötigen.
Trennen nach kritischem Fehler beim Speichern der Aufnahme
Einstellungen Körper Transaktionen umfasst Trennen nach kritischem Fehler beim Speichern der Aufnahme.
Aktivieren Sie dies, wenn es schlimmer wäre, nach einem fehlgeschlagenen Speichern fortzufahren, als die Sitzung zu stoppen. Bei kritischer Produktionsarbeit ist das Trennen oft die sicherere Wahl, da es das Problem offensichtlich macht und verhindert, dass weitere Aufnahmen in denselben fehlgeschlagenen Speicherpfad gelangen.
Lassen Sie es deaktiviert, wenn Sie möchten, dass die Kamera verbunden bleibt, während Sie die Warnung lesen und entscheiden, was als Nächstes zu tun ist. Die App zeigt weiterhin die Fehlerwarnung an und schreibt die Protokolldetails, wenn die Einstellung deaktiviert ist.
Testen des Fehlerpfads
Einstellungen Körper Transaktionen umfasst auch SDK-spezifische Debug-Aufnahme-Testflags. Diese Flags erzwingen absichtlich Fehler bei der Aufnahme-Transaktion, damit Sie bestätigen können, dass die Warnung, das Protokoll, die Arbeitsablaufabbruch und das optionale Trennverhalten sichtbar sind, bevor Sie sich auf den Arbeitsablauf in der Produktion verlassen.
Verwenden Sie diese nur während einer Testsitzung. Lassen Sie sie für normales Fotografieren deaktiviert.
Legacy-Debug-Aufnahme-Testflags:
- Legacy SDK-Aufnahmefehler erzwingen
- Legacy Übertragungsfehler erzwingen
- Fehler beim endgültigen PATH-Speichern erzwingen
- Größenabweichung beim endgültigen PATH erzwingen
v2-Debug-Aufnahme-Testflags:
- Fehler beim v2 SDK-Aufnehmen erzwingen
- Fehler bei der v2-Staging-Prüfung erzwingen
- Fehler beim endgültigen PATH-Speichern erzwingen
- Größenabweichung beim endgültigen PATH erzwingen
- Unerwarteten SDK gespeicherten Pfad erzwingen
Nach einem erzwungenen Fehler bestätigen Sie, dass Sie die Fehlerwarnung gesehen haben, dass das Protokoll einen DEBUG TEST Eintrag enthält und dass der Körper getrennt wurde, wenn Trennen nach kritischem Fehler beim Speichern der Aufnahme aktiviert war. Deaktivieren Sie dann das Testflag, bevor Sie mit der normalen Aufnahmearbeit fortfahren.
Was an den Support gesendet werden soll
Wenn Sie den Support nach einem Fehler bei der Aufnahme-Transaktion kontaktieren, fügen Sie Folgendes hinzu:
- Den Titel und die Nachricht der Fehlerwarnung.
- Die Protokolldatei.
- Den aktiven Nikon SDK-Modus.
- Das verbundene Körpermodell.
- Den Speicher-Modus der Aufnahme.
- Den endgültigen Pfadordner, den Sie erwartet haben.
- Den v2-Staging-Ordner oder das Aufnahme-Manifest, wenn Unified Z SDK v2 verwendet wurde.
Diese Beweise machen den Fehler normalerweise rekonstruierbar, ohne raten zu müssen.