Как отфильтровать определенные значения в хранилище таблиц Azure в столбце?

У меня есть столбец с именем Id в хранилище лазурных таблиц, как показано здесь . Я хотел бы запросить все строки, содержащие «ActPow». Я понял, что не могу использовать «нравится» здесь из-за ограничений хранилища таблиц Azure и должен использовать le и ge для фильтрации в соответствии с документацией. Как я могу сделать это для своих данных? Я использую SDK Azure Table Storage для Python.

Вы пробовали какой-нибудь код?

Jahnavi 14.02.2023 06:14

@Джахнави, да. Попробовал фильтр Id ge 'SH3.PV01.PCS1_1.ActPow' and Id le 'SH8.PV09.PCS9_3.ActPow'. Но это не сработало. Это дает мне другие строки, которые также не содержат ActPow

Ajay Ganti 14.02.2023 06:18

Вы добавили двойные кавычки для приведенного выше выражения! Попробуйте так "Id ge 'SH3.PV01.PCS1_1.ActPow' and Id le 'SH8.PV09.PCS9_3.ActPow'".

Jahnavi 14.02.2023 06:20

@Джахнави, да. Я добавил это и попробовал. Все тот же результат

Ajay Ganti 14.02.2023 06:22
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
4
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя пакет Azure Table Storage SDK для python, я написал сценарий python для извлечения имени/идентификатора из сущностей таблицы путем фильтрации по ключу строки.

Я взял несколько объектов строк из вашей таблицы данных и передал query_entities, как показано ниже:

Table_Service.query_entities(
'<tablename>', filter = "Name ge 'SH3.PV01.PCS1_1.ActPow' and Name le 'SH6.PV01.PCS1_1.ActPow'")

Попробуйте скрипт ниже, который успешно сработал у меня:

from  azure.cosmosdb.table.tableservice  import  TableService
from  azure.cosmosdb.table.models  import  Entity
Table_Service = TableService(account_name='jahnaviaea0', account_key='gef7M174ISk1jubiZ7bOzP5cXVIU2XjUEm9G5PX4KjXl19JuAmswip2/77Za30FrmBz0CiQtChol+AStDNIGIw==')
rowouput = Table_Service.query_entities(
'new', filter = "Name ge 'SH3.PV01.PCS1_1.ActPow' and Name le 'SH6.PV01.PCS1_1.ActPow'")
for  row  in  rowoutput:
print(row.Name)

Перед выполнением кода установите необходимый пакет azure-cosmosdb-table

pip install azure-cosmosdb-table

Выход:

См. SO от @Ivan Glasenberg и образцы таблиц SDK.

Спасибо за вашу помощь. Но что, если у меня есть SH8.PV04.PCS1_3.TmpHSnk1 и SH6.PV05.PCS1_1.TmpHSnk2 в данных, но я хочу отфильтровать только те строки, которые содержат только ActPow

Ajay Ganti 14.02.2023 07:45

Вы можете добавить "Name eq 'ActPow'" к фильтру в query_entities. @АджайГанти

Jahnavi 14.02.2023 07:57

Другие вопросы по теме