你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 .NET 的 Azure Synapse Analytics 监视客户端库 - 版本 1.0.0-beta.3

此目录包含 .NET SDK 的开放源代码子集。 有关完整 Azure SDK 的文档,请参阅 Microsoft Azure .NET 开发人员中心

Azure Synapse Analytics 在 Azure 门户中提供了丰富的监视体验,可以显示与数据仓库工作负载相关的见解。 Azure Synapse Analytics 监视客户端库支持以编程方式监视资源。

Azure Synapse 是一种无限制的分析服务,它将企业数据仓库和大数据分析结合在一起。 借助它可以使用无服务器的按需资源或预配资源,任意执行自己定义的大规模数据查询。 Azure Synapse 将这两个领域结合在一起,以统一的体验引入、准备、管理和提供数据,以满足即时 BI 和机器学习的需求。

入门

可以从 Microsoft Azure 下载页下载完整的 Microsoft Azure SDK,并随附对生成部署包、与工具集成、丰富的命令行工具等的支持。

为了获得最佳开发体验,开发人员应使用库的官方 Microsoft NuGet 包。 NuGet 包会定期更新新功能和修补程序。

安装包

使用 NuGet 安装适用于 .NET 的 Azure Synapse Analytics 监视客户端库:

dotnet add package Azure.Analytics.Synapse.Monitoring --version 1.0.0-preview.1

先决条件

如果使用 Azure CLI,则命令如下所示:

az synapse workspace create \
    --name <your-workspace-name> \
    --resource-group <your-resource-group-name> \
    --storage-account <your-storage-account-name> \
    --file-system <your-storage-file-system-name> \
    --sql-admin-login-user <your-sql-admin-user-name> \
    --sql-admin-login-password <your-sql-admin-user-password> \
    --location <your-workspace-location>

验证客户端

若要与 Azure Synapse Analytics 服务交互,需要创建 MonitoringClient 类的实例。 需要工作区 终结点(可能在门户中显示为“开发终结点”),客户端 密码凭据 (客户端 ID、客户端密码、租户 ID) 来实例化客户端对象。

本入门部分将使用客户端机密凭据身份验证,但你可以找到使用 Azure 标识进行身份验证的更多方法。 若要使用如下所示的 DefaultAzureCredential 提供程序或 Azure SDK 提供的其他凭据提供程序,应安装 Azure.Identity 包:

Install-Package Azure.Identity

关键概念

MonitoringClient

使用 可以 MonitoringClient 获取工作区的 Spark 应用程序列表或 SQL OD/DW 查询。

线程安全

我们保证所有客户端实例方法都是线程安全的,并且彼此独立 (准则) 。 这可确保重用客户端实例的建议始终是安全的,即使在线程之间也是如此。

其他概念

客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 嘲笑 | 客户端生存期

示例

Azure.Analytics.Synapse.Monitoring 包支持同步和异步 API。 以下部分介绍一些最常见的 Azure Synapse Analytics 监视相关任务:

监视示例

获取 Spark 应用程序列表

GetSparkJobList 获取工作区的 Spark 应用程序列表。

SparkJobListViewResponse sparkJobList = client.GetSparkJobList();
foreach (var sparkJob in sparkJobList.SparkJobs)
{
    if (sparkJob.State == "Running")
    {
        Console.WriteLine ($"{sparkJob.Name} has been running for {sparkJob.RunningDuration}");
    }
    else
    {
        Console.WriteLine ($"{sparkJob.Name} has been in {sparkJob.State} for {sparkJob.QueuedDuration}");
    }
}

获取 SQl 查询

GetSqlJobQueryString 获取 SQL OD/DW 查询

SqlQueryStringDataModel sqlQuery = client.GetSqlJobQueryString();

生成

有关生成 Azure Synapse 客户端库的信息,请参阅生成用于 .NET 的 Microsoft Azure SDK

目标框架

有关 Azure Synapse 客户端库的目标框架的信息,请参阅用于 .NET 的 Microsoft Azure SDK的目标框架

故障排除

请在 github 中打开问题。

后续步骤

下一步是添加更多示例

供稿

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。