Sdílet prostřednictvím


Set backend service (Nastavit back-endovou službu)

PLATÍ PRO: Všechny úrovně služby API Management

set-backend-service Pomocí zásad můžete přesměrovat příchozí požadavek na jiný back-end, než který je zadaný v nastavení rozhraní API pro danou operaci. Tato zásada změní základní adresu URL back-endové služby příchozího požadavku na adresu URL nebo back-end zadaný v zásadách.

Odkazování na back-endovou entitu umožňuje spravovat základní adresu URL back-endové služby a další nastavení na jednom místě a opakovaně je používat napříč několika rozhraními API a operacemi. Implementujte také vyrovnávání zatížení provozu napříč fondem back-endových služeb a pravidel jističe, která chrání back-end před příliš mnoha požadavky.

Poznámka:

Back-endové entity je možné spravovat prostřednictvím webu Azure Portal, rozhraní API pro správu a PowerShellu.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Atribut Popis Požaduje se Výchozí
base-url Nová adresa URL základní služby back-endu Výrazy zásad jsou povolené. Jedna z base-url nebo backend-id musí být přítomna.
back-end-ID Identifikátor (název) back-endu pro směrování primární nebo sekundární repliky oddílu Výrazy zásad jsou povolené. Jedna z base-url nebo backend-id musí být přítomna.
sf-resolve-condition Platí pouze v případě, že back-end je služba Service Fabric. Podmínka identifikující, jestli se má volání back-endu Service Fabric opakovat s novým překladem. Výrazy zásad jsou povolené. No
sf-service-instance-name Platí pouze v případě, že back-end je služba Service Fabric. Umožňuje změnu instancí služby za běhu. Výrazy zásad jsou povolené. No
sf-partition-key Platí pouze v případě, že back-end je služba Service Fabric. Určuje klíč oddílu služby Service Fabric. Výrazy zásad jsou povolené. No
sf-listener-name Platí pouze v případě, že back-end je služba Service Fabric a je určena pomocí backend-id. Služba Service Fabric Reliable Services umožňuje vytvořit ve službě několik naslouchacích procesů. Tento atribut slouží k výběru konkrétního naslouchacího procesu, pokud má back-endová spolehlivá služba více než jeden naslouchací proces. Pokud tento atribut není zadaný, služba API Management se pokusí použít naslouchací proces bez názvu. Naslouchací proces bez názvu je typický pro Reliable Services, který má pouze jeden naslouchací proces. Výrazy zásad jsou povolené. No

Využití

Poznámky k využití

Pokud v současné době definujete základní set-backend-service zásadu pomocí atributu backend-id a dědíte základní zásadu v <base /> rámci oboru, lze ji přepsat pouze pomocí zásady pomocí atributu backend-id , nikoli atributu base-url .

Příklady

Směrování požadavku na základě hodnoty v řetězci dotazu

V tomto příkladu set-backend-service zásady směruje požadavky na základě hodnoty verze předávané v řetězci dotazu do jiné back-endové služby, než která je zadaná v rozhraní API.

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

Počáteční adresa URL základní služby back-endu je odvozená z nastavení rozhraní API. Proto se adresa URL https://contoso.azure-api.net/api/partners/15?version=2013-05&subscription-key=abcdef požadavku stane http://contoso.com/api/10.4/partners/15?version=2013-05&subscription-key=abcdef místem, kde http://contoso.com/api/10.4/ je adresa URL back-endové služby zadaná v nastavení rozhraní API.

Když se <použije příkaz zásad výběru> , může se adresa URL základní služby back-endu znovu změnit na http://contoso.com/api/8.2 nebo http://contoso.com/api/9.1v závislosti na hodnotě parametru dotazu požadavku na verzi. Pokud je "2013-15" například hodnotou konečná adresa URL požadavku, stane http://contoso.com/api/8.2/partners/15?version=2013-15&subscription-key=abcdefse .

Pokud je požadována další transformace požadavku, je možné použít další zásady transformace. Pokud například chcete odebrat parametr dotazu verze teď, když se požadavek směruje do konkrétní verze back-endu, můžete k odebrání atributu teď redundantní verze použít zásadu parametru set řetězce dotazu.

Směrování požadavků na back-end Service Fabric

V tomto příkladu zásada směruje požadavek na back-end Service Fabric pomocí řetězce dotazu userId jako klíče oddílu a pomocí primární repliky oddílu.

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

Další informace o práci se zásadami najdete v tématech: