Как получить путь BLOB-объекта, используя его URL-адрес, из данных события EventGrids BlobCreated? - PullRequest
0 голосов
/ 21 сентября 2018

Я использую приложения логики для создания рабочего процесса, который запускается каждый раз при создании нового большого двоичного объекта.В качестве триггера я обрабатываю событие EventGrids BlobCreated.Данные в теле события предоставляют мне полный URL-адрес большого двоичного объекта, поэтому у меня есть полный абсолютный URL-адрес.Затем я использую действие Get Blob Content, чтобы получить содержимое BLOB-объекта.Насколько я знаю, это действие принимает либо Blob ID, либо путь в качестве входных данных.

Теперь вот проблема.Я использую функцию uriPath для преобразования URL-адреса в путь, но кажется, что она не поддерживает некоторые символы (например, ^).Кодирование URL с использованием encodeURIComponent не помогает.

В обоих случаях я получаю сообщение об ошибке:

The template language function 'uriPath' expects its parameter to be a well-formed absolute URI

Этого не происходит, если нет специальных символов.Это кажется проблематичным, поскольку разрешено создание больших двоичных объектов со специальными символами (например, ^).

Есть ли какой-либо другой способ получения пути недавно созданного большого двоичного объекта?Возможно, я использую другие функции шаблона, чем я должен?Или, может быть, есть другой способ получить содержимое BLOB-объекта, не используя его путь?

1 Ответ

0 голосов
/ 24 сентября 2018

Я не смог воспроизвести ошибку, о которой вы упоминали.При создании больших двоичных объектов с символом ^ в качестве части имени файла действие приложения логики могло бы получить содержимое BLOB-объектов без проблем.Ниже приведен код действия Get_blob_content_using_path

        "Get_blob_content_using_path": {
            "inputs": {
                "host": {
                    "connection": {
                        "name": "@parameters('$connections')['azureblob']['connectionId']"
                    }
                },
                "method": "get",
                "path": "/datasets/default/GetFileContentByPath",
                "queries": {
                    "inferContentType": true,
                    "path": "@{split(triggerBody()?['subject'], '/')?[4]}/@{split(triggerBody()?['subject'], '/')?[6]}",
                    "queryParametersSingleEncoded": true
                }
            },

HTH

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