grpc python 예제

grpc python 예제

설치 및 시스템에 python3와 가상 env를 설치합니다. 이것은 당신이 처음으로 그것을하고있다면 그것을 설정하기위한 좋은 기사입니다. 이 명령은 ML_example.proto 파일을 사용하여 클라이언트/서버를 만드는 데 필요한 스텁을 생성했습니다. gRPC 서버를 구현하는 첫 번째 단계는 서버의 인터페이스를 설명하는 것입니다. 서비스의 인터페이스는 서비스의 함수와 입력 및 출력 메시지에 의해 정의됩니다. 예제 서비스는 Users라고 하며 사용자를 만드는 함수와 사용자 세부 정보를 가져오는 함수를 정의합니다. 다음은 protobuf를 통해 두 가지 기능을 가진 서비스 사용자를 정의합니다: 위의 명령은 누군가가 스텁을 재생성해야 하는 경우를 대비하여 저장소에 포함된 generate-grpc-stubs.sh 스크립트에 유지됩니다(예: 인터페이스에서) 변경)을 참조하십시오. 마지막 단계는 GRPC 서버를 시작하고 서비스를 등록하는 것입니다. GRPC 생성기가이 작업을 수행 할 수있는 좋은 main() 함수를 생성하는 옵션이 있었으면 좋겠지 만 예제 코드를 복사하면됩니다. 당신은 모듈의 루트에서 기본 응용 프로그램 파일에서 KillrVideo 서비스를 모두 시작하는 코드를 찾을 수 있습니다 (__init___py): 이 튜토리얼의 경우 파이썬 3.6을 사용하려고합니다 (그리고 이것은 맥과 리눅스에 대해서만,하지만 난 윈도우 윌에 대한 유일한 다른 것을 확신 l 설치 프로세스) 시스템 소유 설치로 인해 pip를 업그레이드 할 수없는 경우 virtualenv에서 예제를 실행할 수 있습니다 : 위의 코드에서 발견 할 수있는 것 중 하나는 GRPC 서버에 등록하는 작업을 별도의 공동으로 위임한다는 것입니다. 각 서비스 구현에 대한 nstructor 함수입니다. 예를 들어 user_management_service_grpc.py 파일은 실제로 등록을 수행하는 생성자를 찾습니다. user_management_events.proto 파일에서 예제 “이벤트” 정의를 볼 수 있습니다.

우리는 곧 게시물에 메시징에 더 많은 파고. 각 서비스 작업은 단일 요청 매개 변수를 가져와 단일 응답 매개 변수를 반환하는 원격 프로시저 호출(rpc)입니다. 정의에 따라 동기 연산입니다. CreateUser 작업에 대한 요청/응답 메시지의 모양은 다음과 같습니다. 메타데이터는 클라이언트가 요청과 함께 보낼 수 있는 임의의 키-값 쌍의 목록이며 gRPC 사양 자체의 일부입니다. 컨텍스트 개체의 invocation_metadata() 메서드를 호출 하여 액세스 합니다. 다음은 UserManagementService에 대한 인터페이스입니다: 이 게시물은 함수를 원격 프로시저로 변환하는 매우 간단한 예제를 사용하여 표면을 긁습니다. 우리의 경우, 서비스는 주택 가격을 예측하고, 나는 이미 그렇게 할 수있는 모델을 훈련, 나는이 예에서 사용할 것입니다. 다음은 user_management_service_grpc.py의 예입니다: 예를 들어, 파이썬의 gRPC 도구에는 .proto에서 서버 및 클라이언트 코드를 생성하기 위한 프로토콜 버퍼 컴파일러 프로토크와 특수 플러그인이 포함되어 있습니다.

서비스 정의. 빠른 시작 예제의 첫 번째 부분에서는 helloworld.proto에서 서버 및 클라이언트 스텁을 이미 생성했지만 나머지 퀵스타트와 이후 자습서 및 자체 프로젝트에 대한 도구가 필요합니다.