Azure Event Grid Plugin
The plugin provides functionality to interact with Event Grid
Installation
implementation(group: 'org.vividus', name: 'vividus-plugin-azure-event-grid', version: '0.4.16')
Interaction with topics
Topics configuration
Topics are configured with a set of properties with the following format:
azure.event-grid.{topic-name}.{property-name}=property value
Where:
-
topic-name
- The name of the topic which will be used as a step parameter -
property-name
- The name of the topic property. One of:-
key
- The topic access key -
event-schema
- The kind of schema (GRID, CLOUD or CUSTOM) -
endpoint
- The topic endpoint
-
Steps
Publish event
Publishes an event to a topic
When I send event to `$topicName` topic with payload:$payload
-
$topicName
- The name of the topic, will be used to find required properties values -
$payload
- The JSON payload to send to a topic
When I send event to `create-user` topic with payload:
{
"id": "1807",
"eventType": "RegisterVehicle",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}
Topic management
Configuration
Authentication
The authentication process relies on the configuration of the environment variables.
See the official "Azure identity" guide to get more details on what types of authentication could be used.
Azure environment selection
Azure environment
could be optionally specified using either global property azure.environment
(sets the environment for all Azure plugins) or plugin-specific property
azure.event-grid.environment
. The plugin-specific property takes
precedence over the global one. The default value is AZURE
.
The plugin-specific property azure.event-grid.environment is deprecated and will be removed in VIVIDUS 0.5.0. The global property must be used.
|
The supported environments are only:
-
AZURE
-
AZURE_CHINA
-
AZURE_GERMANY
-
AZURE_US_GOVERNMENT
Steps
Collect system topics info
Collects system topics info in the specified resource group and saves it as JSON to a variable. For more information, see the Azure Docs.
When I collect system topics in resource group `$resourceGroupName` and save them as JSON to $scopes variable `$variableName`
-
$resourceGroupName
- The name of the resource group to list the system topics from. -
$variableName
- The variable name to store the info about system topics as JSON.
The client should have permission to run action |
When I collect system topics in resource group `TEST-SA` and save them as JSON to scenario variable `system-topics`