代码之家  ›  专栏  ›  技术社区  ›  VAAA

或创建多个Azure函数(powershell&C#)

  •  0
  • VAAA  · 技术社区  · 4 年前

    我有2个Azure函数-Powershell。一个将恢复PowerBI嵌入式容量,另一个将暂停它。

    然后我有一个Azure函数-C,它必须在PowerBI嵌入式容量运行后运行。

    为此,我需要一个Orchestrator函数来执行以下操作:

    1. 等待Powershell函数,直到PowerBI Embedded运行
    2. 等待C函数执行某些任务

    我正在研究这段代码,但我想只有当所有函数都是C#并且在同一个函数应用程序中时,这段代码才会起作用。因为我有C#和Powershell,所以我有两个功能应用程序。

    [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;
    }
    

    有什么线索吗?

    0 回复  |  直到 4 年前
        1
  •  0
  •   Joey Cai    4 年前

    Durable Functions 当前支持以下语言:

    :预编译类库和C脚本。
    JavaScript语言 :仅支持2.x版的Azure函数运行时。需要1.7.0版本的持久函数扩展,或更高版本。
    F级# :预编译类库和F#脚本。只有1.x版的Azure函数运行时才支持F#脚本。

    . 如果你想要这个功能,你可以把你的声音给这个 feedback 促使它实现。

        2
  •  1
  •   Anatoli Beliaev    4 年前

    instructions . 你也可以观察进度并留下你的反馈 here .

    但是,orchestrator函数和activity函数必须驻留在同一个函数应用程序中,但不能在同一个应用程序中混合使用PowerShell和C函数。我建议将C#函数转换为PowerShell:也许您可以在PowerShell中重写此代码,或者将C#代码包装到PowerShell模块中,或者使用 Add-Type cmdlet将C代码注入PowerShell。或者,将函数转换为PowerShell。