About Event Grid System Topic dead-lettering

Jona 495 Reputation points
2024-10-21T23:00:01.6133333+00:00

Hi,

I have a Event Grid Sytem Topic that forwards "Blob Created" events to Event Hub. Everything is well so far.

When configuring dead lettering, I set up an Storage Account as destination. When proven, events are store in json format in this Storage Account.

However, when setting up a Function to pick the event from the Storage Account and send it back to Event Grid, I read that that System Topics don't support API or SDK for publishing. This makes sense to me, since Azure services should be the only ones allowed to publish them.

I don't know how to re-send those events to Event Grid, so that the can have a ful event delivery cycle again. ¿what is the recommended architecture in this case?, ¿Should I create other Event Grid resource like Custom Topics that fordwards events to Event Hubs?

Regards

Azure Event Grid
Azure Event Grid
An Azure event routing service designed for high availability, consistent performance, and dynamic scale.
397 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. LeelaRajeshSayana-MSFT 16,601 Reputation points
    2024-10-22T15:47:38.6433333+00:00

    Hi @Jona Greetings! Thank you for posting this question here.

    As you stated in the question, we cannot explicitly send a message/event to a System Topic in Event grid. There are a couple of options you can try here.

    1. Create a custom topic in the event grid and route the events from the Storage account to this queue. You would need to subscribe to this topic and create a same flow to process the Blob
    2. Alternatively, if the time of the blob creation event is not a priority, you can leverage the Blob Storage SDK to delete the blob and reupload it. This would trigger a Blob created event which would then be processed by your Event Grid System Topic.

    You can choose either approach that suits your needs.


    If the response helped, please do click Accept Answer and Yes for the answer provided. Doing so would help other community members with similar issue identify the solution. I highly appreciate your contribution to the community.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.