gpt4 book ai didi

azure - 基于计时器的 Azure 功能,具有表存储、HTTP 请求和 Azure 服务总线

转载 作者:行者123 更新时间:2023-12-05 02:58:36 24 4
gpt4 key购买 nike

我现在有一个在控制台应用程序中编写的流程,该流程触发计划任务以从 Azure 表存储读取数据,并根据该数据对我们使用的第三方供应商进行 API 调用,反序列化响应数据,循环在结果中的数组上,将循环的各个迭代保存到 Azure 表存储中的不同表中,然后将循环的每个迭代的消息发布到 Azure 服务总线,其中这些消息由另一个客户端使用。

为了将更多任务转移到云中,我做了一些研究,看来 Azure 函数是替代我的控制台应用程序的良好候选者。我在 Visual Studio 2019 中启动了一个新的 Azure 函数项目作为“计时器”函数,然后深入阅读一些内容,但我很快就迷失了方向。

我所做的阅读讨论了在我的 Run() 方法参数中使用“绑定(bind)”,并用连接字符串等属性装饰,但我不确定这是我应该前进的方向。听起来这将使对我的表存储进行身份验证变得更容易,但我不知道如何使用这些“ Hook ”来查询我的表,然后执行插入。我什至还没有了解服务总线的内容,也没有考虑过对我们的第三方供应商的 api 进行 HTTP 调用。

我知道这是一个非常广泛的问题,我没有任何代码可以发布,因为我什至很难摆脱这个问题。 MS 文档遍布整个 map ,我找不到任何特定于我的需求的内容,我保证我已经花了相当多的时间进行尝试。

Azure 函数是我应该走的正确道路吗?如果没有,还有什么其他选择?

TIA

最佳答案

您应该继续使用带有时间触发器的 Azure Functions 来替换您的控制台应用程序。

绑定(bind)(可用于输入/输出)是帮助您节省一些代码行的助手,例如:

而不是使用以下代码将数据插入到azure表中:

// Retrieve storage account information from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storageConnectionString);

// Create a table client for interacting with the table service
CloudTableClient tableClient = storageAccount.CreateCloudTableClient(new TableClientConfiguration());

// Create a table client for interacting with the table service
CloudTable table = tableClient.GetTableReference("MyTable");

//some code to populate an entity
var entity = new { PartitionKey = "Http", RowKey = Guid.NewGuid().ToString(), Text = input.Text };

// Create the InsertOrReplace table operation
TableOperation insertOrMergeOperation = TableOperation.InsertOrMerge(entity);

// Execute the operation.
TableResult result = await table.ExecuteAsync(insertOrMergeOperation);

你会使用:

[FunctionName("TableOutput")]
[return: Table("MyTable")]
public static MyPoco TableOutput([HttpTrigger] dynamic input, ILogger log)
{
log.LogInformation($"C# http trigger function processed: {input.Text}");
return new MyPoco { PartitionKey = "Http", RowKey = Guid.NewGuid().ToString(), Text = input.Text };
}

PS:前面代码中的输入触发器是一个HTTP触发器,但只是为了解释如何使用输出绑定(bind)。

您可以在这里找到更多信息:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-triggers-bindings

https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-table

你应该观看:https://learn.microsoft.com/en-us/learn/modules/chain-azure-functions-data-using-bindings/

关于azure - 基于计时器的 Azure 功能,具有表存储、HTTP 请求和 Azure 服务总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58771866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com