Фабрика данных Azure для вызова локального API Alteryx

Мне нужно начать работу в Alteryx (локально) из конвейера ADFv2, и я не могу найти способ сделать это. Встроенная веб-активность, похоже, не поддерживает процесс подписи OAUTH 1.0, который требуется Alteryx. При попытке настроить всегда выдает ошибку «Ошибка вызова конечной точки». Я пробовал использовать связанную службу Web Activity + HTTP и не могу понять, как это сделать. Мне нужно выполнить POST (запустить задание) и GET (получить статус задания) для локального API Alteryx, и я даже не уверен, какое действие лучше всего для этого.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
544
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

С моей точки зрения, вам нужно будет извлечь процесс подписи, который требуется oAuth 1.0. Вы можете сделать одно из двух:

  • Используйте настраиваемое действие, в котором вы собираетесь кодировать процесс подписи, а также вызывать свою работу Alteryx.

  • Используйте что-то вроде функции Azure, чтобы выполнить процесс подписи и вызвать на свою работу. А затем используйте веб-активность для вызова вашей функции (это похоже на вызов обычного API с некоторыми настраиваемыми заголовками для аутентификации).

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

Спасибо за ответ. Комбинация описанных вами вариантов - это решение, которое я придумал. Я создаю подпись в настраиваемом коде и передаю ее следующей задаче веб-активности. К сожалению, я все еще не могу заставить веб-активность работать с моим локальным API Alteryx даже при использовании Private I.R. параметр. Было бы полезно, если бы ADF выдавал больше, чем общие ошибки, потому что я не могу сказать, попадает ли он даже в API или что-то в локальной сети останавливает его. Что, я думаю, может быть так. Спасибо за ответ!

CodeMonkey 25.10.2018 17:08

Я должен добавить, что я уже написал полный проект .Net, который будет вызывать Alteryx. Он работает на 100%, когда я запускаю исполняемый файл из локальной сети. Но когда я устанавливаю его в хранилище BLOB-объектов и использую пакетные службы для его выполнения, я получаю сообщение об ошибке, в котором говорится, что он не может разрешить URL-адрес. Я думаю, это потому, что пакетная служба находится в Azure и не подключена к локальной сети. Я пробовал использовать свой Private I.R. для связанной службы пакетной службы, но это не имеет значения. Идеи?

CodeMonkey 25.10.2018 17:11

Извините за поздний ответ, но, к сожалению, у меня больше нет идей о вашей проблеме. Судя по тому, что вы описываете, это проблема с сетью. Должен ли Alteryx API оставаться частным и доступным только из внутренней сети вашей локальной сети?

fgbaezp 07.11.2018 15:44

Это определенно была проблема сети для пользовательской активности пакетных служб. Мне пришлось расширить локальный домен до Azure через VPN и т. д. Но я все еще пытаюсь понять, почему я не могу заставить работать веб-активность, поскольку в ней используется собственный IR. Я должен иметь возможность сгенерировать ключ в настраиваемом действии, которое требует OAuth 1.0, а затем передать его в веб-действие в качестве параметра. Но я не могу заставить веб-активность правильно распознавать мой URL-адрес API.

CodeMonkey 08.11.2018 22:02

Рад слышать, что часть проблемы решена! Итак, что осталось, так это то, что веб-активность правильно попадает в ваш Alteryx Api? Какую ошибку выдает веб-активность?

fgbaezp 09.11.2018 01:49

Я открыл тикет в MSFT по веб-активности. Они подтвердили, что веб-активность не может использовать IR и, следовательно, не может подключаться к локальному источнику. Так что я застрял, делая это в рамках Custom Activity / Batch Services.

CodeMonkey 19.11.2018 19:42

Я открыл тикет в Microsoft, и получил ответ:

Currently the web activity can only run in ADF web role, not IR. This means the web activity does direct calls from the Azure servers to the end points, and is not capable of doing so through a self-hosted IR.

Я тоже это выяснил. Мне пришлось использовать пакетные службы и установить свой код на виртуальную машину в пакетных службах.

CodeMonkey 14.03.2019 17:40

Другие вопросы по теме