Azure Функция, написанная на Powershell, которая возвращает JObject - PullRequest
0 голосов
/ 12 февраля 2020

Я пишу Azure функцию в Powershell, которая будет вызываться из Azure фабрики данных. ADF требует, чтобы функции возвращали объект JObject. Может ли кто-нибудь предоставить (или указать мне) короткий, полный скрипт Function, который делает это?

Я попытался добавить эту строку в стартовый шаблон, который генерирует Azure, но это из C# и явно не подходит для Powershell.

return new OkObjectResult( new { StatusCode = $status, Body = $body });

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Джордж Чен вытащил меня из-за горба. Мое окончательное решение ниже. Я проверил, что это работает с фабрикой данных как для успешных, так и для ошибок.

$body = $('{ "functionReturnMsg":"'  + $msg + '" }')

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{ 
    StatusCode = $status
    Body = $body   # Data Factory wants this in JSON
    })

Документация ADF делает этот звук более сложным, чем на самом деле.

0 голосов
/ 13 февраля 2020

Предположим, что вы хотите, чтобы функция powershell возвращала объект json, вы можете просто использовать ConvertFrom-Json или ConvertTo-Json для преобразования между объектом и строкой.

На самом деле, если ваше тело находится в формате json строка, все будет в порядке.

$body = '{ "key1":"value1", "Key2":"value2" }'

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = $status
    Body = $body
})

enter image description here

Если я неправильно понял, пожалуйста, дайте мне знать, надеюсь, это поможет вам.

...