Orchrestrate несколько Azure функций (powershell & C#) - PullRequest
2 голосов
/ 17 июня 2020

У меня 2 Azure Функции - Powershell. Один возобновит работу с встроенной емкостью PowerBI, а другой - приостановит ее.

Затем у меня есть 1 Azure Функция - C#, которая должна выполняться после запуска встроенной емкости PowerBI.

Поэтому для этого мне понадобится функция Orchestrator, которая выполняет следующие действия:

  1. Ожидание функции Powershell, пока не запустится PowerBI Embedded
  2. Функция Await C# для выполнения некоторых задач
  3. Ожидание функции Powershell для приостановки PowerBI Embedded

Я изучал этот код, но полагаю, это сработает только тогда, когда все ваши функции C# и находятся в одном приложении-функции. Поскольку у меня C# и Powershell, у меня есть 2 функциональных приложения.

[FunctionName("E1_HelloSequence")]
public static async Task<List<string>> Run(
    [OrchestrationTrigger] IDurableOrchestrationContext context)
{
    var outputs = new List<string>();

    outputs.Add(await context.CallActivityAsync<string>("E1_SayHello", "Tokyo"));
    outputs.Add(await context.CallActivityAsync<string>("E1_SayHello", "Seattle"));
    outputs.Add(await context.CallActivityAsync<string>("E1_SayHello_DirectInput", "London"));

    // returns ["Hello Tokyo!", "Hello Seattle!", "Hello London!"]
    return outputs;
}

Есть подсказка?

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Durable PowerShell Functions скоро появятся в Publi c Preview, и вы можете опробовать их прямо сейчас, используя эти инструкции . Вы также можете следить за прогрессом и оставлять свои отзывы здесь .

Однако ваша функция оркестратора и функции действий должны находиться в одном приложении Function, но вы не можете смешивать функции PowerShell и C# в то же приложение. Я бы предложил преобразовать функцию C# в PowerShell: возможно, вы можете переписать этот код в PowerShell, или обернуть код C# в модуль PowerShell, или использовать командлет Add-Type для внедрения кода C# в PowerShell. В качестве альтернативы можно преобразовать функции PowerShell в C# функции.

0 голосов
/ 17 июня 2020

Долговечные функции в настоящее время поддерживает следующие языки:

C#: обе предварительно скомпилированные библиотеки классов и C# скрипт.
JavaScript: поддерживается только для версии 2.x среды выполнения Azure Functions. Требуется версия 1.7.0 расширения Durable Functions или более поздняя версия.
F # : предварительно скомпилированные библиотеки классов и скрипт F #. Сценарий F # поддерживается только для версии 1.x среды выполнения Azure Functions.

Теперь он не поддерживает функции с PowerShell . Если вам нужна эта функция, вы можете озвучить эту обратную связь , чтобы побудить ее реализовать.

...