Uyumluluk: Pactmark 0.2.x. Kodlar kararlı API’dir. İngilizce mesajlar tanılamadır ve her an değişebilir.

Kural

Her başarısızlık bir KAF_* kodu taşır. Yalnızca koda göre dallanın.

Serileştirme ve şema

Çalışma zamanı ve geçişler

KAF_RUNTIME_EVENT_SEQUENCE yeniden denenebilirdir; çünkü başka bir yazıcının önce davrandığı anlamına gelir — yeniden oku ve tekrar dene doğru yanıttır. KAF_RUNTIME_TERMINAL değildir; çünkü hiçbir yeniden deneme bir koşuyu sonlanmamış hâle getirmez.

Yetki ve politika

Etkiler

KAF_EFFECT_ABANDONED_UNCERTAIN “başarısız oldu” demek değildir. “Bilmiyoruz ve beklemeyi bıraktık” demektir. Bunun aşağısındaki her şeyi, bir insan gerçeği tespit edene kadar çözülmemiş sayın.

Depolama

KAF_STORAGE_NOT_FOUND, “yok” ve “var ama sizin değil” için kasıtlı olarak aynı yanıttır. Ret bir sayım kâhinine dönüşmemelidir.

Model sınırı

Doğrulama, kanıt ve desenler

Komutlar ve idempotency

Doğru yeniden deneme

Yalnızca tipli sınıflandırma ve etki stratejisi izin verdiğinde yeniden deneyin. Bir zaman aşımı veya kaybolan taşıma, dış bir etkinin gerçekleşmediği anlamına gelmez — etki defterinin var olma nedeni tam olarak bu durumdur.
Kaydın tamamında yalnızca üç kod yeniden denenebilir olarak işaretlidir: KAF_RUNTIME_EVENT_SEQUENCE, KAF_ADMISSION_DENIED ve KAF_STORAGE_CONCURRENCY_CONFLICT. Üçü de aynı isteğin güvenle tekrarlanabildiği çekişme veya kota durumlarıdır.

Hat üzerindeki biçim

Problem Details, kod bir istemcinin gerçekte bakacağı yerde tekrarlanmış hâlde. Yanıt gövdeleri ve loglar farklı açıklama seviyeleri kullanır — bir yanıt kasıtlı olarak daha azını gösterir.

Koşu olayları

RunFailed.errorCode bu kaydı kullanır.

HTTP API

Her durumun hat üzerinde nerede göründüğü.