Python grpc.Channel() Examples
The following are 16
code examples of grpc.Channel().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
grpc
, or try the search function
.
Example #1
Source File: channel.py From aiogrpc with Apache License 2.0 | 6 votes |
def __init__(self, _channel, loop=None, executor=None, standalone_pool_for_streaming=False): """Constructor. Args: _channel: wrapped grpc.Channel loop: asyncio event loop executor: a thread pool, or None to use the default pool of the loop standalone_pool_for_streaming: create a new thread pool (with 1 thread) for each streaming method """ self._channel = _channel if loop is None: loop = _asyncio.get_event_loop() self._loop = loop self._executor = executor self._standalone_pool = standalone_pool_for_streaming self._subscribe_map = {}
Example #2
Source File: channel.py From aiogrpc with Apache License 2.0 | 6 votes |
def channel_ready_future(channel): """Creates a Future that tracks when a Channel is ready. Cancelling the Future does not affect the channel's state machine. It merely decouples the Future from channel state machine. Args: channel: A Channel object. Returns: A Future object that matures when the channel connectivity is ChannelConnectivity.READY. """ fut = channel._loop.create_future() def _set_result(state): if not fut.done() and state is _grpc.ChannelConnectivity.READY: fut.set_result(None) fut.add_done_callback(lambda f: channel.unsubscribe(_set_result)) channel.subscribe(_set_result, try_to_connect=True) return fut
Example #3
Source File: grpc_client.py From xos with Apache License 2.0 | 5 votes |
def _retrieve_schema(self): """ Retrieve schema from gRPC end-point, and save all *.proto files in the work directory. """ assert isinstance(self.channel, grpc.Channel) stub = SchemaServiceStub(self.channel) # try: schemas = stub.GetSchema(Empty(), timeout=120) # except _Rendezvous, e: # if e.code == grpc.StatusCode.UNAVAILABLE: # # else: # raise e os.system('mkdir -p %s' % self.work_dir) os.system('rm -fr /tmp/%s/*' % self.work_dir.replace('/tmp/', '')) # safer for proto_file in schemas.protos: proto_fname = proto_file.file_name proto_content = proto_file.proto log.debug('saving-proto', fname=proto_fname, dir=self.work_dir, length=len(proto_content)) with open(os.path.join(self.work_dir, proto_fname), 'w') as f: f.write(proto_content) desc_content = decompress(proto_file.descriptor) desc_fname = proto_fname.replace('.proto', '.desc') log.debug('saving-descriptor', fname=desc_fname, dir=self.work_dir, length=len(desc_content)) with open(os.path.join(self.work_dir, desc_fname), 'wb') as f: f.write(desc_content) return schemas.swagger_from
Example #4
Source File: remote_executor.py From federated with Apache License 2.0 | 5 votes |
def __init__(self, channel, rpc_mode='REQUEST_REPLY', thread_pool_executor=None, dispose_batch_size=20): """Creates a remote executor. Args: channel: An instance of `grpc.Channel` to use for communication with the remote executor service. rpc_mode: Optional mode of calling the remote executor. Must be either 'REQUEST_REPLY' or 'STREAMING' (defaults to 'REQUEST_REPLY'). This option will be removed after the request-reply interface is deprecated. thread_pool_executor: Optional concurrent.futures.Executor used to wait for the reply to a streaming RPC message. Uses the default Executor if not specified. dispose_batch_size: The batch size for requests to dispose of remote worker values. Lower values will result in more requests to the remote worker, but will result in values being cleaned up sooner and therefore may result in lower memory usage on the remote worker. """ py_typecheck.check_type(channel, grpc.Channel) py_typecheck.check_type(rpc_mode, str) py_typecheck.check_type(dispose_batch_size, int) if rpc_mode not in ['REQUEST_REPLY', 'STREAMING']: raise ValueError('Invalid rpc_mode: {}'.format(rpc_mode)) logging.debug('Creating new ExecutorStub with RPC_MODE=%s', rpc_mode) self._stub = executor_pb2_grpc.ExecutorStub(channel) self._bidi_stream = None self._dispose_batch_size = dispose_batch_size self._dispose_request = executor_pb2.DisposeRequest() if rpc_mode == 'STREAMING': logging.debug('Creating Bidi stream') self._bidi_stream = _BidiStream(self._stub, thread_pool_executor)
Example #5
Source File: grpc_client.py From xos with Apache License 2.0 | 5 votes |
def _retrieve_schema(self): """ Retrieve schema from gRPC end-point, and save all *.proto files in the work directory. """ assert isinstance(self.channel, grpc.Channel) stub = SchemaServiceStub(self.channel) # try: schemas = stub.GetSchema(Empty(), timeout=120) # except _Rendezvous, e: # if e.code == grpc.StatusCode.UNAVAILABLE: # # else: # raise e os.system('mkdir -p %s' % self.work_dir) os.system('rm -fr /tmp/%s/*' % self.work_dir.replace('/tmp/', '')) # safer for proto_file in schemas.protos: proto_fname = proto_file.file_name proto_content = proto_file.proto log.debug('saving-proto', fname=proto_fname, dir=self.work_dir, length=len(proto_content)) with open(os.path.join(self.work_dir, proto_fname), 'w') as f: f.write(proto_content) desc_content = decompress(proto_file.descriptor) desc_fname = proto_fname.replace('.proto', '.desc') log.debug('saving-descriptor', fname=desc_fname, dir=self.work_dir, length=len(desc_content)) with open(os.path.join(self.work_dir, desc_fname), 'wb') as f: f.write(desc_content) return schemas.swagger_from
Example #6
Source File: channel.py From aiogrpc with Apache License 2.0 | 5 votes |
def insecure_channel(target, options=None, *, loop=None, executor=None, standalone_pool_for_streaming=False): """Creates an insecure Channel to a server. Args: target: The server address options: An optional list of key-value pairs (channel args in gRPC runtime) to configure the channel. Returns: A Channel object. """ return Channel(_grpc.insecure_channel(target, options), loop, executor, standalone_pool_for_streaming)
Example #7
Source File: channel.py From aiogrpc with Apache License 2.0 | 5 votes |
def secure_channel(target, credentials, options=None, *, loop=None, executor=None, standalone_pool_for_streaming=False): """Creates a secure Channel to a server. Args: target: The server address. credentials: A ChannelCredentials instance. options: An optional list of key-value pairs (channel args in gRPC runtime) to configure the channel. Returns: A Channel object. """ return Channel(_grpc.secure_channel(target, credentials, options), loop, executor, standalone_pool_for_streaming)
Example #8
Source File: client.py From hangar-py with Apache License 2.0 | 5 votes |
def __init__(self, envs: Environments, address: str, *, auth_username: str = '', auth_password: str = '', wait_for_ready: bool = True, wait_for_ready_timeout: float = 5): self.env: Environments = envs self.address: str = address self.wait_ready: bool = wait_for_ready self.wait_ready_timeout: float = abs(wait_for_ready_timeout + 0.001) self.channel: grpc.Channel = None self.stub: hangar_service_pb2_grpc.HangarServiceStub = None self.header_adder_int = header_adder_interceptor(auth_username, auth_password) self.cfg: dict = {} self._rFs: BACKEND_ACCESSOR_MAP = {} for backend, accessor in BACKEND_ACCESSOR_MAP.items(): if accessor is not None: self._rFs[backend] = accessor( repo_path=self.env.repo_path, schema_shape=None, schema_dtype=None) self._rFs[backend].open(mode='r') self._setup_client_channel_config()
Example #9
Source File: grpc_client.py From voltha with Apache License 2.0 | 5 votes |
def _retrieve_schema(self): """ Retrieve schema from gRPC end-point, and save all *.proto files in the work directory. """ assert isinstance(self.channel, grpc.Channel) stub = SchemaServiceStub(self.channel) # try: schemas = stub.GetSchema(Empty()) # except _Rendezvous, e: # if e.code == grpc.StatusCode.UNAVAILABLE: # # else: # raise e os.system('mkdir -p %s' % self.work_dir) os.system('rm -fr /tmp/%s/*' % self.work_dir.replace('/tmp/', '')) # safer for proto_file in schemas.protos: proto_fname = proto_file.file_name # TODO: Do we need to process a set of files using a prefix # instead of just one? proto_content = proto_file.proto log.info('saving-proto', fname=proto_fname, dir=self.work_dir, length=len(proto_content)) with open(os.path.join(self.work_dir, proto_fname), 'w') as f: f.write(proto_content) desc_content = decompress(proto_file.descriptor) desc_fname = proto_fname.replace('.proto', '.desc') log.info('saving-descriptor', fname=desc_fname, dir=self.work_dir, length=len(desc_content)) with open(os.path.join(self.work_dir, desc_fname), 'wb') as f: f.write(desc_content) return schemas.yang_from
Example #10
Source File: grpc.py From alfred-gmail with MIT License | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #11
Source File: grpc.py From luci-py with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #12
Source File: grpc.py From luci-py with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #13
Source File: grpc.py From luci-py with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #14
Source File: grpc.py From luci-py with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #15
Source File: grpc.py From luci-py with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)
Example #16
Source File: grpc.py From aws-kube-codesuite with Apache License 2.0 | 4 votes |
def secure_authorized_channel( credentials, request, target, ssl_credentials=None, **kwargs): """Creates a secure authorized gRPC channel. This creates a channel with SSL and :class:`AuthMetadataPlugin`. This channel can be used to create a stub that can make authorized requests. Example:: import google.auth import google.auth.transport.grpc import google.auth.transport.requests from google.cloud.speech.v1 import cloud_speech_pb2 # Get credentials. credentials, _ = google.auth.default() # Get an HTTP request function to refresh credentials. request = google.auth.transport.requests.Request() # Create a channel. channel = google.auth.transport.grpc.secure_authorized_channel( credentials, 'speech.googleapis.com:443', request) # Use the channel to create a stub. cloud_speech.create_Speech_stub(channel) Args: credentials (google.auth.credentials.Credentials): The credentials to add to requests. request (google.auth.transport.Request): A HTTP transport request object used to refresh credentials as needed. Even though gRPC is a separate transport, there's no way to refresh the credentials without using a standard http transport. target (str): The host and port of the service. ssl_credentials (grpc.ChannelCredentials): Optional SSL channel credentials. This can be used to specify different certificates. kwargs: Additional arguments to pass to :func:`grpc.secure_channel`. Returns: grpc.Channel: The created gRPC channel. """ # Create the metadata plugin for inserting the authorization header. metadata_plugin = AuthMetadataPlugin(credentials, request) # Create a set of grpc.CallCredentials using the metadata plugin. google_auth_credentials = grpc.metadata_call_credentials(metadata_plugin) if ssl_credentials is None: ssl_credentials = grpc.ssl_channel_credentials() # Combine the ssl credentials and the authorization credentials. composite_credentials = grpc.composite_channel_credentials( ssl_credentials, google_auth_credentials) return grpc.secure_channel(target, composite_credentials, **kwargs)