NodeJs gRPC connection failing with "Error: 1 CANCELLED: Call cancelled"

I am using EventStore Cloud SingleNode hosted in Azure on a F1 machine. I try to append an event as described in the examples via NodeJs gRPC library with connection string looking like esdb://{clusterId}.mesdb.eventstore.cloud:2113 receiving the error

Error: 1 CANCELLED: Call cancelled
 at callErrorFromStatus (/app/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
 at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client.js:192:76)
 at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
 at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
 at /app/node_modules/@grpc/grpc-js/build/src/resolving-call.js:94:78
 at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
 for call at
  at ServiceClientImpl.makeUnaryRequest (/app/node_modules/@grpc/grpc-js/build/src/client.js:160:34)
  at ServiceClientImpl.getSupportedMethods (/app/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)
  at /app/node_modules/@eventstore/db-client/dist/Client/ServerFeatures.js:56:16
  at new Promise (<anonymous>)
   at ServerFeatures.createServerFeatures (/app/node_modules/@eventstore/db-client/dist/Client/ServerFeatures.js:54:17)
   at Client.execute (/app/node_modules/@eventstore/db-client/dist/Client/index.js:96:30)
   at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
   at async Client.supports (/app/node_modules/@eventstore/db-client/dist/Client/index.js:214:30)
   at async Client_1.Client.appendToStream (/app/node_modules/@eventstore/db-client/dist/streams/appendToStream/index.js:11:10)
   at async exports.default (/app/build/TestController.js:19:24)

My typescript code looks like this

    const client = EventStoreDBClient.connectionString`esdb://chut2qlo0aev5ta74pr0.mesdb.eventstore.cloud:2113?tls=false`

    type TestEvent = JSONEventType<
      'TestEvent',
      {
        entityId: string
        importantData: string
      }
    >

    const event = jsonEvent<TestEvent>({
      type: 'TestEvent',
      data: {
        entityId: v4(),
        importantData: 'I wrote my first event!',
      },
    })

    await client.appendToStream('test-stream', event, {
      expectedRevision: NO_STREAM,
    })

I have no clue how to further debug this issue or what to change in configuration of app or event store to append an event successfully. Anybody able to help me out?

Regards,
Mark

First, you add tls=false query to the connection string but all ES Cloud nodes are secure, so the client attempts to connect via HTTP but it should connect via HTTPS. Second, you need to add credentials to the connection string.

So, the correct connection string should be something like esdb://admin:[email protected]:2113 if you haven’t changed the default admin password.