or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
golangpkg:golang/cloud.google.com/go/bigquery@v1.72.0

docs

api-services

analytics-hub.mdbiglake.mdconnection.mddata-exchange.mddata-policies.mddata-transfer.mdmigration.mdreservation.md
advanced-features.mdclient-setup.mddata-export.mddata-loading.mddatasets.mdindex.mdjobs.mdqueries.mdstorage-read.mdstorage-write.mdtables.md
tile.json

tessl/golang-cloud-google-com--go--bigquery

tessl install tessl/golang-cloud-google-com--go--bigquery@1.72.0

Google Cloud BigQuery client library providing comprehensive Go APIs for querying, loading data, managing datasets and tables, streaming inserts, and accessing BigQuery's ecosystem of services including Storage, Analytics Hub, Data Transfer, and Migration APIs

analytics-hub.mddocs/api-services/

Analytics Hub API

The Analytics Hub API enables data sharing through exchanges and listings, allowing organizations to share datasets across projects and companies.

Package Import

import "cloud.google.com/go/bigquery/analyticshub/apiv1"
import "cloud.google.com/go/bigquery/analyticshub/apiv1/analyticshubpb"

Client Creation

func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error)
type Client struct{}
func (c *Client) Close() error

Create an Analytics Hub client:

ctx := context.Background()
client, err := analyticshub.NewClient(ctx)
if err != nil {
    return err
}
defer client.Close()

Data Exchanges

Create Data Exchange

func (c *Client) CreateDataExchange(ctx context.Context, req *analyticshubpb.CreateDataExchangeRequest, opts ...gax.CallOption) (*analyticshubpb.DataExchange, error)
req := &analyticshubpb.CreateDataExchangeRequest{
    Parent: "projects/my-project/locations/us",
    DataExchangeId: "my-exchange",
    DataExchange: &analyticshubpb.DataExchange{
        DisplayName: "My Data Exchange",
        Description: "Exchange for sharing datasets",
    },
}

exchange, err := client.CreateDataExchange(ctx, req)

List Data Exchanges

func (c *Client) ListDataExchanges(ctx context.Context, req *analyticshubpb.ListDataExchangesRequest, opts ...gax.CallOption) *DataExchangeIterator

Get Data Exchange

func (c *Client) GetDataExchange(ctx context.Context, req *analyticshubpb.GetDataExchangeRequest, opts ...gax.CallOption) (*analyticshubpb.DataExchange, error)

Update Data Exchange

func (c *Client) UpdateDataExchange(ctx context.Context, req *analyticshubpb.UpdateDataExchangeRequest, opts ...gax.CallOption) (*analyticshubpb.DataExchange, error)

Delete Data Exchange

func (c *Client) DeleteDataExchange(ctx context.Context, req *analyticshubpb.DeleteDataExchangeRequest, opts ...gax.CallOption) error

Listings

Create Listing

func (c *Client) CreateListing(ctx context.Context, req *analyticshubpb.CreateListingRequest, opts ...gax.CallOption) (*analyticshubpb.Listing, error)
req := &analyticshubpb.CreateListingRequest{
    Parent: "projects/my-project/locations/us/dataExchanges/my-exchange",
    ListingId: "my-listing",
    Listing: &analyticshubpb.Listing{
        DisplayName: "Public Dataset",
        Description: "Publicly available dataset for analysis",
        Source: &analyticshubpb.Listing_BigqueryDataset{
            BigqueryDataset: &analyticshubpb.Listing_BigQueryDatasetSource{
                Dataset: "projects/my-project/datasets/public_data",
            },
        },
    },
}

listing, err := client.CreateListing(ctx, req)

List Listings

func (c *Client) ListListings(ctx context.Context, req *analyticshubpb.ListListingsRequest, opts ...gax.CallOption) *ListingIterator

Subscribe to Listing

func (c *Client) SubscribeListing(ctx context.Context, req *analyticshubpb.SubscribeListingRequest, opts ...gax.CallOption) (*analyticshubpb.SubscribeListingResponse, error)

IAM Policy Management

func (c *Client) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
func (c *Client) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
func (c *Client) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)

Example

package main

import (
    "context"
    "fmt"
    "log"

    "cloud.google.com/go/bigquery/analyticshub/apiv1"
    "cloud.google.com/go/bigquery/analyticshub/apiv1/analyticshubpb"
)

func main() {
    ctx := context.Background()
    client, err := analyticshub.NewClient(ctx)
    if err != nil {
        log.Fatal(err)
    }
    defer client.Close()

    // Create data exchange
    exchange, err := client.CreateDataExchange(ctx, &analyticshubpb.CreateDataExchangeRequest{
        Parent: "projects/my-project/locations/us",
        DataExchangeId: "public-exchange",
        DataExchange: &analyticshubpb.DataExchange{
            DisplayName: "Public Data Exchange",
        },
    })
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Created exchange: %s\n", exchange.Name)

    // Create listing
    listing, err := client.CreateListing(ctx, &analyticshubpb.CreateListingRequest{
        Parent: exchange.Name,
        ListingId: "dataset-listing",
        Listing: &analyticshubpb.Listing{
            DisplayName: "Dataset Listing",
            Source: &analyticshubpb.Listing_BigqueryDataset{
                BigqueryDataset: &analyticshubpb.Listing_BigQueryDatasetSource{
                    Dataset: "projects/my-project/datasets/my_dataset",
                },
            },
        },
    })
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Created listing: %s\n", listing.Name)
}