Skip to content

GoogleCloudPlatform/grpc-gcp-node

gRPC-GCP for Node.js

A Node.js module providing grpc supports for Google Cloud APIs.

Installation

npm install grpc-gcp --save

Usage

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-node
git submodule update --init --recursive

Build grpc-gcp.

npm install

Test

Setup credentials. See Getting Started With Authentication for more details.

export GOOGLE_APPLICATION_CREDENTIALS=path/to/key.json

Run unit tests.

npm test

Run system tests.

npm run system-test

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy