Понимание события microsoft.storage.blobcreated - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь использовать триггер события для загрузки данных из BLOB-объекта Azure в базу данных SQL.

Что я хочу понять, так это когда действительно запускается событие Microsoft.storage.blobcreated в случае, когда я создаю большие файлы в хранилище BLOB-объектов Azure?

  1. Это когда мой файл только что создан и который все еще загружает данные, или

  2. Когда файл завершил загрузку всех данных

В первом случае операция копирования может потерять некоторые данные, поскольку файл еще не полностью загрузил все данные.

Кроме того, пока мы на этом, есть лиКак мы можем обрабатывать любые изменения в существующем BLOB-объекте, чтобы измененный файл также загружался в мою базу данных SQL?

1 Ответ

1 голос
/ 10 июня 2019

Только после завершения создания файла в хранилище BLOB-объектов Azure у вас будут свойства BLOB-объектов, такие как URL 、 TYPE и SIZE: enter image description here

Событию Microsoft.storage.blobcreated нужны эти свойства BLOB-объектов в качестве свойств события. Вы можете получить это из примера события, созданного BLOB-объектом:

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/xstoretestaccount",
  "subject": "/blobServices/default/containers/testcontainer/blobs/testfile.txt",
  "eventType": "Microsoft.Storage.BlobCreated",
  "eventTime": "2017-06-26T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "api": "PutBlockList",
    "clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
    "requestId": "831e1650-001e-001b-66ab-eeb76e000000",
    "eTag": "0x8D4BCC2E4835CD0",
    "contentType": "text/plain",
    "contentLength": 524288,
    "blobType": "BlockBlob",
    "url": "https://example.blob.core.windows.net/testcontainer/testfile.txt",
    "sequencer": "00000000000004420000000000028963",
    "storageDiagnostics": {
      "batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
    }
  },
  "dataVersion": "",
  "metadataVersion": "1"
}]

Подробнее см .: Свойства события .

Это означает, что ваши данные не будут загружены в базу данных SQL, пока файл не будет завершен.

Что касается другого вашего вопроса, есть ли способ обработки любых изменений существующего большого двоичного объекта, чтобы измененный файл также загружался в мою базу данных SQL?

Да, есть. Например, вы можете использовать приложение логики с триггером: хранилище BLOB-объектов Azure - при добавлении или изменении большого двоичного объекта . Вы можете сослаться на этот учебник .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...