Azure Event Grid Plugin
The plugin provides functionality to interact with Event Grid
Installation
-
Copy the below line to
dependencies
section of the projectbuild.gradle
fileExample 1. build.gradleimplementation(group: 'org.vividus', name: 'vividus-plugin-azure-event-grid', version: '0.5.2')
-
If the project was imported to the IDE before adding new plugin, re-generate the configuration files for the used IDE and then refresh the project in the used IDE.
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 the property azure.environment
(sets the environment for all Azure plugins). The default value is AZURE
.
The supported environments are only:
-
AZURE
-
AZURE_CHINA
-
AZURE_GERMANY
-
AZURE_US_GOVERNMENT
Steps
Collect system topics info
The step is deprecated and will be removed in VIVIDUS 0.6.0. The replacement is the generic step retrieving information about Azure resources. The replacement pattern is:
|
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`