Azure函数-无法使用SignalEntityAsync触发EntityTrigger

问题描述

正如标题中所述,我对EntityTrigger函数有疑问。

我有一个ServiceBusTrigger(可以正常工作)用于触发第二个

[FunctionName(nameof(MaterializationAggregatorFunction.TopicStart))]
public static async Task TopicStart(
    [ServiceBusTrigger("%FirstServiceBusTopicName%","%FirstServiceBusSubscriptionName%",Connection = "ServiceBusConnectionString")]
    ReportStartupDataExtended startupData,[DurableClient] IDurableClient entityClient,ILogger log)
{
    var entityId = new EntityId(nameof(MaterializationAggregatorFunction.StateFunction),startupData.CorrelationId);
    await entityClient.SignalEntityAsync(entityId,"Page",startupData);
}

[FunctionName(nameof(MaterializationAggregatorFunction.StateFunction))]
public async Task StateFunction([EntityTrigger] IDurableEntityContext ctx,[ServiceBus("%secondServiceBusTopicName%",EntityType.Topic,Connection = "ServiceBusConnectionString")]
    IAsyncCollector<ReportStartupDataExtended> outputServiceBus,ILogger log)
{
    var currentValue = ctx.GetState(
        () => new FunctionState(
            Environment.GetEnvironmentvariable("Pages").Split(";",StringSplitOptions.RemoveEmptyEntries)
        ));

    var input = ctx.GetInput<ReportStartupDataExtended>();
    currentValue.Status.AddOrUpdate(input.PageName,input.Status,(k,v) => input.Status);
    ctx.SetState(currentValue);

    if (currentValue.IsCompleted)
    {
        log.Loginformation("Is completed!!!! :)");
        await outputServiceBus.AddAsync(input);
    }
    else
    {
        log.Loginformation("Is not completed!!!! :(");
    }
}

调试时我可以看到的是,每条消息都会调用'TopicStart'函数,但是即使我在运行时遇到0错误,'SignalEntityAsync'似乎也无济于事。

有什么建议吗? 预先感谢大家!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)