使用适用于 .NET 的 Azure 流分析 API 设置和运行分析作业

Posted

技术标签:

【中文标题】使用适用于 .NET 的 Azure 流分析 API 设置和运行分析作业【英文标题】:Set up and run analytics jobs using the Azure Stream Analytics API for .NET 【发布时间】:2021-06-03 16:53:00 【问题描述】:

我正在尝试通过这个guide 在.net 中使用流分析客户端运行。

在 Visual Studio 中,我在 GetCredentials 方法中收到错误消息,提示“UserTokenProvider 不包含 LoginWithPromptAsync 的定义”。

根据设置项目的要求,我正在使用以下内容:

Microsoft.Azure.Management.StreamAnalytics - 版本 2.0.0

Microsoft.Rest.ClientRuntime.Azure.Authentication -Version 2.3.1

我可以使用其他哪种方法,有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

如果要使用适用于 .NET 的 Azure 流分析 API 运行分析作业,可以使用服务主体进行身份验证。

例如

    创建服务主体并将 Azure RABC 角色分配给 sp
az ad sp create-for-rbac -n ""
Install-Package Microsoft.Azure.Management.StreamAnalytics -Version 2.0.0
Install-Package Microsoft.Rest.ClientRuntime.Azure.Authentication -Version 2.3.1
    代码
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
            string clientId = "23***b79c";
            string clientSecret = "";
            string ActiveDirectoryTenantId = "e****b";

            var credentials = await ApplicationTokenProvider.LoginSilentAsync(ActiveDirectoryTenantId, clientId, clientSecret);

            StreamAnalyticsManagementClient streamAnalyticsManagementClient = new StreamAnalyticsManagementClient(credentials)
            
                SubscriptionId = "e*****8"
            ;
           var jobs = await  streamAnalyticsManagementClient.StreamingJobs.ListAsync();
            foreach (var job in jobs) 
                Console.WriteLine(job.Id);
            

【讨论】:

非常感谢您的回答,这真的很有帮助。我检查了我的 Azure 订阅,获得创建服务主体的权限可能是个问题。可以用另一种方式完成吗?实际上,我可以连接到 Azure 中的 Synapse SQL 池,并为此使用密码和电话代码。也许这可以用于流分析? @vinx 是不是要使用用户名和密码进行身份验证? 是的,我实际上是在使用用户名、密码和验证码登录Azure中的数据库。是否可以对流分析使用相同的方法? @vinx 根据我的测试。对我来说没关系。我可以使用方法UserTokenProvider.LoginWithPromptAsync;i.imgur.com/0gjx9Gz.gif 非常感谢您的回答@Jim。您使用的是哪个版本的 Microsoft.Rest.Azure.Authentication?

以上是关于使用适用于 .NET 的 Azure 流分析 API 设置和运行分析作业的主要内容,如果未能解决你的问题,请参考以下文章

Azure 通知中心:SendTemplateNotificationAsync 是不是适用于 .net Core

适用于 .NET Core Azure WebJob 的 Application Insights

使用 .NET 以编程方式运行流分析转换查询

无法使用输出 Azure 函数获得流分析工作

是否有适用于 Azure 的 c#/asp.net mvc3 文件图像选择器/上传器控件

Azure.Cosmos 还是 Microsoft.Azure.Cosmos、Azure.Storage.Blob 还是 Microsoft.Azure.Storage.Blob?适用于 .NET C