Reference documentation and code samples for the gapic-common class Gapic::ServiceStub.
Gapic gRPC Stub
This class wraps the actual gRPC Stub and ChannelPool objects.
Inherits
- Object
Methods
#call_rpc
def
call_rpc
(
method_name
,
request
,
options
:
nil
,
& block
)
{
|
response
,
operation
|
...
}
-
>
Object
Invoke the specified RPC call.
- method_name(Symbol) — The RPC method name.
- request(Object) — The request object.
- options( Gapic::CallOptions , Hash) (defaults to: nil) — The options for making the RPC call. A Hash can be provided to customize the options object, using keys that match the arguments for CallOptions.new. This object should only be used once.
- (response, operation) — Access the response along with the RPC operation.
- response(Object) — The response object.
- operation(::GRPC::ActiveCall::Operation) — The RPC operation for the response.
- (Object) — The response object.
require "google/showcase/v1beta1/echo_pb" require "google/showcase/v1beta1/echo_services_pb" require "gapic" require "gapic/grpc" echo_channel = :: GRPC :: Core :: Channel . new ( "localhost:7469" , nil , :this_channel_is_insecure ) echo_stub = Gapic :: ServiceStub . new ( Google :: Showcase :: V1beta1 :: Echo :: Stub , endpoint : "localhost:7469" , credentials : echo_channel ) request = Google :: Showcase :: V1beta1 :: EchoRequest . new response = echo_stub . call_rpc :echo , request
Using custom call options:
require "google/showcase/v1beta1/echo_pb" require "google/showcase/v1beta1/echo_services_pb" require "gapic" require "gapic/grpc" echo_channel = :: GRPC :: Core :: Channel . new ( "localhost:7469" , nil , :this_channel_is_insecure ) echo_stub = Gapic :: ServiceStub . new ( Google :: Showcase :: V1beta1 :: Echo :: Stub , endpoint : "localhost:7469" , credentials : echo_channel ) request = Google :: Showcase :: V1beta1 :: EchoRequest . new options = Gapic :: CallOptions . new ( retry_policy = { retry_codes : [:: GRPC :: Core :: StatusCodes :: UNAVAILABLE ] } ) response = echo_stub . call_rpc :echo , request options : options
Accessing the response and RPC operation using a block:
require "google/showcase/v1beta1/echo_pb" require "google/showcase/v1beta1/echo_services_pb" require "gapic" require "gapic/grpc" echo_channel = :: GRPC :: Core :: Channel . new ( "localhost:7469" , nil , :this_channel_is_insecure ) echo_stub = Gapic :: ServiceStub . new ( Google :: Showcase :: V1beta1 :: Echo :: Stub , endpoint : "localhost:7469" , credentials : echo_channel ) request = Google :: Showcase :: V1beta1 :: EchoRequest . new echo_stub . call_rpc :echo , request do | response , operation | operation . trailing_metadata end
#channel_pool
def
channel_pool
()
-
>
Gapic
::
ServiceStub
::
ChannelPool
- (Gapic::ServiceStub::ChannelPool) — The instance of the ChannelPool class.
#create_channel_pool
def
create_channel_pool
(
grpc_stub_class
,
endpoint
:,
credentials
:,
channel_args
:
nil
,
interceptors
:
nil
,
channel_pool_config
:
nil
)
#create_grpc_stub
def
create_grpc_stub
(
grpc_stub_class
,
endpoint
:,
credentials
:,
channel_args
:
nil
,
interceptors
:
nil
)
#grpc_stub
def
grpc_stub
()
-
>
Object
- (Object) — The instance of the gRPC stub class (
grpc_stub_class
) constructor argument.
#initialize
def
initialize
(
grpc_stub_class
,
credentials
:,
endpoint
:
nil
,
endpoint_template
:
nil
,
universe_domain
:
nil
,
channel_args
:
nil
,
interceptors
:
nil
,
channel_pool_config
:
nil
,
logger
:
:default
)
-
>
ServiceStub
Creates a Gapic gRPC stub object.
- grpc_stub_class(Class) — gRPC stub class to create a new instance of.
- endpoint(String) (defaults to: nil) — The endpoint of the API. Overrides any endpoint_template.
- endpoint_template(String) (defaults to: nil) — The endpoint of the API, where the universe domain component of the hostname is marked by the string in the constant UniverseDomainConcerns::ENDPOINT_SUBSTITUTION .
- universe_domain(String) (defaults to: nil)
— The universe domain in which calls should
be made. Defaults to
googleapis.com
. - credentials(Google::Auth::Credentials, Signet::OAuth2::Client, String, Hash, Proc, ::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials) —
Provides the means for authenticating requests made by the client. This parameter can be many types:
- A
Google::Auth::Credentials
uses a the properties of its represented keyfile for authenticating requests made by this client. - A
Signet::OAuth2::Client
object used to apply the OAuth credentials. - A
::GRPC::Core::Channel
will be used to make calls through. - A
::GRPC::Core::ChannelCredentials
for the setting up the RPC client. The channel credentials should already be composed with a::GRPC::Core::CallCredentials
object. - A
Proc
will be used as an updater_proc for the Grpc channel. The proc transforms the metadata for requests, generally, to give OAuth credentials.
- A
- channel_args(Hash) (defaults to: nil)
— The channel arguments. (This argument is ignored when
credentials
is provided as a::GRPC::Core::Channel
.) - interceptors(Array<::GRPC::ClientInterceptor>) (defaults to: nil) — An array of GRPC::ClientInterceptor objects that will be used for intercepting calls before they are executed Interceptors are an EXPERIMENTAL API.
- channel_pool_config(::Gapic::ServiceStub:ChannelPool::Configuration) (defaults to: nil)
— The configuration for channel
pool. This argument will raise error when
credentials
is provided as a::GRPC::Core::Channel
. - logger(Logger, :default, nil) (defaults to: :default)
— An explicit logger to use, or one
of the values
:default
(the default) to construct a default logger, ornil
to disable logging explicitly.
- ( ServiceStub ) — a new instance of ServiceStub
- (ArgumentError)