def Init(self, host, port): self.host = host self.port = port print(f"Trying to connect on {self.host}:{self.port}") self.channel = grpc.insecure_channel(f"{self.host}:{self.port}") self.client = dapr_services.DaprStub(self.channel) print(f"Started gRPC client on DAPR_GRPC_PORT: {self.port}") req = roadwork_messages.CreateRequest(envId=self.envId) res = self.DaprInvoke("create", req, roadwork_messages.CreateResponse) self.instanceId = res.instanceId
import os import grpc from dapr.proto.common.v1 import common_pb2 as commonv1pb from dapr.proto.dapr.v1 import dapr_pb2 as dapr_messages from dapr.proto.dapr.v1 import dapr_pb2_grpc as dapr_services from google.protobuf.any_pb2 import Any # Start a gRPC client port = os.getenv('DAPR_GRPC_PORT') channel = grpc.insecure_channel(f"localhost:{port}") client = dapr_services.DaprStub(channel) print(f"Started gRPC client on DAPR_GRPC_PORT: {port}") # Create a typed message with content type and body test_message = Any(value='INVOKE_RECEIVED'.encode('utf-8')) # Invoke the method 'my-method' on receiver req = dapr_messages.InvokeServiceRequest( id="invoke-receiver", message=commonv1pb.InvokeRequest( method='my-method', data=test_message, content_type="text/plain; charset=UTF-8") ) response = client.InvokeService(req) # Print the response
from dapr.proto.dapr.v1 import dapr_pb2 as messages from dapr.proto.dapr.v1 import dapr_pb2_grpc as services import grpc import os from google.protobuf.any_pb2 import Any # Get port from environment variable. port = os.getenv('DAPR_GRPC_PORT', '5001') daprUri = 'localhost:' + port channel = grpc.insecure_channel(daprUri) client = services.DaprStub(channel) data = Any(value='lala'.encode('utf-8')) client.PublishEvent(messages.PublishEventEnvelope(topic='sith', data=data)) print('Published!') key = 'mykey' storeName = 'statestore' req = messages.StateRequest(key=key, value=Any(value='my state'.encode('utf-8'))) state = messages.SaveStateEnvelope(store_name=storeName, requests=[req]) client.SaveState(state) print('Saved!') resp = client.GetState(messages.GetStateEnvelope(store_name=storeName, key=key)) print('Got!') print(resp) resp = client.DeleteState(messages.DeleteStateEnvelope(store_name=storeName, key=key)) print('Deleted!')