【Azure Developer】使用 Azure PowerShell 执行 Azure 表存储操作时遇见的4个问题
要使用PowerShell操作Azure的表存储,需要经过以下步骤:
1:必须安装 Az
和 AzTable 模块。安装命令为:
#安装 Az 模块
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force #安装 AzTable 模块
Install-Module AzTable
2:创建一个context,命令如下:
$Context = New-AzStorageContext -StorageAccountName "xxxx" -StorageAccountKey "xxxx"
3:使用Get-AzStorageTable -Context $Context 这个命令可以get到当前存储账户的所有table的名字
Get-AzStorageTable -Context $Context
4:若要使用 AzTable 对表执行操作,需要引用特定表的 CloudTable 属性。并使用 Get-AzTableRow 获取表数据
$cloudTable = (Get-AzStorageTable -Name $tableName -Context $ctx).CloudTable #使用下面的命令查询表实体 Get-AzTableRow -table $cloudTable | ft
但是,在使用时,先后遇见了以下4个问题:
问题一:如果只有存储账户名称,不提供存储账户所属资源组和存储账户访问密钥的情况下,如何查询存储账户中的诊断指标数据呢? New-AzStorageContext和Get-AzStorageAccount这两个命令,一个需要提供访问密钥,另一个需要提供资源组
【答】New-AzStorageContext如果不提供秘钥,可以为匿名存储帐户创建上下文,具体可参考文档:https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontext?view=azps-5.7.0
New-AzStorageContext -StorageAccountName "xxx" -Anonymous -Protocol "http"
Get-AzStorageAccount 这个命令如果不提供资源组,可以直接使用这条命令,会get到当前订阅下的所有storage,具体可参考文档:https://docs.microsoft.com/en-us/powershell/module/az.storage/Get-azStorageAccount?view=azps-5.7.0
问题二:需要从table中查询一个完整月度的数据,但是存储账户中是把数据存储到了多个表中,且有的表会同时存储上下两个月相邻时间的数据,请问有有什么更简便的方法来查询某一个月的数据吗?是否有参数来过滤时间呢?table中Timestamp字段使用的是UTC时间、还是本地时间?
【答】1)是不能联合获取的,只能是一个表一个表获取。 2)平台使用的是UTC时间,就是北京时间-8,例如:UTC时间2021-05-20T02:52:57Z对应的北京时间就是10:52:57。时间格式可参考文档:https://docs.microsoft.com/zh-cn/rest/api/storageservices/formatting-datetime-values
问题三: 从某一个table中查询指定几列的数据,查询条件是多个列值的组合。使用命令Get-AzTableRow -table $cloudTable | ft 返回的数据量太大
【答】在Get-AzTableRow -table $cloudTable ` 后面加上要查询的列名即可,设置列名可参考文档:https://docs.azure.cn/zh-cn/storage/tables/table-storage-how-to-use-powershell#retrieve-entities-for-a-specific-value-in-a-specific-column
Get-AzTableRow -table $cloudTable -partitionKey $partitionKey | ft
如果想使用过滤条件显示指定的行,可以使用-SelectColumn参数 Get-AzTableRow -Table $cloudTable -SelectColumn @('CounterName', 'Role','Maximum','Minimum'),同时多次测试发现下面截图中红色区域的4个参数即使不指定默认也是查询之后必带的参数
同时 Get-AzTableRow -table $cloudTable -partitionKey $partitionKey 也是可以使用的
问题四: 使用-SelectColumn参数出错
SelectColumn参数问题原因时AzTable安装的并不是最新版本(2.0.4),更新了module后,版本2.1.0再使用SelectColumn参数是正常的。
【Azure Developer】使用 Azure PowerShell 执行 Azure 表存储操作时遇见的4个问题的更多相关文章
- 【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
问题描述 在先前的一篇博文中,介绍了如何使用Microsoft Graph API来创建Azure AD用户(博文参考:[Azure Developer]使用Microsoft Graph API 如 ...
- 【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, ...
- 【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维
问题描述 编写PowerShell脚本,以多维(3维)数组中第二维度的值进行过滤,并打印出结果 #三维数组源数据 "A", "11", "Cheng ...
- 【Azure API 管理】解决API Management添加AAD Group时遇见的 Failed to query Azure Active Directory graph due to error 错误
问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败.错误消息为: Write Groups ValidationError :Failed to query Azure ...
- 【Azure API 管理】使用APIM进行XML内容读取时遇见的诡异错误 Expression evaluation failed. Object reference not set to an instance of an object.
问题描述 使用APIM,在 Inbound 中对请求的Body内容进行解析.客户端请求所传递的Request Body为XML格式,需要从Request Body中解析出多个(Element)节点值, ...
- hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)
本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...
- 【Azure 环境】用 PowerShell 调用 AAD Token, 以及调用Azure REST API(如资源组列表)
问题描述 PowerShell 脚本调用Azure REST API, 但是所有的API都需要进行权限验证.要在请求的Header部分带上Authorization参数,并用来对List Resour ...
- 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...
- 使用MyBatis时需要注意到的事情------执行添加、修改和删除操作时,一定要记得提交事务
今天在重写添加操作代码时,发现自己写的代码没有任何报错,使用断点进行查询,发现一切正常,但是注册使用的数据就是无法添加到数据库里面 然后就去之前看过的视频里面去找错误,就发现这样一个小细节: 在视频里 ...
- 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...
随机推荐
- java 调优需要关闭的组建
- 一文详解 Netty 组件
作者:京东物流 张弓言 一.背景 Netty 是一款优秀的高性能网络框架,内部通过 NIO 的方式来处理网络请求,在高负载下也能可靠和高效地处理 I/O 操作 作为较底层的网络通信框架,其被广泛应用在 ...
- node使用nodemailer发送邮件
安装模块 npm install nodemailer 代码 const nodemailer = require('nodemailer'); // 查找到有关QQ邮箱的相关信息在 /node_mo ...
- [1] 以逆向的角度来看流程控制语句——if
[1] 以逆向的角度来看流程控制语句--if 1. if语句(单分支) if语句转换的条件跳转指令与if语句的判断结果是相反的, 因为C语言是根据代码行的位置决定编译后二进制代码地址高低的,即低行 ...
- win11和win10的快捷键列表
win11特有的快捷键 win键就是图案是windows图标的那个按键 作用 快捷键 打开快速设置,win11是展开音量,wifi,蓝牙的设置项,win10也可以用 win + a 打开通知中心和日历 ...
- PaddleHub--飞桨预训练模型应用工具{风格迁移模型、词法分析情感分析、Fine-tune API微调}【一】
相关文章: 基础知识介绍: [一]ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?_汀.的博客-CSDN博客_ernie模型 百度飞桨:E ...
- Libevent [补档-2023-08-29]
libevent的使用 8-1 安装 自己百度一下,安装它不是特别难,加油!!! 8-2 libevent介绍 它是一个开源库,用于处理网络和定时器等等事件.它提供了跨平台的API,能够在不同 ...
- SpringAOP配置要点
一.基于配置文件 1.关于aop配置文件相关 <!--配置aop--> <aop:config> <!--配置切入点表达式--> <aop:pointcut ...
- 香橙派上的eMMC分区
准备工作 OrangePi Plus 2E(自带16G的eMMC存储,出厂默认eMMC中附带了Android系统,用于测试板子功能) Ubuntu16.04的TF卡 第一张方式: 该方式可以按需删除指 ...
- 超简单实用的4个PPT操作技巧
作为我们IT岗位的兄弟姐妹们,一定少不了各种PPT的展示,很多IT大佬总是不屑于PPT的美观,认为只要演讲有干货,格式无所谓,甚至都不需要PPT. 话是这样说,但其实无非就是觉得调整美化实在是浪费时间 ...