Attivare l'associazione di output
SI APPLICA A: Sviluppatore | Premium
Il criterio invoke-dapr-binding
indica al gateway di Gestione API di attivare un'associazione Dapr in uscita. Il criterio esegue questa operazione effettuando una richiesta HTTP POST a http://localhost:3500/v1.0/bindings/{{bind-name}},
sostituendo il parametro del modello e aggiungendo il contenuto specificato nell'istruzione del criterio.
Il criterio presuppone che il runtime Dapr sia in esecuzione in un contenitore collaterale nello stesso pod del gateway. Il runtime Dapr è responsabile della chiamata della risorsa esterna rappresentata dall'associazione. Altre informazioni sull'integrazione di Dapr con Gestione API.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.
Istruzione del criterio
<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>
Attributi
Attributo | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
name | Nome dell'associazione di destinazione. Deve corrispondere al nome delle associazioni definite in Dapr. Le espressioni di criteri sono consentite. | Sì | N/D |
operation (operazione) | Nome dell'operazione di destinazione (specifico dell'associazione). Esegue il mapping alla proprietà operazione in Dapr. Le espressioni di criteri non sono consentite. | No | None |
ignore-error | Se impostato su true indica al criterio di non attivare la sezione "on-error" al momento della ricezione dell'errore dal runtime Dapr. Le espressioni di criteri non sono consentite. |
No | false |
response-variable-name | Nome della voce della raccolta Variables da usare per l'archiviazione della risposta dal runtime Dapr. Le espressioni di criteri non sono consentite. | No | None |
timeout | Tempo (in secondi) di attesa della risposta del runtime Dapr. Può variare da 1 a 240 secondi. Le espressioni di criteri sono consentite. | No | 5 |
annidato | Motore di creazione modelli da usare per trasformare il contenuto del messaggio. "Liquid" è l'unico valore supportato. | No | None |
content-type | Tipo di contenuto del messaggio. "application/json" è l'unico valore supportato. | No | None |
Elementi
Elemento | Descrizione | Richiesto |
---|---|---|
metadata | Metadati specifici dell'associazione sotto forma di coppie chiave/valore. Esegue il mapping alla proprietà metadati in Dapr. | No |
data | Contenuto del messaggio. Esegue il mapping alla proprietà dati in Dapr. Le espressioni di criteri sono consentite. | No |
Utilizzo
- Sezioni del criterio: inbound, outbound, on-error
- Ambiti del criterio: globale, prodotto, API, operazione
- Gateway: self-hosted
Note sull'utilizzo
Il supporto Dapr deve essere abilitato nel gateway self-hosted.
Esempio
L'esempio seguente illustra l'attivazione dell'associazione in uscita denominata "external-systems" con l'operazione denominata "create", dei metadati costituiti da due elementi chiave/valore denominati "source" e "client-ip" e del corpo proveniente dalla richiesta originale. La risposta ricevuta dal runtime Dapr viene acquisita nella voce "bind-response" della raccolta Variables nell'oggetto contesto.
Se il runtime Dapr ha esito negativo per qualche motivo e risponde con un errore, la sezione "on-error" viene attivata e la risposta ricevuta dal runtime Dapr viene restituita al verbatim del chiamante. In caso contrario, viene restituita la risposta predefinita 200 OK
.
La sezione "back-end" è vuota e la richiesta non viene inoltrata al back-end.
<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>
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri usando Microsoft Copilot in Azure