Azure函数连接到blob和sql存储
问题描述:
我有我认为会成为Azure功能的完美介绍测试用例。Azure函数连接到blob和sql存储
我们在Azure中有一个SQL存储(SQL数据库)。
使用C#,VS 2017,更新了Azure工作流项目。
我们也有一个Blob存储。 每晚我需要一个过程去SQL数据库,根据一个标准收集一组记录,然后处理它们,生成一个将存储在blob存储中的文件。
我似乎无法克服完成这些任务中的任何一个。所有的教程似乎都是最基本的类型。
我有一个在VS 2017中创建的函数,但第一步只是连接到SQL数据库。
我去添加新项目:ADO.NET实体数据模型,它的行为就像它创建的模型正确,但没有数据上下文吗?
所以,我决定尝试下一步 - 创建blob,并使用硬编码的示例数据。再次...找不到一个好的指导如何做到这一点。
我在local.setting.json文件中有一个“AzureWebJobsStorage”设置。
下面我有一个定时器功能:
public static class Function1
{
[FunctionName("Function1")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}
只是一些在指向正确的方向,我会继续乒乒乓乓它... ...
乔
答
所以,你需要一个功能与
- 定时器触发器 - 因为你已经做
- 斑点输出结合(保存输出BLOB) - 见Blob storage bindings
- SQL查询“使用斑点输出绑定”部分 - Azure的功能,不提供这样的结合,只是用什么您通常在您的C#项目中使用。 Use Azure Functions to connect to an Azure SQL Database以ADO.NET为例。
这是我对你的函数素描:
[FunctionName("Function1")]
public static void Run(
[TimerTrigger("0 */5 * * * *")] TimerInfo myTimer,
[Blob("mycontainer/myblob.txt", FileAccess.Write)] out string outputBlob,
TraceWriter log)
{
var str = ConfigurationManager.ConnectionStrings["sqldb_connection"].ConnectionString;
using (var conn = new SqlConnection(str))
{
conn.Open();
var text = "SELECT count(*) FROM MyData";
using (var cmd = new SqlCommand(text, conn))
{
// Execute the command and log the # rows affected.
var rows = cmd.ExecuteScalar();
outputBlob = $"{rows} rows found";
}
}
}
你的问题是有点开放式的,所以随时与你斗争的详细信息进行更新。
谢谢你...我理解/道歉这是如此开放。让我对你的建议进行一点工作并回复你。 –