问题一:.  如何在用REST API获取活动日志时,控制输出的项?

【答】参考REST API对于获取活动日志的说明接口,在参数是$filter$select中可以分别控制过滤条件输出项

GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values?api-version=2015-04-01&$filter={$filter}&$select={$select}

注:management.chinacloudapi.cn为中国区Azure的管理终结点,management.azure.com为全球Azure的管理终结点

URI Parameters

Name Description
$filter

Reduces the set of data collected.
This argument is required and it also requires at least the start date/time.

The $filter argument is very restricted and allows only the following patterns.
List events for a resource group:

$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceGroupName eq 'resourceGroupName'.
List events for resource:

$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceUri eq 'resourceURI'.
List events for a subscription in a time range:

$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z'.
List events for a resource provider:

$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and resourceProvider eq 'resourceProviderName'.
List events for a correlation Id:

$filter=eventTimestamp ge '2014-07-16T04:36:37.6407898Z' and eventTimestamp le '2014-07-20T04:36:37.6407898Z' and correlationId eq 'correlationID'.

NOTE: No other syntax is allowed.

$select

Used to fetch events with only the given properties.
The $select argument is a comma separated list of property names to be returned.

Possible values are:

authorizationclaimscorrelationIddescriptioneventDataId,

eventNameeventTimestamphttpRequestleveloperationId,

operationNamepropertiesresourceGroupNameresourceProviderName,

resourceIdstatussubmissionTimestampsubStatussubscriptionId

在Filter和select可以配置的每一项说明,请查看文末的附录一

问题二:是否可以往Data Lake中注入Json格式文件?

【答】根据官方文档示例,如果使用Databricks进行(SQL查询语句)进行数据分析,是支持Json格式的数据,示例中使用的Json格式如下图所示:

参考使用 Databricks 分析数据一文: https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-quickstart-create-databricks-account#ingest-sample-data

问题三:如何用C#向Data Lake中插入数据文件?

【答】可以,需要先安装 Azure.Storage.Files.DataLake NuGet 包。然后添加如下引用

using Azure.Storage.Files.DataLake;
using Azure.Storage.Files.DataLake.Models;
using Azure.Storage;
using System.IO;
using Azure;

将文件上传到目录,则参考以下代码即可:

public async Task UploadFile(DataLakeFileSystemClient fileSystemClient)
{
DataLakeDirectoryClient directoryClient =
fileSystemClient.GetDirectoryClient("my-directory"); DataLakeFileClient fileClient = await directoryClient.CreateFileAsync("uploaded-file.txt"); FileStream fileStream =
File.OpenRead("C:\\file-to-upload.txt"); long fileSize = fileStream.Length; await fileClient.AppendAsync(fileStream, offset: 0); await fileClient.FlushAsync(position: fileSize); }

完整实例参考使用 .NET 管理 Azure Data Lake Storage Gen2https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-directory-file-acl-dotnet#upload-a-file-to-a-directory

附录一:在$Filter和$select可配置的选择项的EventData属性

The Azure event log entries are of type EventData

Name Type Description
authorization

The sender authorization information.

caller
  • string

the email address of the user who has performed the operation,

the UPN claim or SPN claim based on availability.

category

the event category.

claims
  • object

key value pairs to identify ARM permissions.

correlationId
  • string

the correlation Id, usually a GUID in the string format.

The correlation Id is shared among the events that belong to the same uber operation.

description
  • string

the description of the event.

eventDataId
  • string

the event data Id. This is a unique identifier for an event.

eventName

the event name. This value should not be confused with OperationName.

For practical purposes, OperationName might be more appealing to end users.

eventTimestamp
  • string

the timestamp of when the event was generated by the Azure service processing the

request corresponding the event. It in ISO 8601 format.

httpRequest

the HTTP request info. Usually includes the 'clientRequestId', 'clientIpAddress'

(IP address of the user who initiated the event) and 'method' (HTTP method e.g. PUT).

id
  • string

the Id of this event as required by ARM for RBAC. It contains the EventDataID

and a timestamp information.

level

the event level

operationId
  • string

It is usually a GUID shared among the events corresponding to single operation.

This value should not be confused with EventName.

operationName

the operation name.

properties
  • object

the set of <Key, Value> pairs (usually a Dictionary<String, String>)

that includes details about the event.

resourceGroupName
  • string

the resource group name of the impacted resource.

resourceId
  • string

the resource uri that uniquely identifies the resource that caused this event.

resourceProviderName

the resource provider name of the impacted resource.

resourceType

the resource type

status

a string describing the status of the operation.

Some typical values are: Started, In progress, Succeeded, Failed, Resolved.

subStatus

the event sub status.

Most of the time, when included, this captures the HTTP status code of the REST call.

Common values are:

OK (HTTP Status Code: 200),

Created (HTTP Status Code: 201),

Accepted (HTTP Status Code: 202),

No Content (HTTP Status Code: 204),

Bad Request(HTTP Status Code: 400),

Not Found (HTTP Status Code: 404),

Conflict (HTTP Status Code: 409),

Internal Server Error (HTTP Status Code: 500),

Service Unavailable (HTTP Status Code:503),

Gateway Timeout (HTTP Status Code: 504)

submissionTimestamp
  • string

the timestamp of when the event became available for querying via this API.

It is in ISO 8601 format. This value should not be confused eventTimestamp.

As there might be a delay between the occurrence time of the event,

and the time that the event is submitted to the Azure logging infrastructure.

subscriptionId
  • string

the Azure subscription Id usually a GUID.

tenantId
  • string

the Azure tenant Id

【Azure Developer】使用REST API获取Activity Logs、传入Data Lake的数据格式问题的更多相关文章

  1. 【Azure Developer】使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置Authorization

    Azure Active Directory (Azure AD) is Microsoft's cloud-based identity and access management service, ...

  2. 【Azure Developer】使用 CURL 获取 Key Vault 中 Secrets 中的值

    问题描述 在使用CURL通过REST API获取Azure Key Vaualt的Secrets值,提示Missing Token, 问如何来生成正确的Token呢? # curl 命令 curl - ...

  3. 【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法

    问题描述 在先前的一篇博文中,介绍了如何使用Microsoft Graph API来创建Azure AD用户(博文参考:[Azure Developer]使用Microsoft Graph API 如 ...

  4. 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code

    问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...

  5. Databricks 第8篇:把Azure Data Lake Storage Gen2 (ADLS Gen 2)挂载到DBFS

    DBFS使用dbutils实现存储服务的装载(mount.挂载),用户可以把Azure Data Lake Storage Gen2和Azure Blob Storage 账户装载到DBFS中.mou ...

  6. 构建企业级数据湖?Azure Data Lake Storage Gen2实战体验(下)

    相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 作为微软Azure上最新 ...

  7. Azure Data Lake Storage Gen2实战体验

    相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 作为微软Azure上最新 ...

  8. 【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例

    问题描述 查看官方文档" Get a user " , 产生了一个操作示例的想法,在中国区Azure环境中,演示如何获取AAD User信息. 问题解答 使用Microsoft G ...

  9. 【Azure Developer】使用 Microsoft Authentication Libraries (MSAL) 如何来获取Token呢 (通过用户名和密码方式获取Access Token)

    问题描述 在上一篇博文<[Azure Developer]使用 adal4j(Azure Active Directory authentication library for Java)如何来 ...

  10. 【Azure Developer】【Python 】使用 azure.identity 和 azure.common.credentials 获取Azure AD的Access Token的两种方式

    问题描述 使用Python代码,展示如何从Azure AD 中获取目标资源的 Access Token. 如要了解如何从AAD中获取 client id,client secret,tenant id ...

随机推荐

  1. 用webpack给js添加上版本号

    在网上查找了很多的资料. 都没有好的资源 因为我现在在项目是vuecli3.0 需要自己去创建文件 在项目的根目录下,创建一个文件vue.config.js 然后在该文件下写 const webpac ...

  2. 全套解决方案:中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据!

    全套解决方案:基于pytorch.transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据! 1.简介 目标:基于pytorch.transformers做中文领 ...

  3. 8.2 Windows驱动开发:内核解锁与强删文件

    在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用ObSet ...

  4. 整个小东西,在IDEA中自动生成PO、DAO、Mapper

    作者:小傅哥 博客:https://bugstack.cn 源码:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀.分享.成长,让自己和他人都能有所收获! ...

  5. CSS文本,字体设置与元素边框,阴影,显示模式

    什么是元素的显示模式 网页中的标签很多,在不同的地方使用不同类型的标签. 元素显示模式就是标签以什么方式进行显示.如:div自己占一行,span一行可以放多个. HTML元素一般分为块元素和行内元素两 ...

  6. 戴尔全球首款6K IPS Black显示器上市:配4K摄像头

    戴尔的全球首款6K IPS Black显示器--U3224KB,目前已经上架,价格为3199.99美元(约合人民币22186元). 据介绍,这款显示器采用IPS Black面板,刷新率为60Hz,对比 ...

  7. P9247 [集训队互测 2018] 完美的队列题解

    题目链接:[集训队互测 2018] 完美的队列 神仙数据结构题,看了很多题解才搞懂.在做此题之前,最好对分块很熟悉,对各类标记非常熟练.考虑题意说的种类是相对于全局的.我们可以考虑局部影响对全局影响. ...

  8. AI自动生成视频保姆级教程,还能赚包辣条哦~

    友友们,小卷今天给大家分享下如何通过AI自动生成视频,只需要3分钟就能做出一个视频,把视频发到B站.抖音.西瓜上,还能赚包辣条哦~ 文末给大家准备了AI变现的案例及AIGC知识库,记得领取哦! 1.收 ...

  9. .NET中使用BootstrapBlazor组件库Table实操篇

    前言 Table表格在后台管理应用中使用的是相当频繁的,因此找一个功能齐全的前端框架对于我们而言是非常必要的,因为封装完善的前端框架能够大大提升我们的工作对接效率.今天我们主要来讲解一下在.NET中使 ...

  10. ListView 判断有没有选中的行方法

    ListView1.SelCount 返回选中行的行数 应该是 没有测试 但是测试了 如果没有选中行 返回0 如果选中一行了 返回1