Python SDK for immudb를 사용하여 변조 방지 데이터를 저장합니다. 이것은 매우 빠른 OSS immutable db입니다.


immudb의 Python SDK

선결 조건
immupy는 immudb 서버의 기존 실례가 실행 중이라고 가정합니다.
immudb가 실행 중이면, immudb 설정 부분을 건너뛸 수 있습니다.

immudb 설정
immudb는 시스템과 응용 프로그램에 사용되는 경량급 고속 불변 데이터베이스입니다.immudb는 Apache v2.0 License에서 시작되었다.
immudb를 사용하면 사무 데이터베이스에서 민감한 데이터의 변경 사항을 추적한 다음에 변경 방지 데이터베이스에 영구적으로 이 변경 사항을 기록할 수 있습니다.immudb는 최신 데이터를 확보할 뿐만 아니라, 차변/대변 거래의 완전한 역사 기록이 변하지 않도록 확보한다.

immudb 설정
만약immudb를 설정하지 않았다면, 지금은 이렇게 할 때가 되었습니다.immudb를 프로세스, 서비스, docker 용기로 시작하기만 하면 됩니다.
GitHub 저장소의 Docker 파일에 따라 Docker/images/blog을 직접 구축하거나 Dockerhub의 미리 만들어진 파일을 사용하려면 귀하에 따라 달라집니다.
immudb에서 다음 기본값을 사용하고 있습니다.
  • 인증 사용자:immudb
  • 인증 비밀번호:immudb
  • 서비스 포트: 3322(immudb)
  • 미터법 포트: 9497(프로메테우스 수출상)

  • immudb Dockerhub
    docker run -it -d -p 3322:3322 -p 9497:9497 — name immudb codenotary/immudb:latest
    

    독립 이진 파일
    각 버전은 서로 다른 운영 체제에 적용되는 모든 바이너리 파일을 제공합니다.여기서 찾을 수 있습니다: immudb releases
    바이너리 파일을 직접 만들려면 clone this repo 운영체제에 따라 다음 명령 중 하나를 실행하십시오.
    # 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
    

    immudb의 Python SDK 소개
    immupy는 grpcimmudb 클라이언트를 실현했다.암호화 시 애플리케이션에 대한 API 최소화
    인증과 상태 업데이트 프로토콜의 실현은 완전히 이 클라이언트에 의해 이루어진다.
    기본값rootService을 사용할 때 최근에 검증된 immudb 상태는 로컬 파일 시스템에 유지될 수 있습니다.
    immudb research paper에서 immudb 불변성을 확보하는 방법에 대한 상세한 정보를 보십시오.

    장치
    pip를 사용하여 패키지를 설치하려면:
        pip install git+https://github.com/codenotary/immu-py.git
    
    그런 다음 다음과 같이 클라이언트를 가져옵니다.
        from immudb.client import ImmudbClient
    
    참고: immu-py는 현재 [Github Packages]에 호스팅되어 있습니다.

    지원되는 버전
    immu py 지원latest immudb release.

    빠른 시작
    Hello Immutable World! 예는 immudb-client-examples 환매 협의에서 찾을 수 있다.

    차근차근 지도하다

    클라이언트 작성
    다음 코드 세션은 클라이언트를 만드는 방법을 보여 줍니다.
    기본 구성 사용:
        client = ImmudbClient()
    
    설정immudburl과 포트:
    
        client = ImmudbClient("mycustomurl:someport")
        client = ImmudbClient("10.105.20.32:8899")
    

    사용자 세션loginlogout 방법을 사용하여 사용자 세션을 시작 및 종료합니다.
        client.login("usr1", "pwd1");
    
        // Interact with immudb using logged user
    
        client.logout();
    

    부호화
    최대의 유연성을 제공하기 위해 모든 함수는 바이트 그룹을 매개 변수로 받아들인다는 것을 주의하십시오.따라서 유니버설 문자열은 정확하게 인코딩해야 합니다.
    구조화된 대상을 저장할 수 있지만, 그것들은 반드시 서열화되어야 한다. 예를 들어pickle이나 json을 사용해야 한다.

    데이터베이스 만들기
    새 데이터베이스를 만드는 것은 매우 간단합니다.
        client.createDatabase(b"db1");
    

    활성 데이터베이스 설정
    다음 명령을 사용하여 활성 데이터베이스를 지정합니다.
        client.useDatabase(b"db1");
    
    지정하지 않으면 기본 데이터베이스는 "defaultdb"입니다.

    전통적인 읽기와 쓰기
    immudb에서 제공하는 읽기와 쓰기 동작과 전통적인
    키 값 저장소, 암호화 검증이 진행되지 않았습니다.이번 행동
    검증 후 사용 가능:
        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는 사무적인 다중 키 읽기와 쓰기를 지원합니다.
    원자 다중 키 쓰기 (모든 항목이 보존되거나 없음):
        normal_dictionary = {b"key1": b"value1", b"key2": b"value2"}
        client.setAll(normal_dictionary);
    
    원자 다중 키 읽기(모든 항목을 검색하거나 검색하지 않음):
        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에서 정의됩니다.상수 및 매개변수는 다음과 같습니다.
  • PERMISSION_SYS_ADMIN
  • PERMISSION_ADMIN
  • PERMISSION_NONE
  • PERMISSION_R
  • PERMISSION_RW

  • 암호 변경
    사용자는 이전 암호와 새 암호를 모두 입력해야 합니다.
    newPassword="pW1:a0s98d7gfy"
    resp=client.changePassword(user, newPassword, oldPassword)
    
    이것은 사용자가 만든 암호 정책과 같습니다.

    사용자 목록
    immudb에서 만든 사용자 목록을 가져오려면 호출하기만 하면 됩니다
    
    :
    
    
    ```python
    resp=client.listUsers()
    print(users.userlist.users)
    

    클라이언트 닫기
    immudb 서버와의 연결을 프로그래밍 방식으로 해제하려면 shutdown 작업을 사용합니다.
        client.shutdown();
    
    주의: 꺼진 후 새 클라이언트를 만들어서 연결을 만들어야 합니다.

    이바지
    우리는 기부금을 환영한다.우리 팀에 오신 것을 환영합니다!
    오류를 보고하거나 지원을 받으려면 GitHub's issues를 사용하십시오.

    좋은 웹페이지 즐겨찾기