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
Využití
- Oddíly zásad: příchozí, back-end
- Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
- Brány: Classic, v2, consumption, self-host, workspace
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.1
v 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=abcdef
se .
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>
Související zásady
Související obsah
Další informace o práci se zásadami najdete v tématech:
- Kurz: Transformace a ochrana rozhraní API
- Referenční informace o zásadách pro úplný seznam prohlášení o zásadách a jejich nastavení
- Výrazy zásad
- Nastavení nebo úprava zásad
- Opakované použití konfigurací zásad
- Úložiště fragmentů zásad
- Sada nástrojů zásad služby Azure API Management
- Vytváření zásad pomocí Microsoft Copilotu v Azure