Aktivační výstupní vazba

PLATÍ PRO: Vývojář | Premium

Tato invoke-dapr-binding zásada dává bráně služby API Management pokyn, aby aktivovala odchozí vazbu Dapr. Zásada toho dosahuje tak, že vytvoří požadavek HTTP POST na http://localhost:3500/v1.0/bindings/{{bind-name}}, nahrazení parametru šablony a přidání obsahu zadaného v prohlášení o zásadách.

Zásada předpokládá, že modul runtime Dapr běží v kontejneru sajdkáru ve stejném podu jako brána. Modul runtime Dapr zodpovídá za vyvolání externího prostředku reprezentované vazbou. Přečtěte si další informace o integraci Dapr se službou API Management.

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

<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
    <metadata>
        <item key="item-name"><!-- item-value --></item>
    </metadata>
    <data>
        <!-- message content -->
    </data>
</invoke-dapr-binding>

Atributy

Atribut Popis Požaduje se Výchozí
name Název cílové vazby Musí odpovídat názvu vazeb definovaných v Jazyce Dapr. Výrazy zásad jsou povolené. Yes
operation Název cílové operace (specifický pro vazbu). Mapy do vlastnosti operace v Dapr. Výrazy zásad nejsou povolené. No Nic
ignore-error Pokud je tato možnost nastavená tak, aby true neaktivovala část "při chybě" při přijetí chyby z modulu runtime Dapr. Výrazy zásad nejsou povolené. No false
response-variable-name Název položky kolekce Variables, která se má použít k uložení odpovědi z modulu runtime Dapr. Výrazy zásad nejsou povolené. No Nic
timeout Doba (v sekundách) počkejte, než modul runtime Dapr odpoví. Může se pohybovat od 1 do 240 sekund. Výrazy zásad jsou povolené. No 5
šablona Modul šablon, který se má použít k transformaci obsahu zprávy. "Liquid" je jediná podporovaná hodnota. No Nic
content-type Typ obsahu zprávy "application/json" je jediná podporovaná hodnota. No Nic

Elementy

Element (Prvek) Popis Povinní účastníci
metadata Svázání konkrétních metadat ve formě párů klíč/hodnota Mapy k vlastnosti metadat v Dapr. No
data Obsah zprávy Mapy k datové vlastnosti v Dapr. Výrazy zásad jsou povolené. No

Využití

Poznámky k využití

Podpora dapr musí být povolená v bráně v místním prostředí.

Příklad

Následující příklad ukazuje aktivaci odchozí vazby s názvem "external-systems" s názvem "create", metadata sestávající ze dvou položek klíč/hodnota s názvem "source" a "client-ip" a text přicházející z původního požadavku. Odpověď přijatá z modulu runtime Dapr je zachycena v položce bind-response kolekce Variables v kontextovém objektu.

Pokud modul runtime Dapr z nějakého důvodu selže a odpoví chybou, aktivuje se část "při chybě" a odpověď přijatá z modulu runtime Dapr se vrátí doslovného doslovného odhadu volajícího. V opačném případě se vrátí výchozí 200 OK odpověď.

Oddíl "back-end" je prázdný a požadavek se nepřesměruje do back-endu.

<policies>
     <inbound>
        <base />
        <invoke-dapr-binding
                      name="external-system"
                      operation="create"
                      response-variable-name="bind-response">
            <metadata>
                <item key="source">api-management</item>
                <item key="client-ip">@(context.Request.IpAddress )</item>
            </metadata>
            <data>
                @(context.Request.Body.As<string>() )
            </data>
        </invoke-dapr-binding>
    </inbound>
    <backend>
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
        <return-response response-variable-name="bind-response" />
    </on-error>
</policies>

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