Live Import returns no accessJWT available error via Docker Image

Hello, Good day,

I am using the Dgraph Docker image to do a live import and I followed the current docs, but I am getting some errors and wondering if the docs do not work for the new version of Dgraph.

Processing schema file "/tmp/g01.schema"
E0107 22:27:05.798488 1 xidmap.go:168] Error while getting lease: rpc error: code = Unknown desc = extracting namespace from JWT: unable to parse jwt token: token contains an invalid number of segments
Error while processing schema file "/tmp/g01.schema": rpc error: code = Unauthenticated desc = no accessJwt available
rpc error: code = Unauthenticated desc = no accessJwt available

I copied the API key directly from the Dgraph Cloud setting page, but it still says no access is available.

I am copying data from a shared cluster into a dedicated cluster, and it is not working. Can I get some help getting this backend data imported into my dedicated instance?

I tried both with and without the schema file(the schemas are identical in both instances) because I see different versions of the command in different places online.
Here are the commands I used, and I get similar errors:


docker run -it --rm -v /Users/blackwing/Desktop/dgraph-data/g01.rdf:/tmp/g01.rdf dgraph/dgraph:latest \
  dgraph live --slash_grpc_endpoint=<grpc-endpoint> -f /tmp/g01.rdf -t <apiKey>

I get this error using the above command:

Dgraph version : v23.1.0
Dgraph codename : dgraph
Dgraph SHA-256 : c455c829ccc239e6b4a0624c37a3ffdc082da94d8ae7b71e5bc0801bb23f6624
Commit SHA-1 : 2b18d19
Commit timestamp : 2023-08-17 13:27:10 -0500
Branch : HEAD
Go version : go1.19.12
jemalloc enabled : true

For Dgraph official documentation, visit https://dgraph.io/docs.
For discussions about Dgraph , visit [https://discuss.dgraph.io](https://discuss.dgraph.io/).
For fully-managed Dgraph Cloud , visit https://dgraph.io/cloud.
Licensed variously under the Apache Public License 2.0 and Dgraph Community License.
Copyright 2015-2023 Dgraph Labs, Inc.

Running transaction with dgraph endpoint: [red-rain.grpc.us-east-1.aws.cloud.dgraph.io:443](http://red-rain.grpc.us-east-1.aws.cloud.dgraph.io:443/)
Error while loading schema from alpha rpc error: code = Unauthenticated desc = no accessJwt available
E0107 22:31:34.402434 1 xidmap.go:168] Error while getting lease: rpc error: code = Unknown desc = extracting namespace from JWT: unable to parse jwt token: token contains an invalid number of segments
rpc error: code = Unauthenticated desc = no accessJwt available

And then I tried this command:

docker run -it --rm -v /Users/blackwing/Desktop/dgraph-data:/tmp dgraph/dgraph:latest \
  dgraph live --slash_grpc_endpoint <grpc-endpoint> -f /tmp/g01.rdf -s /tmp/g01.schema -t <apiKey>

I get this error below:

Processing schema file "/tmp/g01.schema"

E0107 22:27:05.798488 1 xidmap.go:168] Error while getting lease: rpc error: code = Unknown desc = extracting namespace from JWT: unable to parse jwt token: token contains an invalid number of segments

Error while processing schema file "/tmp/g01.schema": rpc error: code = Unauthenticated desc = no accessJwt available

rpc error: code = Unauthenticated desc = no accessJwt available

I am at a loss, and this is a very important transfer I am trying to make so we can move into the next version of our app. We have been paying for the dedicated cluster for a little while, and I am trying to get it set up. Why is my API key not working, and what is the accessJWT in this command? I’ve left the endpoint and API key out, but in the commands, those are coming directly from my settings, so I am not sure what I’m doing wrong. Did this command change for the latest version of Dgraph?

You are trying to do use -t with the API key you get from Cloud.

-t is the auth token passed to the server for Alter operation of the schema file. If used with --slash_grpc_endpoint, then this should be set to the API token issued by Slash GraphQL.

For this, you can login on http://dgraph-alpha-url:alpha-port/admin. This returns accessJwt and refreshJwt. You can use this accessJWT in -t. That should solve the problem.