Dayanıklı İşlevler türleri ve özellikleri

Dayanıklı İşlevler, Azure İşlevleri uzantısıdır. İşlev yürütmenin durum bilgisi olan düzenlemesi için Dayanıklı İşlevler kullanabilirsiniz. Dayanıklı işlev uygulaması, farklı Azure işlevlerinden oluşan bir çözümdür. İşlevler, dayanıklı bir işlev düzenlemesinde farklı roller yürütebilir.

şu anda Azure İşlevleri dört dayanıklı işlev türü vardır: etkinlik, düzenleyici, varlık ve istemci. Bu bölümün geri kalanı, düzenlemeye dahil olan işlev türleri hakkında daha fazla ayrıntıya gider.

Orchestrator işlevleri

Orchestrator işlevleri, eylemlerin nasıl yürütülür ve eylemlerin yürütülür sırasını açıklar. Orchestrator işlevleri, Dayanıklı İşlevler uygulama desenlerinde gösterildiği gibi koddaki düzenlemeyi (C# veya JavaScript) açıklar. Düzenlemenin etkinlik işlevleri, alt düzenlemeler, dış olayları bekleme, HTTP ve zamanlayıcılar gibi birçok farklı eylem türü olabilir. Orchestrator işlevleri varlık işlevleriyle de etkileşimde bulunabilir.

Not

Orchestrator işlevleri normal kod kullanılarak yazılır, ancak kodun nasıl yazıldığında katı gereksinimler vardır. Özellikle orchestrator işlev kodu belirleyici olmalıdır. Bu determinizm gereksinimlerine uyulamamak, orchestrator işlevlerinin düzgün çalışmamasına neden olabilir. Bu gereksinimler ve bunların nasıl çözümlenebileceği hakkında ayrıntılı bilgi kod kısıtlamaları konusunda bulunabilir.

Düzenleyici işlevleri ve özellikleri hakkında daha ayrıntılı bilgi için Dayanıklı düzenleme makalesine bakın.

Etkinlik işlevleri

Etkinlik işlevleri, dayanıklı bir işlev düzenlemesindeki temel çalışma birimidir. Etkinlik işlevleri, işlemde düzenleyen işlevler ve görevlerdir. Örneğin, bir siparişi işlemek için bir orchestrator işlevi oluşturabilirsiniz. Görevler envanteri denetlemeyi, müşteriyi ücretlendirmeyi ve sevkiyat oluşturmayı içerir. Her görev ayrı bir etkinlik işlevi olacaktır. Bu etkinlik işlevleri seri olarak, paralel olarak veya her ikisinin bir bileşimiyle yürütülebilir.

Düzenleyici işlevlerinden farklı olarak etkinlik işlevleri, bu işlevlerde yapabileceğiniz iş türünde kısıtlanmamıştır. Etkinlik işlevleri genellikle ağ çağrıları yapmak veya YOĞUN CPU kullanan işlemler çalıştırmak için kullanılır. Bir etkinlik işlevi de orchestrator işlevine veri döndürebilir. Dayanıklı Görev Çerçevesi, çağrılan her etkinlik işlevinin bir düzenlemenin yürütülmesi sırasında en az bir kez yürütüleceğini garanti eder.

Not

Etkinlik işlevleri en az bir kez yürütmeyi garanti ettiğinden, etkinlik işlevi mantığınızı mümkün olduğunca etkili hale getirmenizi öneririz.

Etkinlik işlevini tanımlamak için etkinlik tetikleyicisi kullanın. .NET işlevleri parametre olarak alır DurableActivityContext . Tetikleyiciyi, girişlerini işleve geçirmek için başka bir JSON serileştirilebilir nesneye de bağlayabilirsiniz. JavaScript'te, nesnesindeki <activity trigger binding name>özelliği aracılığıyla bir girişe context.bindings erişebilirsiniz. Etkinlik işlevlerine yalnızca tek bir değer geçirilebilir. Birden çok değer geçirmek için tanımlama kümeleri, diziler veya karmaşık türler kullanmanız gerekir.

Not

Bir etkinlik işlevini yalnızca bir orchestrator işlevinden tetikleyebilirsiniz.

Varlık işlevleri

Varlık işlevleri, küçük durum parçalarını okumak ve güncelleştirmek için işlemleri tanımlar. Bu durum bilgisi olan varlıklara genellikle dayanıklı varlıklar olarak başvururuz. Orchestrator işlevleri gibi varlık işlevleri de özel tetikleyici türü olan varlık tetikleyicisi olan işlevlerdir. Bunlar istemci işlevlerinden veya orchestrator işlevlerinden de çağrılabilir. Orchestrator işlevlerinden farklı olarak varlık işlevlerinin belirli bir kod kısıtlaması yoktur. Varlık işlevleri, denetim akışı aracılığıyla durumu örtük olarak göstermek yerine durumu açıkça da yönetir.

Not

Varlık işlevleri ve ilgili işlevler yalnızca Dayanıklı İşlevler 2.0 ve üzerinde kullanılabilir.

Varlık işlevleri hakkında daha fazla bilgi için Dayanıklı Varlıklar makalesine bakın.

İstemci işlevleri

Orchestrator işlevleri bir düzenleme tetikleyicisi bağlaması tarafından tetiklenir ve varlık işlevleri bir varlık tetikleyici bağlaması tarafından tetiklenir. Bu tetikleyicilerin her ikisi de bir görev hub'ına alınan iletilere tepki vererek çalışır. Bu iletileri teslim etmenin birincil yolu, bir orchestrator istemci bağlaması veya istemci işlevi içinden bir varlık istemci bağlaması kullanmaktır. Düzenleyici olmayan herhangi bir işlev bir istemci işlevi olabilir. Örneğin, DÜZENLEYICIyi HTTP ile tetiklenen bir işlevden, Azure Olay Hub'ı ile tetiklenen işlevden vb. tetikleyebilirsiniz. İşlevi istemci işlevi yapan şey, dayanıklı istemci çıkış bağlamasının kullanılmasıdır.

Not

Diğer işlev türlerinden farklı olarak, orchestrator ve varlık işlevleri Azure Portal'daki düğmeler kullanılarak doğrudan tetiklenemez. Azure Portal'da bir düzenleyiciyi veya varlık işlevini test etmek istiyorsanız, bunun yerine bir orchestrator veya entity işlevini uygulamasının bir parçası olarak başlatan bir istemci işlevi çalıştırmanız gerekir. En basit test deneyimi için el ile tetikleyici işlevi önerilir.

Orchestrator veya varlık işlevlerini tetiklemenin yanı sıra, dayanıklı istemci bağlaması çalışan düzenlemelerle ve varlıklarla etkileşime geçmek için kullanılabilir. Örneğin, düzenlemeler sorgulanabilir, sonlandırılabilir ve bunlara olaylar oluşturulabilir. Düzenleme ve varlıkları yönetme hakkında daha fazla bilgi için Örnek yönetimi makalesine bakın.

Sonraki adımlar

Başlamak için C#, JavaScript, Python, PowerShell veya Java'da ilk dayanıklı işlevinizi oluşturun.