Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
SE APLICA A: Desarrollador | Premium
La directiva publish-to-dapr
indica a la puerta de enlace de API Management que envíe un mensaje a un tema de publicación/suscripción de Dapr. Para ello, la directiva realiza una solicitud HTTP POST a http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}
reemplazando los parámetros de la plantilla y agregando el contenido especificado en la instrucción de directiva.
La directiva presupone que el entorno de ejecución de Dapr se está ejecutando en un contenedor sidecar situado en el mismo pod que la puerta de enlace. El entorno de ejecución de Dapr implementa la semántica de publicación/suscripción. Obtenga más información sobre la integración de Dapr con API Management.
Nota
Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.
<publish-to-dapr pubsub-name="pubsub-name" topic="topic-name" ignore-error="false|true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<!-- message content -->
</publish-to-dapr>
Atributo | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
pubsub-name | Nombre del componente PubSub de destino. Se asigna al parámetro pubsubname de Dapr. Si no está presente, el valor del atributo topic debe tener el formato pubsub-name/topic-name . Se permiten expresiones de directiva. |
No | None |
topic | El nombre del tema. Se asigna al parámetro topic de Dapr. Se permiten expresiones de directiva. | Sí | N/D |
ignore-error | Si se establece en true , indica a la directiva que no desencadene la sección "on-error" tras recibir un error del entorno de ejecución de Dapr. No se permiten expresiones de directiva. |
No | false |
response-variable-name | Nombre de la entrada de la colección Variables que se va a usar para almacenar la respuesta del entorno de ejecución de Dapr. No se permiten expresiones de directiva. | No | None |
timeout | Tiempo (en segundos) que se debe esperar a que responda el entorno de ejecución de Dapr. Puede oscilar entre 1 y 240 segundos. Se permiten expresiones de directiva. | No | 5 |
template | Motor de creación de plantillas que se usa para transformar el contenido del mensaje. "Liquid" es el único valor admitido. | No | None |
content-type | Tipo de contenido del mensaje. "application/json" es el único valor admitido. | No | None |
La compatibilidad con Dapr debe estar habilitada en la puerta de enlace autohospedada.
En el ejemplo siguiente, se muestra cómo se envía el cuerpo de la solicitud actual al tema "new" del componente de publicación/suscripción de "orders". La respuesta que se recibe del entorno de ejecución de Dapr se almacena en la entrada "dapr-response" de la colección Variables del objeto context.
Si, por ejemplo, el entorno de ejecución de Dapr no encuentra el tema de destino y responde con un error, se desencadena la sección "on-error". La respuesta que se recibe del entorno de ejecución de Dapr se devuelve literalmente al autor de la llamada. De lo contrario, se devuelve la respuesta predeterminada: 200 OK
.
La sección "backend" está vacía y la solicitud no se reenvía al back-end.
<policies>
<inbound>
<base />
<publish-to-dapr
pubsub-name="orders"
topic="new"
response-variable-name="dapr-response">
@(context.Request.Body.As<string>())
</publish-to-dapr>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="pubsub-response" />
</on-error>
</policies>
Para más información sobre el trabajo con directivas, vea:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahora