要使用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个问题的更多相关文章

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

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

  2. 【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, ...

  3. 【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维

    问题描述 编写PowerShell脚本,以多维(3维)数组中第二维度的值进行过滤,并打印出结果 #三维数组源数据 "A", "11", "Cheng ...

  4. 【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 ...

  5. 【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)节点值, ...

  6. hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)

    本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...

  7. 【Azure 环境】用 PowerShell 调用 AAD Token, 以及调用Azure REST API(如资源组列表)

    问题描述 PowerShell 脚本调用Azure REST API, 但是所有的API都需要进行权限验证.要在请求的Header部分带上Authorization参数,并用来对List Resour ...

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

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

  9. 使用MyBatis时需要注意到的事情------执行添加、修改和删除操作时,一定要记得提交事务

    今天在重写添加操作代码时,发现自己写的代码没有任何报错,使用断点进行查询,发现一切正常,但是注册使用的数据就是无法添加到数据库里面 然后就去之前看过的视频里面去找错误,就发现这样一个小细节: 在视频里 ...

  10. 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例

    当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...

随机推荐

  1. Springboot actuator的简单使用

    Springboot actuator的简单使用 简介 公司基于springboot研发的系统,开发已经默认集成了actuator 为了安全起见这个插件模式是不开启的. 今天与研发同事进行了沟通,简单 ...

  2. Linux下PG数据库计划任务定期备份恢复的方法

    注意事项 PG数据库需要注意的一点是需要安装OSSP-UUID的组件才能使用. 本次使用最除了冷备之外 最简单的 pg_dump和pg_restore的操作 的方式来进行处理 务必定期演练保证数据备份 ...

  3. Vant中List列表下拉加载更多

    van-list上只有一层父级元素div,多了可能下拉加载出不来:或者更多 <template> <div class="scholl-declarepage"& ...

  4. 【JS 逆向百例】网洛者反爬练习平台第四题:JSFuck 加密

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  5. SqlSugar Code First

      注意点 1.SqlSugar Code First可以快速开发,使用起来也要分阶段使用,比如早期随便搞,中后期需要禁用一些功能保证数据安全(标题6和7 ) 2.数据库账号需要有比较高的权限, 3. ...

  6. 苹果iOS的应用移除主屏幕及恢复找回

    昨天刷到一个苹果iOS系统更换微信图标的,然后就添加了一个,发现那个记录通知数字问题,想恢复回来,所以就有了此文. https://www.cnblogs.com/lzhdim/p/17909867. ...

  7. 【链表】链表OJ-力扣2074. 反转偶数长度组的节点【超详细的算法解释】

    说在前面 今天博主给大家带来的是力扣上的一道链表OJ,完成这道题后,博主感觉这题覆盖了很多链表的解题思想,另外,这道题对指针的控制也是比较高的.在这里博主将这道好题分享给大家! 另外,对于链表等数据结 ...

  8. 洛谷P2415 集合求和(数学问题,使用集合子集求和公式)

    可以知道对于一个有n个数据的集合,其子集个数有2^n个 至于证明可以这样理解,对于n个数据,其子集就是对数据进行组和,而对于每个位置上的数据,组合时仅有两种状态即有此数据或无此数据,也就是有两种可能, ...

  9. 如何使用graalvm为带有反射功能的java代码生成native image

    译自Configure Native Image with the Tracing Agent graal官方文档 , 以下所有命令需要在linux环境下操作,graalvm也支持windows. 要 ...

  10. RabbitMQ 使用细节 → 优先级队列与ACK超时

    开心一刻 今天坐在太阳下刷着手机 老妈走过来问我:这么好的天气,怎么没出去玩 我:我要是有钱,你都看不见我的影子 老妈:你就不知道带个碗,别要边玩? 我:...... 优先级队列 说到队列,相信大家一 ...