Connect demo apps service (gRPC)#
Service for downloading demo Connect apps
Endpoints#
Get demo app download URL#
gRPC /nominal.connect.demo_apps.v1.ConnectDemoAppsService/GetDemoAppDownloadUrl
Get a pre-signed URL for downloading a demo Connect app Not workspace-scoped: any session may call it.
Request: GetDemoAppDownloadUrlRequest
sha256_checksumstringMatches
^[a-f0-9]{64}$.
Response: GetDemoAppDownloadUrlResponse
urlstring
Request
import grpc
from nominal.protos.connect.demo_apps.v1 import connect_demo_apps_pb2, connect_demo_apps_pb2_grpc
channel = grpc.secure_channel("api.gov.nominal.io:443", grpc.ssl_channel_credentials())
connect_demo_apps_service = connect_demo_apps_pb2_grpc.ConnectDemoAppsServiceStub(channel)
auth = [("authorization", "Bearer <api key>")]
request = connect_demo_apps_pb2.GetDemoAppDownloadUrlRequest(
sha256_checksum="<sha256 checksum>",
)
response = connect_demo_apps_service.GetDemoAppDownloadUrl(request, metadata=auth)
print(response)
package main
import (
"context"
"crypto/tls"
"fmt"
"log"
demo_appsv1 "github.com/nominal-io/nominal-api-protos-go/nominal/protos/connect/demo_apps/v1"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/metadata"
)
func main() {
conn, err := grpc.NewClient("api.gov.nominal.io:443",
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})))
if err != nil {
log.Fatal(err)
}
defer conn.Close()
connectDemoAppsService := demo_appsv1.NewConnectDemoAppsServiceClient(conn)
ctx := metadata.AppendToOutgoingContext(context.Background(), "authorization", "Bearer <api key>")
request := &demo_appsv1.GetDemoAppDownloadUrlRequest{
Sha256Checksum: "<sha256 checksum>",
}
response, err := connectDemoAppsService.GetDemoAppDownloadUrl(ctx, request)
if err != nil {
log.Fatal(err)
}
fmt.Println(response)
}
Response
{
"url": "<url>"
}
Errors#
Errors shows how these errors are sent.
Code |
Reason |
Message |
|---|---|---|
|
|
Provided checksum is not valid. |
|
|
Demo apps not available for specified environment. |
Page design based on Scalar, MIT License.