Package Exports
- grpc-gcp
- grpc-gcp/build/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (grpc-gcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gRPC-GCP for Node.js
A Node.js module providing grpc supports for Google Cloud APIs.
Installation
npm install grpc-gcp --saveUsage
Let's use Spanner API as an example.
First, Create a json file defining API configuration, with ChannelPoolConfig and MethodConfig.
{
"channelPool": {
"maxSize": 10,
"maxConcurrentStreamsLowWatermark": 1
},
"method": [
{
"name": [ "/google.spanner.v1.Spanner/CreateSession" ],
"affinity": {
"command": "BIND",
"affinityKey": "name"
}
},
{
"name": [ "/google.spanner.v1.Spanner/GetSession" ],
"affinity": {
"command": "BOUND",
"affinityKey": "name"
}
},
{
"name": [ "/google.spanner.v1.Spanner/DeleteSession" ],
"affinity": {
"command": "UNBIND",
"affinityKey": "name"
}
}
]
}Load configuration to ApiConfig.
// @grpc/grpc-js can be used in place of grpc with no changes
var grpc = require('grpc');
var grpcGcp = require('grpc-gcp')(grpc);
var fs = require('fs');
var apiDefinition = JSON.parse(fs.readFileSync('your_api_config_json_file'));
var apiConfig = grpcGcp.createGcpApiConfig(apiDefinition);Pass gcpChannelFactoryOverride and gcpCallInvocationTransformer to channel options when initializing api client.
var channelOptions = {
channelFactoryOverride: grpcGcp.gcpChannelFactoryOverride,
callInvocationTransformer: grpcGcp.gcpCallInvocationTransformer,
gcpApiConfig: apiConfig,
};
var client = new SpannerClient(
'spanner.googleapis.com:443',
channelCreds,
channelOptions
);Build from source
Download source.
git clone https://github.com/GoogleCloudPlatform/grpc-gcp-node.git && cd grpc-gcp-nodegit submodule update --init --recursiveBuild grpc-gcp.
npm installTest
Setup credentials. See Getting Started With Authentication for more details.
export GOOGLE_APPLICATION_CREDENTIALS=path/to/key.jsonRun unit tests.
npm testRun system tests.
npm run system-test