Предварительные условия
Immu-Py Предполагается, что существует существующий экземпляр сервера Immudb UP и работает.
Вы можете пропустить деталь Setup Immudb, если у вас уже работает IMMUDB.
Настройка Immudb
Immudb это Легкий, высокоскоростной неизменную базу данных Для систем и приложений. Immudb – это открытый источник под Apache v2.0 лицензия Отказ
С Иммодб Вы можете отслеживать изменения в конфиденциальных данных в ваших транзакционных базах данных, а затем рекордируйте эти изменения непоколебимо в базе данных. Immudb гарантирует, что не только последние данные, но полная история, скажем, ваши дебетовые/кредитные операции хранятся неизменными.
Настройка Immudb
Если вы еще не настроили IMMUDB, это время для этого. Вам нужно только начать Immudb либо как процесс, сервис или контейнер докера.
Вам решать, если вы хотите построить докера/образы/блог самостоятельно на основе DockerFiles в репозитории GitHUB или используйте пребуильды на Dockerhub.
Immudb использует следующие значения по умолчанию:
- Auth пользователь: Immudb
- Auth Password: Immudb
- Порт обслуживания: 3322 (Immudb)
- Портрики порта: 9497 (Прометей экспортер)
Immudb Dockerhub.
docker run -it -d -p 3322:3322 -p 9497:9497 — name immudb codenotary/immudb:latest
Автономные двоичные файлы
Каждый выпуск предоставляет все двоичные файлы для разных операционных систем. Вы можете найти это здесь: Иммодб релизы
Если вы хотите построить двоичные файлы Сам, просто клонировать это репо и запустить одну из следующих команд в зависимости от вашей операционной системы.
# Linux GOOS=linux GOARCH=amd64 make immudb-static # macOS GOOS=darwin GOARCH=amd64 make immudb-static # Microsoft Windows GOOS=windows GOARCH=amd64 make immudb-static
Тогда вы можете запустить Immudb
# run immudb in the foreground ./immudb # run immudb in the background ./immudb -d
Установите Immudb в качестве услуги
# install immudb service ./immudb service install # check current immudb service status ./immudb service status # stop immudb service ./immudb service stop # start immudb service ./immudb service start
Введение Python SDK для Immudb
Immu-Py реализует GRPC Immudb Client. Минималистский API подвергается приложениям, в то время как криптографические Реализация протокола протокола и протокола и протокола государственного обновления полностью реализована этим клиентом. Последнее подтвержденное состояние Immudb может храниться в локальной файловой системе при использовании по умолчанию rootservice
, Пожалуйста, прочитайте Immudb Research Paper Для получения подробной информации о том, как обеспечивается неизменность ?| Immudb Отказ
Установка
Установите пакет с помощью PIP:
pip install git+https://github.com/codenotary/immu-py.git
Затем импортируйте клиента следующим образом:
from immudb.client import ImmudbClient
Примечание: Immu-Py в настоящее время принимается в [пакетах GitHub].
Поддерживаемые версии
Immu-Py поддерживает Последний отпуск Immudb Отказ
Быстрый старт
Здравствуйте, неизменный мир! Пример можно найти в Immudb-клиент-образцы
репо.
Пошаговое руководство
Создание клиента
Следующие фрагменты кода показывают, как создать клиент.
Использование конфигурации по умолчанию:
client = ImmudbClient()
Настройка Immudb
URL и порт:
client = ImmudbClient("mycustomurl:someport") client = ImmudbClient("10.105.20.32:8899")
Пользовательские сессии
Использовать авторизоваться
и Выход
Методы инициирования и завершения пользовательских сеансов:
client.login("usr1", "pwd1"); // Interact with immudb using logged user client.logout();
Кодирование
Обратите внимание, что, чтобы обеспечить максимальную гибкость, все функции принимают байтовые массивы в качестве параметров. Следовательно, строки Unicode должны быть правильно закодированы. Можно хранить структурированные объекты, но они должны быть сериализованы (например, с сортировкой или JSON).
Создание базы данных
Создание новой базы данных довольно проста:
client.createDatabase(b"db1");
Установка активной базы данных
Укажите активную базу данных с:
client.useDatabase(b"db1");
Если не указано, используемый баз данных по умолчанию «по умолчанию».
Традиционный читать и писать
Immudb предоставляет операции по чтению и записи, которые ведут себя в качестве традиционного магазина Key-Value I.E. Криптографическую проверку не выполняется. Эта операция может использоваться, когда проверки могут быть опубликованы:
client.set(b"k123", b"value123"); result = client.get(b"k123");
Проверено или безопасно прочитать и писать
Immudb предоставляет встроенную криптографическую проверку для любой записи. Клиент реализует математические проверки, в то время как приложение использует в качестве традиционной операции чтения или записи:
try: client.safeSet(b"k123", new byte[]{1, 2, 3}); results = client.safeGet(b"k123"); Except VerificationException as e: # Do something
Многолюбивый прочитанный и запись
Операции по чтению и записи транзакционных нескольких ключей поддерживаются Immudb и Immupy. Atomic Multi-Kily Пишите (все записи сохраняются или нет):
normal_dictionary = {b"key1": b"value1", b"key2": b"value2"} client.setAll(normal_dictionary);
Atomic Multi-Kily Read (все записи извлекаются или нет):
normal_dictionary = {b"key1": b"value1", b"key2": b"value2"} results_dictionary = client.getAll(normal_dictionary.keys()) # Or manually client.get([b"key1", b"key2"])
Управление пользователями
Пользователи могут быть добавлены и предоставлены доступ к базам данных.
Добавление пользователя
То
functions create a new users and grants the specified permission to a database. ```python user='newuser' password='Pw1:pasdfoiu' permission=immudb.constants.PERMISSION_RW database='defaultdb' client.createUser(user, password, permission, database)
База данных должна существовать в то время, когда пользователь создан. Пароль должен быть длиной от 8 до 32 символов и должен иметь хотя бы одну заглавную букву, символ и цифру.
Разрешение определены в Immudb.constants и являются:
Permission_sys_admin.
Permission_admin.
Permission_none.
Permission_r.
Разрешение_rw.
Изменение пароля
Пользователь должен предоставить как старый, так и новый пароль:
newPassword="pW1:a0s98d7gfy" resp=client.changePassword(user, newPassword, oldPassword)
Применяется та же политика пароля создания пользователя.
Список пользователей
Чтобы получить список пользователей, созданных на Immudb, просто позвоните
: ```python resp=client.listUsers() print(users.userlist.users)
Закрытие клиента
Для программически закрытия соединения с сервером Immudb используйте Выключение
Операция:
client.shutdown();
Примечание. После отключения необходимо создать новый клиент для создания нового подключения.
Вклад
Мы приветствуем вклад. Не стесняйтесь присоединиться к команде!
Чтобы сообщить об ошибках или получить помощь, используйте Вопросы Github Отказ
Оригинал: “https://dev.to/vchaindz/store-data-tamperproof-using-the-python-sdk-for-immudb-the-blazing-fast-oss-immutable-db-3eg7”