gRPC / googleapis - trying to compile .proto file

Hello, I am trying to compile a proto file. I used this script on the command line: protoc --elixir_out=. --plugin=./googleapis:. rpc.proto and got the following error:

google/api/annotations.proto: File not found.
rpc.proto: Import "google/api/annotations.proto" was not found or had errors.

For reference, I am trying to follow the ‘Setting up gRPC’ of this tutorial: which uses Python.

The annotations.proto is part of the googleapis repo … many projects just copy the .proto files they need/want into their tree, and you can as well. You can also pop the googleapis files into your local fs so they can be used many all your projects, e.g. under /usr/local/google or wherever your install of protobuf looks by default (or use a -I directive in your protoc command line that points to where they are).

Some python and go projects “just work” because they are part of those “many projects” which include a local copy of those proto defs in their packages directly.

I did the same for google cloud kms…The code generation worked perfectly.
I am using the below code

{:ok, token} = Goth.Token.for_scope("")
request = "project_id")
headers = ["x-google-request-params": request.parent, "Authorization": "Bearer #{token.token}"]
{:ok, channel} = GRPC.Stub.connect("", "443", headers)
reply = channel |> Google.Cloud.Kms.V1.KeyManagementService.Stub.list_key_rings(request)

I keep getting this error

   message: "{:connection_error, :protocol_error, :\"Invalid connection preface received. (RFC7540 3.5)\"}",
   status: 2

What am I missing here