Sdílet prostřednictvím


Nastavit proměnnou

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

Zásada set-variable deklaruje kontextovou proměnnou a přiřadí jí hodnotu zadanou výrazem nebo řetězcovým literálem. Pokud výraz obsahuje literál, bude převeden na řetězec a typ hodnoty bude System.String.

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-variable name="variable name" value="Expression | String literal" />

Atributy

Atribut Popis Povinní účastníci
name Název proměnné. Výrazy zásad nejsou povolené. Ano
hodnota Hodnota proměnné. Může se jednat o výraz nebo literálovou hodnotu. Výrazy zásad jsou povolené. Ano

Využití

  • Oddíly zásad: příchozí, odchozí, back-end, on-error
  • Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
  • Brány: Classic, v2, consumption, self-host, workspace

Povolené typy

Výrazy použité v zásadách set-variable musí vracet jeden z následujících základních typů.

  • System.Boolean
  • System.SByte
  • System.Byte
  • System.UInt16
  • System.UInt32
  • System.UInt64
  • System.Int16
  • System.Int32
  • System.Int64
  • System.Decimal
  • System.Single
  • System.Double
  • System.Guid
  • System.String
  • System.Char
  • System.DateTime
  • System.TimeSpan
  • System.Byte?
  • System.UInt16?
  • System.UInt32?
  • System.UInt64?
  • System.Int16?
  • System.Int32?
  • System.Int64?
  • System.Decimal?
  • System.Single?
  • System.Double?
  • System.Guid?
  • System.String?
  • System.Char?
  • System.DateTime?

Příklad

Následující příklad ukazuje zásadu set-variable v oddílu příchozích přenosů. Tato zásada proměnné sady vytvoří isMobile logickou kontextovou proměnnou, která je nastavena na hodnotu true, pokud User-Agent hlavička požadavku obsahuje text iPad nebo iPhone.

<set-variable name="IsMobile" value="@(context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPad") || context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iPhone"))" />

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