У меня есть столбец с именем Id в хранилище лазурных таблиц, как показано здесь . Я хотел бы запросить все строки, содержащие «ActPow». Я понял, что не могу использовать «нравится» здесь из-за ограничений хранилища таблиц Azure и должен использовать le
и ge
для фильтрации в соответствии с документацией. Как я могу сделать это для своих данных? Я использую SDK Azure Table Storage для Python.
@Джахнави, да. Попробовал фильтр Id ge 'SH3.PV01.PCS1_1.ActPow' and Id le 'SH8.PV09.PCS9_3.ActPow'
. Но это не сработало. Это дает мне другие строки, которые также не содержат ActPow
Вы добавили двойные кавычки для приведенного выше выражения! Попробуйте так "Id ge 'SH3.PV01.PCS1_1.ActPow' and Id le 'SH8.PV09.PCS9_3.ActPow'"
.
@Джахнави, да. Я добавил это и попробовал. Все тот же результат
Используя пакет 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
Вы можете добавить "Name eq 'ActPow'"
к фильтру в query_entities. @АджайГанти
Вы пробовали какой-нибудь код?