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_checksum string

Matches ^[a-f0-9]{64}$.

Response: GetDemoAppDownloadUrlResponse

url string

​

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

INVALID_ARGUMENT

CONNECT_DEMO_APPS_SERVICE_ERROR_INVALID_CHECKSUM

Provided checksum is not valid.

NOT_FOUND

CONNECT_DEMO_APPS_SERVICE_ERROR_UNAVAILABLE_FOR_ENVIRONMENT

Demo apps not available for specified environment.

Page design based on Scalar, MIT License.