Udostępnij za pośrednictwem


Ustaw zmienną

DOTYCZY: Wszystkie warstwy usługi API Management

Zasady set-variable deklarują zmienną kontekstową i przypisuje jej wartość określoną za pomocą wyrażenia lub literału ciągu. Jeśli wyrażenie zawiera literał, zostanie przekonwertowany na ciąg, a typem wartości będzie System.String.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

<set-variable name="variable name" value="Expression | String literal" />

Atrybuty

Atrybut opis Wymagania
name Nazwa zmiennej. Wyrażenia zasad nie są dozwolone. Tak
wartość Wartość zmiennej. Może to być wyrażenie lub wartość literału. Wyrażenia zasad są dozwolone. Tak

Użycie

  • Sekcje zasad: ruch przychodzący, wychodzący, zaplecze, błąd
  • Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
  • Bramy: klasyczne, v2, zużycie, self-hosted

Dozwolone typy

Wyrażenia używane w set-variable zasadach muszą zwracać jeden z następujących typów podstawowych.

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

Przykład

W poniższym przykładzie pokazano set-variable zasady w sekcji przychodzącej. Ta zasada ustawiania zmiennych tworzy zmienną kontekstową logiczną ustawioną isMobile na wartość true, jeśli User-Agent nagłówek żądania zawiera tekst iPad lub iPhone.

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

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: