Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-eventgrid-javaيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
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]]