Aracılığıyla paylaş


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'de dört dayanıklı işlev türü vardır: etkinlik, düzenleyici, varlık ve istemci. Bu bölümün geri kalanında, bir düzenlemede yer alan işlev türleri hakkında daha fazla ayrıntıya yer velenmektedir.

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 kodda (C# veya JavaScript) düzenlemeyi 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ıklarına ilişkin katı gereksinimler vardır. Özellikle orchestrator işlev kodunun belirlenici olması gerekir. Bu determinizm gereksinimlerini karşılamamak orchestrator işlevlerinin düzgün çalışmamasına neden olabilir. Bu gereksinimler ve bunların nasıl çözümlendiğ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 sırayı işlemek için bir düzenleyici 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ıtlanmaz. 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ülmesini 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ğunda bir kez 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.bindingseriş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 düzenleyici 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ıkları genellikle dayanıklı varlıklar olarak adlandırıyoruz. Orchestrator işlevleri gibi varlık işlevleri de özel bir 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 ayrıca denetim akışı aracılığıyla durumu örtük olarak temsil etmek yerine durumu açıkça 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 sıralanmış 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 Event Hub ile tetiklenen işlevden vb. tetikleyebilirsiniz. İşlevi istemci işlevi yapan şey, dayanıklı istemci çıkış bağlamasını kullanmasıdır.

Not

Diğer işlev türlerinden farklı olarak, düzenleyici ve varlık işlevleri Azure Portal'daki düğmeler kullanılarak doğrudan tetiklenemez. Bir düzenleyiciyi veya varlık işlevini Azure Portal'da test etmek istiyorsanız, bunun yerine bir düzenleyiciyi veya varlık işlevini uygulamanın bir parçası olarak başlatan bir istemci işlevi çalıştırmanız gerekir. En basit test deneyimi için el ile tetikleme 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.