Arka uç hizmetini ayarla
UYGULANANLAR: Tüm API Management katmanları
Gelen isteği, set-backend-service
bu işlemin API ayarlarında belirtilenden farklı bir arka uçtan yeniden yönlendirmek için ilkeyi kullanın. Bu ilke, gelen isteğin arka uç hizmet temel URL'sini ilkede belirtilen bir URL'ye veya arka uça değiştirir.
Arka uç varlığına başvurmak, arka uç hizmet tabanı URL'sini ve diğer ayarları tek bir yerde yönetmenize ve bunları birden çok API ve işlemde yeniden kullanmanıza olanak tanır. Ayrıca arka ucu çok fazla istekten korumak için arka uç hizmetleri havuzu ve devre kesici kuralları genelinde trafiğin yük dengelemesini uygulayın.
Not
Arka uç varlıkları Azure portalı, yönetim API'si ve PowerShell aracılığıyla yönetilebilir.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<set-backend-service base-url="base URL of the backend service" backend-id="name of the backend entity specifying base URL of the backend service" sf-resolve-condition="condition" sf-service-instance-name="Service Fabric service name" sf-listener-name="Service Fabric listener name" />
Özellikler
Öznitelik | Açıklama | Zorunlu | Varsayılan |
---|---|---|---|
temel url | Yeni arka uç hizmet tabanı URL'si. İlke ifadelerine izin verilir. |
base-url
backend-id Veya bunlardan biri mevcut olmalıdır. |
Yok |
arka uç kimliği | Bir bölümün birincil veya ikincil çoğaltmasını yönlendirmek için arka ucun tanımlayıcısı (ad). İlke ifadelerine izin verilir. |
base-url
backend-id Veya bunlardan biri mevcut olmalıdır. |
Yok |
sf-resolve-condition | Yalnızca arka uç bir Service Fabric hizmeti olduğunda geçerlidir. Service Fabric arka ucu çağrısının yeni çözünürlükle tekrarlanması gerekip gerekmediğini tanımlayan koşul. İlke ifadelerine izin verilir. | Hayır | YOK |
sf-service-instance-name | Yalnızca arka uç bir Service Fabric hizmeti olduğunda geçerlidir. Çalışma zamanında hizmet örneklerinin değiştirilmesine izin verir. İlke ifadelerine izin verilir. | Hayır | YOK |
sf-partition-key | Yalnızca arka uç bir Service Fabric hizmeti olduğunda geçerlidir. Service Fabric hizmetinin bölüm anahtarını belirtir. İlke ifadelerine izin verilir. | Hayır | YOK |
sf-listener-name | Yalnızca arka uç bir Service Fabric hizmeti olduğunda ve kullanılarak backend-id belirtildiğinde geçerlidir. Service Fabric Reliable Services, bir hizmette birden çok dinleyici oluşturmanıza olanak tanır. Bu öznitelik, arka uç Reliable Service'in birden fazla dinleyicisi olduğunda belirli bir dinleyiciyi seçmek için kullanılır. Bu öznitelik belirtilmezse, API Management adsız bir dinleyici kullanmayı dener. Adı olmayan bir dinleyici, yalnızca bir dinleyicisi olan Reliable Services için tipiktir. İlke ifadelerine izin verilir. |
Hayır | YOK |
Kullanım
- İlke bölümleri: gelen, arka uç
- İlke kapsamları: genel, çalışma alanı, ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim, şirket içinde barındırılan, çalışma alanı
Kullanım notları
Şu anda, özniteliğini backend-id
kullanarak bir temel set-backend-service
ilke tanımlarsanız ve temel ilkeyi kapsam içinde kullanarak <base />
devralırsanız, özniteliğini değilbase-url
, yalnızca özniteliğini kullanan backend-id
bir ilkeyle geçersiz kılınabilir.
Örnekler
sorgu dizesindeki değere göre yönlendirme isteği
Bu örnekte ilke, set-backend-service
sorgu dizesinde geçirilen sürüm değerine göre istekleri API'de belirtilenden farklı bir arka uç hizmetine yönlendirir.
<policies>
<inbound>
<choose>
<when condition="@(context.Request.Url.Query.GetValueOrDefault("version") == "2013-05")">
<set-backend-service base-url="http://contoso.com/api/8.2/" />
</when>
<when condition="@(context.Request.Url.Query.GetValueOrDefault("version") == "2014-03")">
<set-backend-service base-url="http://contoso.com/api/9.1/" />
</when>
</choose>
<base />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Başlangıçta arka uç hizmet tabanı URL'si API ayarlarından türetilir. Böylece istek URL'si https://contoso.azure-api.net/api/partners/15?version=2013-05&subscription-key=abcdef
, API ayarlarında belirtilen arka uç hizmet URL'si olur http://contoso.com/api/10.4/partners/15?version=2013-05&subscription-key=abcdef
http://contoso.com/api/10.4/
.
İlke <seçme> deyimi uygulandığında arka uç hizmet tabanı URL'si, sürüm isteği sorgu parametresinin değerine bağlı olarak veya http://contoso.com/api/9.1
olarak yeniden http://contoso.com/api/8.2
değiştirilebilir. Örneğin, değer "2013-15"
son istek URL'si ise olur http://contoso.com/api/8.2/partners/15?version=2013-15&subscription-key=abcdef
.
İsteğin daha fazla dönüştürülmesi istenirse, diğer Dönüştürme ilkeleri kullanılabilir. Örneğin, isteğin belirli bir sürüm arka ucuna yönlendirildiğine göre sürüm sorgusu parametresini kaldırmak için Sorgu dizesi parametreyi ayarla ilkesi artık yedekli sürüm özniteliğini kaldırmak için kullanılabilir.
İstekleri bir service fabric arka ucuna yönlendirme
Bu örnekte ilke, bölüm anahtarı olarak userId sorgu dizesini ve bölümün birincil çoğaltmasını kullanarak isteği bir service fabric arka ucuna yönlendirir.
<policies>
<inbound>
<set-backend-service backend-id="my-sf-service" sf-partition-key="@(context.Request.Url.Query.GetValueOrDefault("userId","")" sf-replica-type="primary" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- Azure API Management ilke araç seti
- Azure'da Microsoft Copilot kullanarak ilke yazma