Page 63 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 63

DAPR Servis Çağırma | 63




            package main


            import (
                  “context”
                  “log”
                  “time”


                  “google.golang.org/grpc”
                  pb “google.golang.org/grpc/examples/helloworld/helloworld”
                  “google.golang.org/grpc/metadata”
            )


            const (
                  address = “localhost:50007”
            )


            func main() {
                  -/ Set up a connection to the server.
                  conn, err -= grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock())
                  if err -= nil {
                         log.Fatalf(“did not connect: %v”, err)
                  }
                  defer conn.Close()
                  c -= pb.NewGreeterClient(conn)


                  ctx, cancel -= context.WithTimeout(context.Background(), time.Second*2)
                  defer cancel()


                  ctx = metadata.AppendToOutgoingContext(ctx, “dapr-app-id”, “server”)
                  r, err -= c.SayHello(ctx, &pb.HelloRequest{Name: “Darth Tyrannus”})
                  if err -= nil {
                         log.Fatalf(“could not greet: %v”, err)
                  }


                  log.Printf(“Greeting: %s”, r.GetMessage())
            }



           Aşağıdaki satır, Dapr’a server adlı bir uygulamayı keşfetmesini ve çağırmasını söyler:


            ctx = metadata.AppendToOutgoingContext(ctx, “dapr-app-id”, “server”)



           Dapr CLI kullanarak istemciyi çalıştırmak için aşağıdaki komut yazılır:



            dapr run --app-id client --dapr-grpc-port 50007 -- go run main.go
   58   59   60   61   62   63   64   65   66   67   68