Запрос HBase Stargate на шестнадцатеричный ключ строки через Ruby

У меня есть таблица HBase, которая (частично) использует шестнадцатеричные байты для построения своих ключей строк. Я могу запросить из Hbase Shell, как показано ниже

get 'my_table', "XYZ:\x7F\xFF\xFF\xFF\xFF\xFF\xFF\x82"

Тем не менее, я хочу использовать API звездных врат (или один из множества рубиновых гемов, которые служат оболочкой) для удаленного запроса к hbase.

Если я выполню точно такой же запрос выше, я получу 404 не найден. Обратите внимание, что : а также \ символы имеют URL-кодировку

curl "http://myHbaseServer.domain:8080/my_table/XYZ%3A%5Cx7F%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5CxFF%5Cx82/content:raw"
=> 404 Not Found

Я знаю, что этот формат правильный, так как он возвращает список таблиц, когда я просто вызываю / конечная точка. Это также не вызывает ошибку подключения. Есть мысли о том, правильно ли сбежали эти персонажи?

Спасибо!

1 ответ

\x не нужно кодировать, это просто соглашение, используемое HBase для представления байтового значения не-ASCII. \x7F следует преобразовать в %7F в URL

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