import (
"context"
"fmt"
"cloud.google.com/go/bigquery"
)
// createRoutine demonstrates creating a new BigQuery UDF using the routine API.
func createRoutine(projectID, datasetID, routineID string) error {
// projectID := "my-project-id"
// datasetID := "mydatasetid"
// routineID := "myroutineid"
ctx := context.Background()
client, err := bigquery.NewClient(ctx, projectID)
if err != nil {
return fmt.Errorf("bigquery.NewClient: %w", err)
}
defer client.Close()
metaData := &bigquery.RoutineMetadata{
Type: "SCALAR_FUNCTION",
Language: "SQL",
Body: "x * 3",
Arguments: []*bigquery.RoutineArgument{
{Name: "x", DataType: &bigquery.StandardSQLDataType{TypeKind: "INT64"}},
},
}