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