Skip to main content Home Creators beko2210 firstbrain azure-eventgrid-java
azure-eventgrid-java Build event-driven applications with Azure Event Grid SDK for Java. Use when publishing events, implementing pub/sub patterns, or integrating with Azure services via events.
Jump to install Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-eventgrid-javaThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository Related occupations SOC
Based on SOC occupation classification
name azure-eventgrid-java description Build event-driven applications with Azure Event Grid SDK for Java. Use when publishing events, implementing pub/sub patterns, or integrating with Azure services via events. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","eventgrid"]
Azure Event Grid SDK for Java
Build event-driven applications using the Azure Event Grid SDK for Java.
Installation
<dependency >
<groupId > com.azure</groupId >
<artifactId > azure-messaging-eventgrid</artifactId >
<version > 4.27.0</version >
</dependency >
Client Creation
EventGridPublisherClient
import com.azure.messaging.eventgrid.EventGridPublisherClient;
import com.azure.messaging.eventgrid.EventGridPublisherClientBuilder;
import com.azure.core.credential.AzureKeyCredential;
EventGridPublisherClient<EventGridEvent> client = new EventGridPublisherClientBuilder ()
.endpoint("<topic-endpoint>" )
.credential(new AzureKeyCredential ("<access-key>" ))
.buildEventGridEventPublisherClient();
EventGridPublisherClient<CloudEvent> cloudClient = new EventGridPublisherClientBuilder ()
.endpoint("<topic-endpoint>" )
.credential(new AzureKeyCredential ("<access-key>" ))
.buildCloudEventPublisherClient();
With DefaultAzureCredential
import com.azure.identity.DefaultAzureCredentialBuilder;
EventGridPublisherClient<EventGridEvent> client = new EventGridPublisherClientBuilder ()
.endpoint("<topic-endpoint>" )
.credential( ().build())
.buildEventGridEventPublisherClient();
new
DefaultAzureCredentialBuilder
Async Client import com.azure.messaging.eventgrid.EventGridPublisherAsyncClient;
EventGridPublisherAsyncClient<EventGridEvent> asyncClient = new EventGridPublisherClientBuilder ()
.endpoint("<topic-endpoint>" )
.credential(new AzureKeyCredential ("<access-key>" ))
.buildEventGridEventPublisherAsyncClient();
Event Types Type Description EventGridEventAzure Event Grid native schema CloudEventCNCF CloudEvents 1.0 specification BinaryDataCustom schema events
Core Patterns
Publish EventGridEvent import com.azure.messaging.eventgrid.EventGridEvent;
import com.azure.core.util.BinaryData;
EventGridEvent event = new EventGridEvent (
"resource/path" ,
"MyApp.Events.OrderCreated" ,
BinaryData.fromObject(new OrderData ("order-123" , 99.99 )),
"1.0"
);
client.sendEvent(event);
Publish Multiple Events List<EventGridEvent> events = Arrays.asList(
new EventGridEvent ("orders/1" , "Order.Created" ,
BinaryData.fromObject(order1), "1.0" ),
new EventGridEvent ("orders/2" , "Order.Created" ,
BinaryData.fromObject(order2), "1.0" )
);
client.sendEvents(events);
Publish CloudEvent import com.azure.core.models.CloudEvent;
import com.azure.core.models.CloudEventDataFormat;
CloudEvent cloudEvent = new CloudEvent (
"/myapp/orders" ,
"order.created" ,
BinaryData.fromObject(orderData),
CloudEventDataFormat.JSON
);
cloudEvent.setSubject("orders/12345" );
cloudEvent.setId(UUID.randomUUID().toString());
cloudClient.sendEvent(cloudEvent);
Publish CloudEvents Batch List<CloudEvent> cloudEvents = Arrays.asList(
new CloudEvent ("/app" , "event.type1" , BinaryData.fromString("data1" ), CloudEventDataFormat.JSON),
new CloudEvent ("/app" , "event.type2" , BinaryData.fromString("data2" ), CloudEventDataFormat.JSON)
);
cloudClient.sendEvents(cloudEvents);
Async Publishing asyncClient.sendEvent(event)
.subscribe(
unused -> System.out.println("Event sent successfully" ),
error -> System.err.println("Error: " + error.getMessage())
);
asyncClient.sendEvents(events)
.doOnSuccess(unused -> System.out.println("All events sent" ))
.doOnError(error -> System.err.println("Failed: " + error))
.block();
Custom Event Data Class public class OrderData {
private String orderId;
private double amount;
private String customerId;
public OrderData (String orderId, double amount) {
this .orderId = orderId;
this .amount = amount;
}
}
OrderData order = new OrderData ("ORD-123" , 150.00 );
EventGridEvent event = new EventGridEvent (
"orders/" + order.getOrderId(),
"MyApp.Order.Created" ,
BinaryData.fromObject(order),
"1.0"
);
Receiving Events
Parse EventGridEvent import com.azure.messaging.eventgrid.EventGridEvent;
String jsonPayload = "[{\"id\": \"...\", ...}]" ;
List<EventGridEvent> events = EventGridEvent.fromString(jsonPayload);
for (EventGridEvent event : events) {
System.out.println("Event Type: " + event.getEventType());
System.out.println("Subject: " + event.getSubject());
System.out.println("Event Time: " + event.getEventTime());
BinaryData data = event.getData();
OrderData orderData = data.toObject(OrderData.class);
}
Parse CloudEvent import com.azure.core.models.CloudEvent;
String cloudEventJson = "[{\"specversion\": \"1.0\", ...}]" ;
List<CloudEvent> cloudEvents = CloudEvent.fromString(cloudEventJson);
for (CloudEvent event : cloudEvents) {
System.out.println("Type: " + event.getType());
System.out.println("Source: " + event.getSource());
System.out.println("ID: " + event.getId());
MyEventData data = event.getData().toObject(MyEventData.class);
}
Handle System Events import com.azure.messaging.eventgrid.systemevents.*;
for (EventGridEvent event : events) {
if (event.getEventType().equals("Microsoft.Storage.BlobCreated" )) {
StorageBlobCreatedEventData blobData =
event.getData().toObject(StorageBlobCreatedEventData.class);
System.out.println("Blob URL: " + blobData.getUrl());
}
}
Event Grid Namespaces (MQTT/Pull)
Receive from Namespace Topic import com.azure.messaging.eventgrid.namespaces.EventGridReceiverClient;
import com.azure.messaging.eventgrid.namespaces.EventGridReceiverClientBuilder;
import com.azure.messaging.eventgrid.namespaces.models.*;
EventGridReceiverClient receiverClient = new EventGridReceiverClientBuilder ()
.endpoint("<namespace-endpoint>" )
.credential(new AzureKeyCredential ("<key>" ))
.topicName("my-topic" )
.subscriptionName("my-subscription" )
.buildClient();
ReceiveResult result = receiverClient.receive(10 , Duration.ofSeconds(30 ));
for (ReceiveDetails detail : result.getValue()) {
CloudEvent event = detail.getEvent();
System.out.println("Event: " + event.getType());
receiverClient.acknowledge(Arrays.asList(detail.getBrokerProperties().getLockToken()));
}
Reject or Release Events
receiverClient.reject(Arrays.asList(lockToken));
receiverClient.release(Arrays.asList(lockToken));
receiverClient.release(Arrays.asList(lockToken),
new ReleaseOptions ().setDelay(ReleaseDelay.BY_60_SECONDS));
Error Handling import com.azure.core.exception.HttpResponseException;
try {
client.sendEvent(event);
} catch (HttpResponseException e) {
System.out.println("Status: " + e.getResponse().getStatusCode());
System.out.println("Error: " + e.getMessage());
}
Environment Variables EVENT_GRID_TOPIC_ENDPOINT=https://<topic-name>.<region>.eventgrid.azure.net/api/events
EVENT_GRID_ACCESS_KEY=<your-access-key>
Best Practices
Batch Events : Send multiple events in one call when possible
Idempotency : Include unique event IDs for deduplication
Schema Validation : Use strongly-typed event data classes
Retry Logic : Built-in, but consider dead-letter for failures
Event Size : Keep events under 1MB (64KB for basic tier)
Trigger Phrases
"Event Grid Java"
"publish events Azure"
"CloudEvent SDK"
"event-driven messaging"
"pub/sub Azure"
"webhook events"
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]