问题一:.  如何在用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. 批量删除一个月为tag的镜像的办法

    第一步获取镜像列表 这是一个最简单的列转行. docker images |grep 20220401 |awk 'BEGIN{ORS=","}{print $1}' 第二步执行双 ...

  2. Linux KVM网络处理过程

    Linux KVM网络处理过程 总体解决方法 本次遇到的问题是KVM的网桥处理不小心导致系统无法连接.处理简要总结: 进入机房,给IPMI插上网线, 开机点 Del 进入bios 设置IMPI的地址 ...

  3. Oracle 建立数据库dblink 然后同步部分表内容的总结

    同步处理部分数据 背景 最近在项目上发现两个分库进行数据同步时部分内容同步存在问题. 最简单的方法是导表,但是害怕有其他关联信息异常, 所以同事想到了dblink的方式. 这里简单整理一下 同事用到的 ...

  4. 冷备份MySQL数据库并且使用Docker直接运行的操作过程

    备份数据库 查看数据库的数据文件的位置 systemctl status mysqld 查看启动进程以及防水 /etc/my.conf 查看datadir 指向Mysql数据库的存储数据路径. 关闭数 ...

  5. linux中如何统计千万个文件总和

    很简单.很简单.很简单.重要事情说三遍 命令:ls | grep '匹配信息' | wc -l ls查看该目录下的所有文件,果然隐藏文件也要匹配上的话,需要:ls -a grep匹配,如查看文件中有. ...

  6. echarts饼状图不要中间的文字提示

    饼状图不要中间的文字提示信息 emphasis: { label: { show: false, //将这个设置为false }, }, 为什么饼状图不要中间的问题提示信息 因为有些时候,在文字很多的 ...

  7. 【一】分布式训练---单机多卡多机多卡(飞桨paddle1.8)

    1.分布式训练简介 分布式训练的核心目的: 加快模型的训练速度.通过对训练任务按照一定方法拆分分配到多个计算节点进行计算,再按照一定的方法对需要汇总的信息进行聚合,从而实现加快训练速度的目的. 1.1 ...

  8. Python 实现专属字典生成器

    编写一个密码生成工具,这里我们使用弱密码与个性化数组组合形成一个定制字典,例如收集用户的姓名,昵称,QQ号手机号等资源,然后通过Python对搜集到的数据与弱密码进行结合,从而定制出属于某个人的专属密 ...

  9. How to 充分利用你的服务器

    服务器高性能计算指南 本文处于preview阶段,内容并不完全严谨,如有错误敬请原谅,适当参考. 目录 服务器高性能计算指南 什么样的计算适合当前服务器? 从CPU架构入手 两个CPU带来的影响 那么 ...

  10. 轻量级按键动作识别模块(C语言)

    1.前言 继嵌入式(单片机)裸机 C 语言开发 + 按键扫描(模块分层/非阻塞式)文章后,原来的按键识别基本能满足大部分需求,但是对于双击和多击等多样化的功能需求并不能满足,因此对整个按键动作识别模块 ...