Azure Media Services v3-事件网格-删除资产不会触发任何存储事件。
目标是使用事件网格来检测资产更改,例如资产创建或资产删除。
是否可以获取资产Blob容器本身而非单个Blob的事件?
许多Microsoft.Storage.BlobCreated事件是在实时事件期间发送的-实际上太多了,超出了我的需求。
仅删除事件才发送,以删除实时事件预览blob:preview.ism和preview.ismc blob。
{
"topic": "/subscriptions/123/resourceGroups/ResGroup/providers/Microsoft.Storage/storageAccounts/my_storage",
"subject": "/blobServices/default/containers/asset-90fc157d-b4a3-4862-a7fe-ff4df7fa5ee7/blobs/preview.ismc",
"eventType": "Microsoft.Storage.BlobDeleted",
"eventTime": "2018-12-05T06:38:32.997468Z",
"id": "e8416467-b01e-00a3-2965-8ccf53060fe2",
"data": {
"api": "DeleteBlob",
"clientRequestId": "05549d31-e9be-4f15-961f-befbba482f6c",
"requestId": "e8416467-b01e-00a3-2965-8ccf53000000",
"eTag": "0x8D65A7C46CFD798",
"contentType": "application/octet-stream",
"contentLength": 3809,
"blobType": "BlockBlob",
"url": "https://my_storage.blob.core.windows.net/asset-90fc157d-b4a3-4862-a7fe-ff4df7fa5ee7/preview.ismc",
"sequencer": "0000000000000000000000000000137600000000003f399c",
"storageDiagnostics": {
"batchId": "06e102aa-d2ec-4aaf-8c4c-0d89dfae5ffb"
}
},
"dataVersion": "",
"metadataVersion": "1" }
答案 0 :(得分:0)
首先,根据官方文件Reacting to Blob storage events,如下所示。
Blob存储事件在通用v2存储中可用 帐户和Blob存储帐户。
因此,如果您使用的是通用v2存储,则只有创建的事件Microsoft.Storage.BlobCreated
将发送到您的Azure存储事件订阅。请确保您使用了哪种Azure存储。
第二,如果仅关注资产已删除事件Microsoft.Storage.BlobDeleted
,则可以从Azure存储的事件订阅中的EVENT TYPES
中进行选择,如下图所示。
所有Blob存储事件都与Blob本身有关,而不与容器有关。您可以在标签Additional Features
中看到Filtering events
功能,以
将事件与主题以字符串开头或结尾进行匹配,但仍会获取资产Blob的事件。
一种解决方法是通过webhook处理blob事件以进行过滤,或者您可以尝试将EventHubs与StreamAnalytics结合使用以过滤并获取容器的事件。