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-urlbackend-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-urlbackend-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-idbelirtildiğ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

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=abcdefhttp://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.1olarak 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>

İlkelerle çalışma hakkında daha fazla bilgi için bkz: