Azure媒体服务v3-事件网格-删除资产不会触发任何存储事件

时间:2018-12-05 17:22:22

标签: azure-media-services

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" }

1 个答案:

答案 0 :(得分:0)

首先,根据官方文件Reacting to Blob storage events,如下所示。

  

Blob存储事件在通用v2存储中可用   帐户和Blob存储帐户。

因此,如果您使用的是通用v2存储,则只有创建的事件Microsoft.Storage.BlobCreated将发送到您的Azure存储事件订阅。请确保您使用了哪种Azure存储。

第二,如果仅关注资产已删除事件Microsoft.Storage.BlobDeleted,则可以从Azure存储的事件订阅中的EVENT TYPES中进行选择,如下图所示。

enter image description here

所有Blob存储事件都与Blob本身有关,而不与容器有关。您可以在标签Additional Features中看到Filtering events功能,以 将事件与主题以字符串开头或结尾进行匹配,但仍会获取资产Blob的事件。

enter image description here

一种解决方法是通过webhook处理blob事件以进行过滤,或者您可以尝试将EventHubs与StreamAnalytics结合使用以过滤并获取容器的事件。