Azure Logic Apps - получение содержимого Blob из Blob Event - PullRequest
0 голосов
/ 07 декабря 2018

Мое приложение логики получает событие BLOB-объекта, когда BLOB-объект создается через http:

Logic Apps Designer

Я использую подписку на сетку событий, которая запускает логикуПриложение через webhook, когда происходит событие Blob Created.

Типичное событие BLOB-объекта, полученное триггером http, выглядит следующим образом:

[
  {
    "topic": "/subscriptions/xxxxxxx/resourceGroups/a-resource-group/providers/Microsoft.Storage/storageAccounts/ablobstorageaccount",
    "subject": "/blobServices/default/containers/testcontainer/blobs/9de2125e-5279-4375-bc60-c9987eb99251",
    "eventType": "Microsoft.Storage.BlobCreated",
    "eventTime": "2018-12-07T12:42:53.6561593Z",
    "id": "3c8f8611-001e-0029-722a-8eb18106aef2",
    "data": {
      "api": "PutBlob",
      "clientRequestId": "799b46aa-ff9f-4561-a087-36f790ab0df5",
      "requestId": "3c8f8611-001e-0029-722a-8eb181000000",
      "eTag": "0x8D65C41819B23B9",
      "contentType": "text/plain",
      "contentLength": 22,
      "blobType": "BlockBlob",
      "url": "https://ablobstorageaccount.blob.core.windows.net/testcontainer/9de2125e-5279-4375-bc60-c9987eb99251",
      "sequencer": "00000000000000000000000000003D5300000000018067c3",
      "storageDiagnostics": {
        "batchId": "be84f175-da20-4a44-8a8c-5d33a92fbcd3"
      }
    },
    "dataVersion": "",
    "metadataVersion": "1"
  }
]

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

Ответы [ 3 ]

0 голосов
/ 08 декабря 2018

В дополнение к ответу @dbarkol в следующем фрагменте экрана показано использование Получить содержимое BLOB-объекта с использованием пути , где выражение равно:

uriPath(triggerBody()?['data'].url)

enter image description here

0 голосов
/ 19 декабря 2018

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

Пример такого использования в приложениях логики с сеткой и хранилищем событий доступен в этом примере .

0 голосов
/ 08 декабря 2018

Один из способов сделать это можно по пути:

  1. Извлечение имени контейнера из субъекта
  2. Извлечение имени файла из субъекта
  3. Использованиедействие «Получить содержимое BLOB-объекта, используя путь».Ваш путь к BLOB-объекту будет / {имя-контейнера} / {имя-файла}
...