我的功能就像
const stepperAnimationSubscription = this.stepper.animationDone.subscribe(_ => {
element.scrollIntoView({
behavior: 'smooth',
block: 'start',
inline: 'nearest',
});
});
// stepperAnimationSubscription.unsubscribe(); => Code doesn't work
我的 local.settings.json 有
[FunctionName("MyFunctionName")]
[return: ServiceBus("mytopic", Connection = "ServiceBusConnectionString")]
public static async Task<string> MyFunctionAsync([QueueTrigger("my-input-queue")] string msgIn, TraceWriter log)
{
其中{
"IsEncrypted": false,
"Values": {
"ServiceBusConnectionString": "[my connection string]"
}
}
是根据共享访问策略之一中具有发送声明的主要连接字符串复制粘贴的
这只是默默地失败了:消息卡在[my connection string]
中,并且没有错误写入日志流。但是我100%确信属性是问题所在,因为我已经部署了100种不同的组合来尝试使其起作用:)。
有什么想法吗?
答案 0 :(得分:0)
您缺少QueueTrigger的必需设置,因此您的功能不会在队列中的新项目上触发。您应该具有AzureWebJobsStorage
和AzureWebJobsDashboard
的值,并且QueueTrigger应该具有Connection
字段的值。
有关如何连接QueueTriggers并在本地进行测试的更多信息,请参见this answer。
答案 1 :(得分:0)
根据我的测试,它应该与servicebus属性一起使用。以下是我的测试代码。
[return: ServiceBus("topicName",Connection = "ServiceBusConnectionString", EntityType = EntityType.Topic)]
public static async Task<string>Run([QueueTrigger("queueName")]string myQueueItem, TraceWriter log)
{
...
return myQueueItem; // write to the Topic.
}
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "xxxxxx",
"AzureWebJobsDashboard": "xxxxxxxx",
"ServiceBusConnectionString": "xxxxxx"
}
}
您可以从此tutorial获取有关Azure Service Bus输出绑定的更多信息。您也可以通过以下方式做到这一点
[FunctionName("ServiceBusOutput")]
public static void Run([[QueueTrigger("queueName")]string myQueueItem,
TraceWriter log,
[ServiceBus("topicName",Connection = "ServiceBusConnectionString", EntityType = EntityType.Topic)]out string queueMessage)
{
log.Info("Azure Function Demo - Azure Service Bus Queue Topic");
queueMessage = myQueueItem;
}