azure-la-servicebus-trigger-binding
match (record)
{
"field": "properties.definition.triggers",
"resource_type": "Microsoft.Logic/workflows"
}
where
trigger.type in [ApiConnection, ApiConnectionWebhook]
trigger.inputs.host.connection.referenceName references a Service Bus connection (connector == servicebus)
emit
| source type | Messaging |
|---|---|
| target type | Compute |
| source | <Service Bus Queue/Topic node referenced by the connection> |
| target | <Logic App workflow> |
Narrative
Service Bus entity {source.name} triggers Logic App {target.name} on each received message (ApiConnection trigger).
Raw rule rules/explicit/azure-logicapps.yaml
id: azure-la-servicebus-trigger-binding
emits: CanTrigger
applies_to:
- azure
match_record:
resource_type: Microsoft.Logic/workflows
field: properties.definition.triggers
where:
- trigger.type in [ApiConnection, ApiConnectionWebhook]
- trigger.inputs.host.connection.referenceName references a Service Bus connection (connector == servicebus)
emit:
source_type: Messaging
target_type: Compute
source: <Service Bus Queue/Topic node referenced by the connection>
target: <Logic App workflow>
api_source: az rest --method GET --url .../providers/Microsoft.Logic/workflows/<name>
evidence_field: definition.triggers[*].inputs.host.api.id (servicebus connector)
note: 'Resolve the connection referenceName -> Microsoft.Web/connections resource -> backend Service
Bus namespace + entity (queue/topic). Emit CanTrigger from the Queue/Topic node to the workflow. Also
needed: CanWriteData(?sender, ?queue) from the Service Bus adapter; messaging-chains messaging-publish-triggers-consumer
then collapses to CanTrigger(?sender, ?workflow).'
narrative: Service Bus entity {source.name} triggers Logic App {target.name} on each received message
(ApiConnection trigger).