gRPC Adapter
The gRPC data adapter connects to gRPC services to stream data into the DDB. It supports unary RPC calls and dynamic protobuf compilation, making it suitable for microservices architectures.
Overview
This adapter enables integration with any system that exposes a gRPC interface — common in modern cloud-native applications and microservice-based systems.
Property |
Value |
|---|---|
Data Source |
Any gRPC service endpoint |
Recommended Topic Family |
|
Self-Update |
No (polls via |
Configuration Parameters
Parameter |
Description |
|---|---|
|
Network Address of the gRPC server |
|
Port of the gRPC server |
|
Full path to the gRPC server certificate file (optional) |
|
Full path to the directory containing .proto files |
|
Full path to the compiled protobuf stubs (optional) |
|
Trial ID for the gRPC device. No spaces or special characters allowed. |
|
List of gRPC components to monitor |
|
ID of the gRPC component to monitor |
|
Additional attributes for the gRPC component (optional) |
|
Trial ID for the gRPC device. No spaces or special characters allowed (optional) |
|
Relative path to the .proto file defining the gRPC service |
|
Name of the gRPC service method to call. Only |
|
Name of the gRPC stub class to use for communication |
|
Name of the request class to use for the gRPC service call. |
|
Request parameters for the gRPC service call |
Example Configuration
adapter_name: my_grpc_adapter
server_address: "localhost"
server_port: 50051
certificate_path: "/full/path/to/cert.pem"
trial_id: "exp1"
protobufs_dir: "/full/path/to/protos"
compiled_protos_dir: "/full/path/to/compiled_protos"
components:
- component_id: "sensor.temperature"
attributes:
description: "something something"
unit: "Celsius"
proto_rel_path: "relative/path/to/temperature.proto"
stub_class: "TemperatureServiceStub"
request_class: "TemperatureRequest"
request:
key1: "value1"
key2: [1, 2, 3]
- component_id: "sensor.humidity"
attributes:
description: "something something"
unit: "Percentage"
trial_id: "exp1_parallelA"
proto_rel_path: "relative/path/to/humidity.proto"
stub_class: "HumidityServiceStub"
request_class: "HumidityRequest"
request:
threshold: 75