Azure Logic Apps'teki iş akışlarından Azure Service Bus'a Bağlan

Şunlar için geçerlidir: Azure Logic Apps (Tüketim + Standart)

Bu kılavuzda, Service Bus bağlayıcısını kullanarak Azure Logic Apps'teki bir iş akışından Azure Service Bus'a erişme adımları gösterilmektedir. Ardından, bir hizmet veri yolu içindeki olaylar tarafından tetiklendiğinde çalıştırılan otomatik iş akışları oluşturabilir veya hizmet veri yolu öğelerini yönetmek için eylemler çalıştırabilirsiniz, örneğin:

  • kuyruklarda, konu başlıklarında ve konu aboneliklerinde iletilerin ne zaman geldiğini (otomatik tamamlama) veya alınıp alınıp alınmayacağını (peek-lock) izleyin.
  • İleti gönderme.
  • Konu abonelikleri oluşturun ve silin.
  • Kuyruklardaki ve konu aboneliklerindeki iletileri yönetin; örneğin alma, erteleme, tamamlama, erteleme, bırakma ve teslim edilemeyen iletiler.
  • Kuyruklardaki ve konu aboneliklerindeki ileti ve oturumlardaki kilitleri yenileyin.
  • Kuyruklardaki ve konu başlıklarındaki oturumları kapatın.

Azure Service Bus'tan yanıt alan tetikleyicileri kullanabilir ve çıkışı iş akışlarınızdaki diğer eylemlerin kullanımına sunabilirsiniz. Diğer eylemlerin Service Bus eylemlerinin çıkışını kullanmasını da sağlayabilirsiniz.

Bağlan veya teknik başvuru

Service Bus bağlayıcısı, mantıksal uygulama iş akışı türüne ve konak ortamına göre farklı sürümlere sahiptir.

Mantıksal uygulama Ortam Bağlan or sürümü
Tüketim Çok kiracılı Azure Logic Apps Yönetilen bağlayıcı (Standart sınıf). Daha fazla bilgi için aşağıdaki belgeleri gözden geçirin:

- Service Bus yönetilen bağlayıcı başvurusu
- Azure Logic Apps'te yönetilen bağlayıcılar
Tüketim Tümleştirme hizmeti ortamı (ISE) Standart sınıftan farklı ileti sınırlarına sahip yönetilen bağlayıcı (Standart sınıf) ve ISE sürümü. Daha fazla bilgi için aşağıdaki belgeleri gözden geçirin:

- Service Bus yönetilen bağlayıcı başvurusu
- ISE ileti sınırları
- Azure Logic Apps'te yönetilen bağlayıcılar
Standart Tek kiracılı Azure Logic Apps ve App Service Ortamı v3 (yalnızca Windows planları) Yönetilen bağlayıcı (Azure tarafından barındırılan) ve hizmet sağlayıcısı tabanlı yerleşik bağlayıcı. Yerleşik sürüm genellikle daha iyi performans, özellikler, fiyatlandırma vb. sağlar.

Not: Service Bus yerleşik bağlayıcı tetikleyicileri yoklama tetikleyicisi desenini izler; bu da tetikleyicinin kuyruktaki veya konu aboneliğindeki iletileri sürekli denetlediği anlamına gelir.

Daha fazla bilgi için aşağıdaki belgeleri gözden geçirin:

- Service Bus yönetilen bağlayıcı başvurusu
- Service Bus yerleşik bağlayıcı işlemleri
- Azure Logic Apps'teki yerleşik bağlayıcılar

Önkoşullar

  • Bir Azure hesabı ve aboneliği Azure aboneliğiniz yoksa ücretsiz bir Azure hesabı için kaydolun.

  • Service Bus ad alanı ve kuyruk gibi mesajlaşma varlığı. Daha fazla bilgi için aşağıdaki belgeleri gözden geçirin:

  • Service Bus ad alanınıza ve mesajlaşma varlığınıza bağlandığınız mantıksal uygulama iş akışı. İş akışınızı Service Bus tetikleyicisiyle başlatmak için boş bir iş akışıyla başlamanız gerekir. İş akışınızda Service Bus eylemi kullanmak için herhangi bir tetikleyiciyle iş akışınızı başlatın.

  • Mantıksal uygulama kaynağınız Service Bus ad alanınıza ve mesajlaşma varlığınıza erişimin kimliğini doğrulamak için yönetilen kimlik kullanıyorsa, ilgili düzeylerde rol izinleri atadığınızdan emin olun. Örneğin, bir kuyruğa erişmek için yönetilen kimlik, bu kuyruk için gerekli izinlere sahip bir rol gerektirir.

    • Mantıksal uygulamanın iş akışı farklı mesajlaşma varlıklarına erişse bile her mantıksal uygulama kaynağı yalnızca bir yönetilen kimlik kullanmalıdır.

    • Bir kuyruk veya konu aboneliğine erişen her yönetilen kimlik kendi Service Bus API bağlantısını kullanmalıdır.

    • Farklı mesajlaşma varlıklarıyla ileti alışverişinde bulunan ve farklı izinler gerektiren Service Bus işlemleri kendi Service Bus API bağlantılarını kullanmalıdır.

    Yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure Logic Apps'te yönetilen kimliklerle Azure kaynaklarına erişimin kimliğini doğrulama.

  • Varsayılan olarak, Service Bus yerleşik bağlayıcı işlemleri durum bilgisi yoktur. Bu işlemleri durum bilgisi olan modda çalıştırmak için bkz . Durum bilgisi olmayan yerleşik bağlayıcılar için durum bilgisi olan modu etkinleştirme.

Azure Service Bus işlemleri için dikkat edilmesi gerekenler

Sonsuz döngüler

Önemli

Aynı bağlayıcı türüne sahip bir tetikleyiciyi ve eylemi seçip bunları mesajlaşma kuyruğu veya konu aboneliği gibi aynı varlıkla çalışmak için kullanırken dikkatli olun. Bu birleşim sonsuz bir döngü oluşturabilir ve bu da hiç bitmeyecek bir mantıksal uygulamayla sonuçlanır.

Bağlayıcı önbelleğinde kaydedilen oturumlarda sınır

Abonelik veya konu gibi Service Bus mesajlaşma varlığı başına, Service Bus bağlayıcısı bağlayıcı önbelleğine aynı anda en fazla 1.500 benzersiz oturum kaydedebilir. Oturum sayısı bu sınırı aşarsa, eski oturumlar önbellekten kaldırılır. Daha fazla bilgi için bkz . İleti oturumları.

Bağıntılı iletileri sırayla gönderme

İlgili iletileri belirli bir sırada göndermeniz gerektiğinde, Service Bus bağlayıcısını ve sıralı konvoy düzenini kullanarak bir iş akışı oluşturabilirsiniz. Bağıntılı iletiler, Azure Service Bus'taki oturumun kimliği gibi bu iletiler arasındaki ilişkiyi tanımlayan bir özelliğe sahiptir.

Tüketim mantıksal uygulaması iş akışı oluşturduğunuzda, sıralı konvoy desenini uygulayan service bus oturumlarını kullanarak bağıntılı sıralı teslim şablonunu seçebilirsiniz. Daha fazla bilgi için bkz . İlgili iletileri sırayla gönderme.

Büyük ileti desteği

Büyük ileti desteği yalnızca Service Bus yerleşik bağlayıcı işlemlerini kullandığınızda Standart iş akışları için kullanılabilir. Örneğin, sırasıyla yerleşik tetikleyicileri ve eylemleri kullanarak ve büyük iletiler alabilirsiniz.

Service Bus yönetilen bağlayıcısı için, premium katman Service Bus ad alanı kullandığınızda bile ileti boyutu üst sınırı 1 MB ile sınırlıdır.

İleti alma ve gönderme zaman aşımını artırma

Service Bus yerleşik işlemlerini kullanan Standart iş akışlarında, iletileri alma ve gönderme zaman aşımını artırabilirsiniz. Örneğin, ileti alma zaman aşımını artırmak için Azure İşlevleri uzantısında aşağıdaki ayarı değiştirin:

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "serviceBus": {
         "batchOptions": {
            "operationTimeout": "00:15:00"
         }
      }  
   }
}

İleti gönderme zaman aşımını artırmak için ServiceProviders.ServiceBus.MessageSenderOperationTimeout uygulama ayarını ekleyin.

Service Bus yönetilen bağlayıcı tetikleyicileri

  • Service Bus yönetilen bağlayıcısı için tüm tetikleyiciler uzun yoklamadır. Bu tetikleyici türü tüm iletileri işler ve ardından kuyrukta veya konu başlığı aboneliğinde daha fazla iletinin görünmesi için 30 saniye bekler. 30 saniye içinde hiçbir ileti görünmezse tetikleyici çalıştırması atlanır. Aksi takdirde kuyruk veya konu aboneliği boş kalana kadar tetikleyici iletileri okumaya devam eder. Sonraki tetikleyici yoklaması tetikleyicinin özelliklerinde belirtilen yinelenme aralığını temel alır.

  • Bir veya daha fazla ileti kuyruğa ulaştığında (otomatik tamamlama) tetikleyicisi gibi bazı tetikleyiciler bir veya daha fazla ileti döndürebilir. Bu tetikleyiciler tetiklendiğinde, tetikleyicinin En fazla ileti sayısı özelliği tarafından belirtilen ileti sayısı ile biri arasında geri döner.

    Not

    Otomatik tamamlama tetikleyicisi bir iletiyi otomatik olarak tamamlar, ancak tamamlama işlemi yalnızca Service Bus'a yapılan bir sonraki çağrıda gerçekleşir. Bu davranış iş akışı tasarımınızı etkileyebilir. Örneğin, iş akışınız kısıtlanmış duruma girerse bu değişiklik yinelenen iletilere neden olabileceğinden otomatik tamamlama tetikleyicisindeki eşzamanlılığı değiştirmekten kaçının. Eşzamanlılık denetiminin değiştirilmesi aşağıdaki koşulları oluşturur:

    • Azaltılan tetikleyiciler kodla WorkflowRunInProgress atlanır.

    • Tamamlama işlemi çalışmaz.

    • Sonraki tetikleyici çalıştırması yoklama aralığından sonra gerçekleşir.

    Service bus kilitleme süresini yoklama aralığından daha uzun bir değere ayarlamanız gerekir. Ancak, bu ayara rağmen, iş akışınız bir sonraki yoklama aralığında kısıtlanmış durumda kalırsa ileti yine de tamamlanmayabilir.

    Ancak, Service Bus tetikleyicisinin eşzamanlılık ayarını açarsanız özelliğin maximumWaitingRuns varsayılan değeri 10 olur. Service Bus varlığının kilit süresi ayarına ve iş akışınızın çalışma süresine bağlı olarak, bu varsayılan değer çok büyük olabilir ve "kilit kaybı" özel durumlarına neden olabilir. Senaryonuz için en uygun değeri bulmak için özelliği için 1 veya 2 değeriyle test etmeye maximumWaitingRuns başlayın. En fazla bekleme çalıştırması değerini değiştirmek için Bekleme çalıştırması sınırını değiştirme bölümünü gözden geçirin.

Service Bus yerleşik bağlayıcı tetikleyicileri

Şu anda Service Bus yerleşik tetikleyicisinin yapılandırma ayarları, mantıksal uygulamanızın host.json dosyasında tanımlanan Azure İşlevleri ana bilgisayar uzantısı ile mantıksal uygulamanızın iş akışında tanımlanan ve tasarımcı veya kod görünümü aracılığıyla ayarlayabileceğiniz tetikleyici ayarları arasında paylaşılır. Bu bölüm her iki ayar konumunu da kapsar.

  • Standart iş akışlarında, kuyruk tetikleyicisinde iletiler kullanılabilir olduğunda gibi bazı tetikleyiciler bir veya daha fazla ileti döndürebilir. Bu tetikleyiciler tetiklendiğinde, bir ile ileti sayısı arasında geri döner. Bu tür bir tetikleyici için ve En fazla ileti sayısı parametresinin desteklenmediği durumlarda, host.json dosyasındaki maxMessageBatchSize özelliğini kullanarak alınan ileti sayısını yine de denetleyebilirsiniz. Bu dosyayı bulmak için bkz . Standart mantıksal uygulamalar için konak ve uygulama ayarlarını düzenleme.

    "extensions": {
      "serviceBus": {
          "maxMessageBatchSize": 25
      }
    }
    
  • Service Bus tetikleyicisinde eşzamanlılığı tasarımcı aracılığıyla veya kodda da etkinleştirebilirsiniz:

    "runtimeConfiguration": {
        "concurrency": {
            "runs": 100
        }
    }
    

    Bir toplu iş kullanarak eşzamanlılık ayarladığınızda, eş zamanlı çalıştırma sayısını genel toplu iş boyutundan daha büyük tutun. Bu şekilde, okuma iletileri bekleme durumuna girmez ve okunduğunda her zaman alınır. Bazı durumlarda tetikleyici, toplu iş boyutunun iki katına kadar olabilir.

  • Eşzamanlılığı etkinleştirirseniz SplitOn sınırı 100 öğeye indirilir. Bu davranış yalnızca Service Bus tetikleyicisi için değil tüm tetikleyiciler için geçerlidir. Eşzamanlılığı etkinleştirdiğiniz tetikleyicilerde belirtilen toplu iş boyutunun bu sınırdan küçük olduğundan emin olun.

  • Tetikleyicinin eşzamanlılık ayarlarını aşabileceği bazı senaryolar vardır. Azure Logic Apps, bu çalıştırmaların başarısız olması yerine, başlatılabilene kadar bunları bekleme durumunda kuyruğa alır. maximumWaitingRuns ayarı, bekleme durumunda izin verilen çalıştırma sayısını denetler:

    "runtimeConfiguration": {
        "concurrency": {
            "runs": 100,
            "maximumWaitingRuns": 50
        }
    }
    

    Service Bus tetikleyicisiyle, çalıştırmaların ileti kilidi zaman aşımından daha uzun süre beklememesi için bu değişiklikleri dikkatle test ettiğinizden emin olun. Varsayılan değerler hakkında daha fazla bilgi için bkz. Eşzamanlılık ve toplu işlemleri kaldırma sınırları.

  • Eşzamanlılığı etkinleştirirseniz, toplu okumalar arasında varsayılan olarak 30 saniyelik bir gecikme vardır. Bu gecikme, aşağıdaki hedeflere ulaşmak için tetikleyiciyi yavaşlatır:

    • Eşzamanlılığın uygulanacağı çalıştırma sayısını denetlemek için gönderilen depolama çağrılarının sayısını azaltın.

    • İleti bulunamadığında 30 saniyelik bir yoklama içeren Service Bus yönetilen bağlayıcı tetikleyicisinin davranışını taklit edin.

    Bu gecikmeyi değiştirebilirsiniz, ancak varsayılan değerdeki değişiklikleri dikkatle test edin:

    "workflow": {
        "settings": {
            "Runtime.ServiceProviders.FunctionTriggers.DynamicListenerEnableDisableInterval": "00:00:30"
        }
    }
    
    

1. Adım: Service Bus ad alanına erişimi denetleme

Mantıksal uygulama kaynağınızın Service Bus ad alanınıza erişme izinlerine sahip olduğunu onaylamak için aşağıdaki adımları kullanın:

  1. Azure portalında Service Bus ad alanınızı açın.

  2. Ad alanı menüsündeki Ayarlar altında Paylaşılan erişim ilkeleri'ni seçin. Talepler'in altında, bu ad alanı için Yönetme izinlerine sahip olup olmadığınızı denetleyin.

    Azure portalını, Service Bus ad alanını ve 'Paylaşılan erişim ilkeleri'nin seçili olduğunu gösteren ekran görüntüsü.

2. Adım: Bağlantı kimlik doğrulaması gereksinimlerini alma

Daha sonra, ilk kez bir Service Bus tetikleyicisi veya eylemi eklediğinizde, bağlantı kimlik doğrulama türü de dahil olmak üzere bağlantı bilgileri istenir. Mantıksal uygulama iş akışı türünüz, Service Bus bağlayıcısı sürümünüz ve seçili kimlik doğrulama türünü temel alarak aşağıdaki öğelere ihtiyacınız olacaktır:

Yönetilen bağlayıcı kimlik doğrulaması (Tüketim ve Standart iş akışları)

Authentication type Gerekli bilgiler
Erişim Anahtarı Service Bus ad alanınızın bağlantı dizesi. Daha fazla bilgi için Bkz. Service Bus ad alanı için bağlantı dizesi alma
Microsoft Entra tümleşik Service Bus ad alanınızın uç nokta URL'si. Daha fazla bilgi için Bkz . Service Bus ad alanı için uç nokta URL'sini alma.
Logic Apps Yönetilen Kimliği Service Bus ad alanınızın uç nokta URL'si. Daha fazla bilgi için Bkz . Service Bus ad alanı için uç nokta URL'sini alma.

Yerleşik bağlayıcı kimlik doğrulaması (yalnızca standart iş akışları)

Authentication type Gerekli bilgiler
Bağlantı Dizesi Service Bus ad alanınızın bağlantı dizesi. Daha fazla bilgi için Bkz. Service Bus ad alanı için bağlantı dizesi alma
Active Directory OAuth - Service Bus ad alanınızın tam adı( örneğin, <service-bus-namespace.servicebus.windows.net).> Daha fazla bilgi için Bkz . Service Bus ad alanı için tam ad alma. Diğer özellik değerleri için Microsoft Entra Id Open Authentication bölümünü gözden geçirin.
Yönetilen kimlik Service Bus ad alanınızın tam adı, örneğin, <your-Service-Bus-namespace.servicebus.windows.net.> Daha fazla bilgi için Bkz . Service Bus ad alanı için tam ad alma.

Service Bus ad alanı için bağlantı dizesi alma

Service Bus tetikleyicisi veya eylemi eklerken bağlantı oluşturmak için Service Bus ad alanınızın bağlantı dizesi sahip olmanız gerekir. bağlantı dizesi, sb:// ön eki ile başlar.

  1. Azure portalında Service Bus ad alanınızı açın.

  2. Ad alanı menüsündeki Ayarlar altında Paylaşılan erişim ilkeleri'ni seçin.

  3. Paylaşılan erişim ilkeleri bölmesinde RootManageSharedAccessKey'i seçin.

  4. Birincil veya ikincil bağlantı dizesi yanındaki kopyala düğmesini seçin.

    Service Bus ad alanı bağlantı dizesi ve kopyala düğmesinin seçili olduğunu gösteren ekran görüntüsü.

    Not

    Dizenin belirli bir mesajlaşma varlığı için değil ad alanı için olup olmadığını denetlemek için bağlantı dizesi parametresini EntityPath arayın. Bu parametreyi bulursanız, bağlantı dizesi belirli bir varlığa yöneliktir ve iş akışınızla kullanılacak doğru dize değildir.

  5. bağlantı dizesi daha sonra kullanmak üzere kaydedin.

Service Bus ad alanı için uç nokta URL'sini alma

Service Bus yönetilen bağlayıcısını kullanıyorsanız, Microsoft Entra tümleşik veya Logic Apps Yönetilen Kimliği için kimlik doğrulama türünü seçerseniz bu uç nokta URL'sine ihtiyacınız vardır. Uç nokta URL'si sb:// ön eki ile başlar.

  1. Azure portalında Service Bus ad alanınızı açın.

  2. Ad alanı menüsündeki Ayarlar altında Özellikler'i seçin.

  3. Özellikler'in altında, Service Bus uç noktasının yanındaki uç nokta URL'sini kopyalayın ve service bus uç noktası URL'sini sağlamanız gerektiğinde daha sonra kullanmak üzere kaydedin.

Service Bus ad alanı için tam adı alma

  1. Azure portalında Service Bus ad alanınızı açın.

  2. Ad alanı menüsünde Genel Bakış'ı seçin.

  3. Genel Bakış bölmesinde Konak adı özelliğini bulun ve service-bus-namespace.servicebus.windows.net> gibi <görünen tam adı kopyalayın.

3. Adım: 1. Seçenek - Service Bus tetikleyicisi ekleme

Aşağıdaki adımlarda Azure portalı kullanılır, ancak uygun Azure Logic Apps uzantısıyla mantıksal uygulama iş akışları oluşturmak için aşağıdaki araçları da kullanabilirsiniz:

  1. Azure portalında, tasarımcıda boş iş akışıyla Tüketim mantıksal uygulama kaynağınızı açın.

  2. Tasarımcıda, istediğiniz Azure Service Bus tetikleyicisini eklemek için bu genel adımları izleyin.

    Bu örnek, kuyrukta bir ileti alındığında (otomatik tamamlama) adlı tetikleyiciyle devam eder.

  3. İstenirse, bağlantınız için aşağıdaki bilgileri sağlayın. Bitirdiğinizde Oluştur'u seçin.

    Özellik Zorunlu Açıklama
    Bağlantı adı Yes Bağlantınız için bir ad
    Kimlik Doğrulaması Türü Yes Service Bus ad alanınıza erişmek için kullanılacak kimlik doğrulama türü. Daha fazla bilgi için Yönetilen bağlayıcı kimlik doğrulaması'nı gözden geçirin.
    Bağlantı Dizesi Yes Daha önce kopyalayıp kaydettiğiniz bağlantı dizesi.

    Örneğin, bu bağlantı erişim anahtarı kimlik doğrulamasını kullanır ve Service Bus ad alanı için bağlantı dizesi sağlar:

    Tüketim iş akışını, Service Bus tetikleyicisini ve örnek bağlantı bilgilerini gösteren ekran görüntüsü.

  4. Tetikleyici bilgileri kutusu göründükten sonra gerekli bilgileri sağlayın, örneğin:

    Özellik Zorunlu Açıklama
    Kuyruk adı Yes Erişilecek seçili kuyruk
    Kuyruk türü Hayır Seçili kuyruğun türü
    Öğeleri ne sıklıkta denetlemek istiyorsunuz? Yes Öğe kuyruğunun denetlenecek yoklama aralığı ve sıklığı

    Tüketim iş akışını, Service Bus tetikleyicisini ve örnek tetikleyici bilgilerini gösteren ekran görüntüsü.

  5. Tetikleyiciye diğer kullanılabilir özellikleri eklemek için Yeni parametre ekle listesini açın ve istediğiniz özellikleri seçin.

  6. İş akışınızın ihtiyaç duyduğu tüm eylemleri ekleyin.

    Örneğin, yeni bir ileti geldiğinde e-posta gönderen bir eylem ekleyebilirsiniz. Tetikleyiciniz kuyruğunuzu denetlediğinde ve yeni bir ileti bulduğunda, iş akışınız bulunan ileti için seçtiğiniz eylemleri çalıştırır.

  7. Tamamladığınızda, iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

3. Adım: Seçenek 2 - Service Bus eylemi ekleme

Aşağıdaki adımlarda Azure portalı kullanılır, ancak uygun Azure Logic Apps uzantısıyla mantıksal uygulama iş akışları oluşturmak için aşağıdaki araçları da kullanabilirsiniz:

  1. Azure portalında Tüketim mantığı uygulamanızı ve iş akışınızı tasarımcıda açın.

  2. Tasarımcıda, istediğiniz Azure Service Bus eylemini eklemek için bu genel adımları izleyin.

    Bu örnek İleti gönder eylemiyle devam eder.

  3. İstenirse, bağlantınız için aşağıdaki bilgileri sağlayın. Bitirdiğinizde Oluştur'u seçin.

    Özellik Zorunlu Açıklama
    Bağlantı adı Yes Bağlantınız için bir ad
    Kimlik Doğrulaması Türü Yes Service Bus ad alanınıza erişmek için kullanılacak kimlik doğrulama türü. Daha fazla bilgi için Yönetilen bağlayıcı kimlik doğrulaması'nı gözden geçirin.
    Bağlantı Dizesi Yes Daha önce kopyalayıp kaydettiğiniz bağlantı dizesi.

    Örneğin, bu bağlantı erişim anahtarı kimlik doğrulamasını kullanır ve Service Bus ad alanı için bağlantı dizesi sağlar:

    Tüketim iş akışını, Service Bus eylemini ve örnek bağlantı bilgilerini gösteren ekran görüntüsü.

  4. Eylem bilgileri kutusu göründükten sonra gerekli bilgileri sağlayın, örneğin:

    Özellik Zorunlu Açıklama
    Kuyruk/Konu adı Yes İletiyi göndermek için seçilen kuyruk veya konu hedefi
    Oturum Kimliği Hayır İletiyi oturum kullanan bir kuyruğa veya konuya gönderiyorsanız oturum kimliği
    Sistem özellikleri Hayır - Hiçbiri
    - Çalıştırma Ayrıntıları: İletiye özel özellikler olarak çalıştırma hakkında meta veri özellik bilgileri ekleyin.

    Tüketim iş akışını, Service Bus eylemini ve örnek eylem bilgilerini gösteren ekran görüntüsü.

  5. Eyleme diğer kullanılabilir özellikleri eklemek için Yeni parametre ekle listesini açın ve istediğiniz özellikleri seçin.

  6. İş akışınızın ihtiyaç duyduğu diğer eylemleri ekleyin.

    Örneğin, iletinizin gönderildiğini onaylamak için e-posta gönderen bir eylem ekleyebilirsiniz.

  7. Tamamladığınızda, iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

Service Bus yerleşik bağlayıcı uygulaması ayarları

Standart mantıksal uygulama kaynağında Service Bus yerleşik bağlayıcısı, ileti gönderme zaman aşımı ve ileti havuzundaki işlemci çekirdeği başına ileti gönderen sayısı gibi çeşitli eşikleri denetleyan uygulama ayarlarını içerir. Daha fazla bilgi için Bkz . Uygulama ayarları başvurusu - local.settings.json.

Service Bus yerleşik tetikleyicileri ile teslim edilemeyen ileti kuyruklarından iletileri okuma

Standart iş akışlarında, kuyruktaki veya konu aboneliğindeki bir teslim edilemeyen ileti kuyruğundan gelen iletiyi okumak için belirtilen tetikleyicileri kullanarak şu adımları izleyin:

  1. Senaryonuza bağlı olarak boş iş akışınızda, kuyrukta iletiler kullanılabilir olduğunda veya Konu aboneliğinde bir ileti kullanılabilir olduğunda (peek-lock) adlı Service Bus yerleşik bağlayıcı tetikleyicisini ekleyin.

  2. Tetikleyicide, kuyruk veya konu aboneliğinizin diğer kuyruklar gibi erişebileceğiniz varsayılan teslim edilemeyen ileti kuyruğunu belirtmek için aşağıdaki parametre değerlerini ayarlayın:

    • Bir kuyruk tetikleyicisinde iletiler kullanılabilir olduğunda: Kuyruk adı parametresini kuyrukadı/$deadletterqueue olarak ayarlayın.

    • Konu aboneliği (peek-lock) tetikleyicisinde bir ileti olduğunda: Konu adı parametresini topicname/Subscriptions/subscriptionname/$deadletterqueue olarak ayarlayın.

    Daha fazla bilgi için bkz . Service Bus teslim edilemeyen ileti kuyruklarına genel bakış.

Sorun giderme

İş akışınıza yönelik güncelleştirmelerdeki gecikmeler geçerlilik kazanıyor

Service Bus tetikleyicinin yoklama aralığı 10 saniye gibi küçükse, iş akışınızda yapılan güncelleştirmeler 10 dakikaya kadar geçerli olmayabilir. Bu sorunu geçici olarak çözmek için mantıksal uygulama kaynağını devre dışı bırakabilir, değişiklikleri yapabilir ve ardından mantıksal uygulama kaynağını yeniden etkinleştirebilirsiniz.

Kullanılabilir oturum yok

Bazen, bir iletiyi tamamlama veya oturumu yenileme gibi işlemler aşağıdaki hatayı oluşturur:

{
  "status": 400,
  "message": "No session available to complete the message with the lock token 'ce440818-f26f-4a04-aca8-555555555555'. clientRequestId: facae905-9ba4-44f4-a42a-888888888888",
  "error": {
    "message": "No session available to complete the message with the lock token 'ce440818-f26f-4a04-aca8-555555555555'."
  }
}

Service Bus bağlayıcısı, oturumlarla ilişkili tüm işlemleri desteklemek için bellek içi önbellek kullanır. Service Bus ileti alıcısı, iletileri alan rol örneğinin (sanal makine) belleğinde önbelleğe alınır. Tüm istekleri işlemek için, bağlantının tüm çağrıları aynı rol örneğine yönlendirilir. Bu davranış gereklidir çünkü bir oturumdaki tüm Service Bus işlemleri belirli bir oturum için iletileri alan aynı alıcıyı gerektirir.

Altyapı güncelleştirmesi, bağlayıcı dağıtımı vb. nedenlerle isteklerin aynı rol örneğine yönlendirilmeme olasılığı vardır. Bu olay gerçekleşirse, oturumdaki işlemleri gerçekleştiren alıcı isteğe hizmet eden rol örneğinde kullanılamadığından istekler başarısız olur.

Bu hata yalnızca ara sıra gerçekleştiği sürece hata beklenir. Hata oluştuğunda, ileti hizmet veri yolu içinde korunmaya devam eder. Sonraki tetikleyici veya iş akışı çalıştırması iletiyi yeniden işlemeye çalışır.

Sonraki adımlar