Описание операций пользователей с ролями admin и dml_users | Clusters_Federation
Руководство администратора Ролевая модель в TCF Описание операций пользователей с ролями admin и dml_users

Описание операций пользователей с ролями admin и dml_users

В этом разделе рассматривается, какие операции могут выполнять пользователи с каждой из этих ролей. В частности, в этом разделе описаны операции для ролей admin и dml_users.

Операции для роли admin

Управление пользователями

Сводная таблица операций пользователя с ролью admin на примере роли dml_user:

Операция

Команда

Описание

Создание пользователя и пароля

box.schema.user.create('dml_user', {password = 'dml_password'})

Создает нового пользователя с заданным паролем

Изменение пароля

box.schema.user.passwd('dml_user', 'new_password')

Задает новый пароль пользователю

Назначение прав

box.schema.user.grant('dml_user', 'read,write', 'space', 'orders')

Дает права на чтение и запись в указанный спейс

Отключение прав на пассивном кластере

box.schema.user.revoke('dml_user', 'write', 'universe')

Запрещает запись на пассивном кластере

Включение прав на активном кластере

box.schema.user.grant('dml_user', 'read,write', 'space', 'orders')

Возвращает права при переключении на активный кластер

Удаление пользователя

box.schema.user.drop('dml_user')

Удаляет пользователя из системы

Операции администратора со спейсами, индексами и отладкой

Основные операции, которые может выполнять пользователь с ролью admin:

Операция

Команда

Описание

Создание спейса

box.schema.space.create('test')

Создает новый спейс для хранения данных

Удаление спейса

box.space.test:drop()

Удаляет указанный спейс

Создание первичного индекса

box.space.test:create_index('primary')

Создает первичный индекс для упрощения доступа по ключу

Создание вторичного индекса

box.space.test:create_index('status_index', {parts = {3, 'str'}})

Добавляет индекс по полю status для ускорения выборок по статусу

Просмотр формата спейса

box.space.test:format()

Показывает формат спейса

Вывод всех индексов

box.space.test.index

Показывает список всех индексов для выбранного спейса

Ручная отладка — просмотр данных

box.space.test:select{}

Просматривает все записи в спейсе

Ручная отладка — просмотр конкретной записи

box.space.test:get{1}

Показывает запись по первичному ключу

Отладка — вывод логов

log.info("Отладочное сообщение")

Добавляет сообщение в лог для диагностики

Изменение записи для тестирования

box.space.test:update({1}, {{'=', 3, 'Completed'}})

Обновляет поле записи, чтобы проверить работу индексов и триггеров

Удаление записи

box.space.test:delete{1}

Удаляет запись по ключу

Ручной вызов функции

box.func.my_function:call{args}

Вызывает пользовательскую функцию для проверки

Просмотр состояния кластера

vshard.router.info()

Показывает текущее состояние кластера

Операции для роли dml_users

Пользователи с ролью dml_users выполняют операции чтения, записи, обновления и удаления данных в рамках прав, предоставленных администратором (admin).
При переключении кластера в пассивный режим эти пользователи теряют права на изменение данных для предотвращения некорректных записей.

  • Чтение данных:

    -- Чтение всех записей из спейса 'accounts'
    box.space.accounts:select{}
    
    -- Чтение записи с определённым ключом (например, по ID аккаунта)
    box.space.accounts:get{1}
    

    Пример ответа:

    {'1', 'Account #1', 'Active'}
    
  • Добавление новых данных:

    -- Вставка новой записи о банковском аккаунте
    box.space.accounts:insert{2, 'Account #2', 'Pending'}
    

    Пример ответа:

    {'2', 'Account #2', 'Pending'}
    
  • Обновление данных:

    -- Обновление статуса аккаунта
    box.space.accounts:update({2}, {{'=', 3, 'Approved'}})
    

    Пример ответа:

    {'2', 'Account #2', 'Approved'}
    
  • Удаление данных:

    -- Удаление записи по ключу (удаление аккаунта)
    box.space.accounts:delete{2}
    

    Пример ответа:

    {'2', 'Account #2', 'Approved'}
    

Операция

Команда

Описание

Чтение всех данных

box.space.accounts:select{}

Чтение всех записей из спейса accounts

Чтение по ключу

box.space.accounts:get{1}

Чтение записи по первичному ключу в спейсе accounts

Добавление данных

box.space.accounts:insert{2, 'Account #2', 'Pending'}

Добавление новой записи о банковском аккаунте

Обновление данных

box.space.accounts:update({2}, {{'=', 3, 'Approved'}})

Обновление существующей записи (например, статус аккаунта)

Удаление данных

box.space.accounts:delete{2}

Удаление записи по ключу из спейса accounts

Found what you were looking for?
Feedback