Megosztás a következőn keresztül:


Set backend service (Háttérszolgáltatás beállítása)

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

set-backend-service A házirend használatával átirányíthat egy bejövő kérést egy másik háttérrendszerbe, mint a művelet API-beállításaiban megadott. Ez a szabályzat a bejövő kérés háttérszolgáltatás-alap URL-címét a házirendben megadott URL-címre vagy háttérrendszerre módosítja.

A háttérbeli entitásokra való hivatkozással egyetlen helyen kezelheti a háttérszolgáltatás alap URL-címét és egyéb beállításait, és több API-ban és műveletben újra felhasználhatja őket. Emellett a háttérszolgáltatások és az áramkör-megszakító szabályok készletében a forgalom terheléselosztását is implementálhatja, hogy a háttérrendszer túl sok kéréstől védve legyen.

Feljegyzés

A háttérbeli entitások az Azure Portalon, a felügyeleti API-val és a PowerShell-lel kezelhetők.

Feljegyzés

Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.

Szabályzatutasítás

<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" />

Attribútumok

Attribútum Leírás Kötelező Alapértelmezett
alap URL-cím Új háttérszolgáltatás alap URL-címe. A szabályzatkifejezések engedélyezettek. Az egyiknek base-url jelen kell lennie, vagy backend-id jelen kell lennie. n/a
háttér-azonosító A háttérrendszer azonosítója (neve) egy partíció elsődleges vagy másodlagos replikája átirányításához. A szabályzatkifejezések engedélyezettek. Az egyiknek base-url jelen kell lennie, vagy backend-id jelen kell lennie. n/a
sf-resolve-condition Csak akkor alkalmazható, ha a háttérrendszer egy Service Fabric-szolgáltatás. A Service Fabric-háttérrendszer hívását új felbontással meg kell-e ismételni. A szabályzatkifejezések engedélyezettek. Nem N.A.
sf-service-instance-name Csak akkor alkalmazható, ha a háttérrendszer egy Service Fabric-szolgáltatás. Lehetővé teszi a szolgáltatáspéldányok futásidőben történő módosítását. A szabályzatkifejezések engedélyezettek. Nem N.A.
sf-partition-key Csak akkor alkalmazható, ha a háttérrendszer egy Service Fabric-szolgáltatás. Egy Service Fabric-szolgáltatás partíciókulcsát adja meg. A szabályzatkifejezések engedélyezettek. Nem N.A.
sf-listener-name Csak akkor alkalmazható, ha a háttérrendszer Service Fabric-szolgáltatás, és a beállítás a következő használatával backend-idtörténik: . A Service Fabric Reliable Services lehetővé teszi, hogy több figyelőt hozzon létre egy szolgáltatásban. Ez az attribútum egy adott figyelő kiválasztására szolgál, ha egy háttérbeli Reliable Service több figyelővel rendelkezik. Ha ez az attribútum nincs megadva, az API Management név nélkül próbál meg figyelőt használni. A név nélküli figyelők általában olyan Reliable Services-szolgáltatásokra jellemzőek, amelyek csak egy figyelővel rendelkeznek. A szabályzatkifejezések engedélyezettek. Nem N.A.

Használat

Használati megjegyzések

Jelenleg, ha az backend-id attribútummal definiál egy alapházirendetset-backend-service, és a hatókörön belül örökli az alapházirendet<base />, akkor csak az backend-id attribútumot használó szabályzattal lehet felülírni, nem pedig az base-url attribútummal.

Példák

Útvonalkérés a lekérdezési sztringben szereplő érték alapján

Ebben a példában a szabályzat a set-backend-service lekérdezési sztringben megadott verzióérték alapján irányítja a kéréseket egy másik háttérszolgáltatásnak, mint az API-ban megadott.

<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>

Kezdetben a háttérszolgáltatás alap URL-címe az API-beállításokból származik. Így a kérelem URL-címe https://contoso.azure-api.net/api/partners/15?version=2013-05&subscription-key=abcdef lesz http://contoso.com/api/10.4/partners/15?version=2013-05&subscription-key=abcdef http://contoso.com/api/10.4/ az API-beállításokban megadott háttérszolgáltatás URL-címe.

A kiválasztási <>házirend-utasítás alkalmazásakor a háttérszolgáltatás alap URL-címe a verziókérés lekérdezési paraméterének értékétől függően újra http://contoso.com/api/8.2 http://contoso.com/api/9.1megváltozhat. Ha például az érték a "2013-15" végső kérelem URL-címe lesz http://contoso.com/api/8.2/partners/15?version=2013-15&subscription-key=abcdef.

Ha a kérés további átalakítására van szükség, más átalakítási szabályzatok is használhatók. Ha például a verzió lekérdezési paraméterét most szeretné eltávolítani, hogy a kérést egy verzióspecifikus háttérrendszerre irányítják, a Lekérdezési sztring paraméterszabályzatának beállítása használható a már redundáns verzióattribútum eltávolításához.

Kérések átirányítása service fabric háttérrendszerhez

Ebben a példában a szabályzat átirányítja a kérést egy service fabric háttérrendszerbe, a userId lekérdezési sztringet használva partíciókulcsként és a partíció elsődleges replikáját használva.

<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>

A szabályzatok használatával kapcsolatos további információkért lásd: