Package biglake is an auto-generated package for the BigLake API.
The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.
NOTE: This package is in beta. It is not stable, and may be subject to changes.
General documentation
For information that is relevant for all client libraries please reference https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this page includes:
- Authentication and Authorization
- Timeouts and Cancellation
- Testing against Client Libraries
- Debugging Client Libraries
- Inspecting errors
Example usage
To get started with this package, create a client.
// go get cloud.google.com/go/biglake/apiv1@latest ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in: // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options c, err := biglake.NewIcebergCatalogClient(ctx) if err != nil { // TODO: Handle error. } defer c.Close()
The client will use your default application credentials. Clients should be reused instead of created as needed. The methods of Client are safe for concurrent use by multiple goroutines. The returned client must be Closed when it is done being used.
Using the Client
The following is an example of making an API call with the newly created client, mentioned above.
req := &biglakepb.GetIcebergNamespaceRequest{ // TODO: Fill request struct fields. // See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergNamespaceRequest. } err = c.CheckIcebergNamespaceExists(ctx, req) if err != nil { // TODO: Handle error. }
Use of Context
The ctx passed to NewIcebergCatalogClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.
To close the open connection, use the Close() method.
Functions
func DefaultAuthScopes
func DefaultAuthScopes() []stringDefaultAuthScopes reports the default set of authentication scopes to use with this package.
IcebergCatalogCallOptions
type IcebergCatalogCallOptions struct {
GetIcebergCatalogConfig []gax.CallOption
ListIcebergNamespaces []gax.CallOption
CheckIcebergNamespaceExists []gax.CallOption
GetIcebergNamespace []gax.CallOption
CreateIcebergNamespace []gax.CallOption
DeleteIcebergNamespace []gax.CallOption
UpdateIcebergNamespace []gax.CallOption
ListIcebergTableIdentifiers []gax.CallOption
CreateIcebergTable []gax.CallOption
CheckIcebergTableExists []gax.CallOption
DeleteIcebergTable []gax.CallOption
GetIcebergTable []gax.CallOption
LoadIcebergTableCredentials []gax.CallOption
UpdateIcebergTable []gax.CallOption
RegisterIcebergTable []gax.CallOption
GetIcebergCatalog []gax.CallOption
ListIcebergCatalogs []gax.CallOption
DeleteIcebergCatalog []gax.CallOption
UpdateIcebergCatalog []gax.CallOption
CreateIcebergCatalog []gax.CallOption
FailoverIcebergCatalog []gax.CallOption
}IcebergCatalogCallOptions contains the retry settings for each method of IcebergCatalogClient.
IcebergCatalogClient
type IcebergCatalogClient struct {
// The call options for this service.
CallOptions *IcebergCatalogCallOptions
// contains filtered or unexported fields
}IcebergCatalogClient is a client for interacting with BigLake API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
Iceberg Catalog Service API: this implements the open-source Iceberg REST Catalog API. See the API definition here: https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml (at https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml)
The API is defined as OpenAPI 3.1.1 spec.
Currently we only support the following methods:
GetConfig/GetIcebergCatalogConfig
ListIcebergNamespaces
CheckIcebergNamespaceExists
GetIcebergNamespace
CreateIcebergNamespace (only supports single level)
DeleteIcebergNamespace
UpdateIcebergNamespace properties
ListTableIdentifiers
CreateIcebergTable
DeleteIcebergTable
GetIcebergTable
UpdateIcebergTable (CommitTable)
LoadIcebergTableCredentials
RegisterTable
Users are required to provided the X-Goog-User-Project header with the project id or number which can be different from the bucket project id. That project will be charged for the API calls and the calling user must have access to that project. The caller must have serviceusage.services.use permission on the project.
func NewIcebergCatalogClient
func NewIcebergCatalogClient(ctx context.Context, opts ...option.ClientOption) (*IcebergCatalogClient, error)NewIcebergCatalogClient creates a new iceberg catalog service client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
Iceberg Catalog Service API: this implements the open-source Iceberg REST Catalog API. See the API definition here: https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml (at https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml)
The API is defined as OpenAPI 3.1.1 spec.
Currently we only support the following methods:
GetConfig/GetIcebergCatalogConfig
ListIcebergNamespaces
CheckIcebergNamespaceExists
GetIcebergNamespace
CreateIcebergNamespace (only supports single level)
DeleteIcebergNamespace
UpdateIcebergNamespace properties
ListTableIdentifiers
CreateIcebergTable
DeleteIcebergTable
GetIcebergTable
UpdateIcebergTable (CommitTable)
LoadIcebergTableCredentials
RegisterTable
Users are required to provided the X-Goog-User-Project header with the project id or number which can be different from the bucket project id. That project will be charged for the API calls and the calling user must have access to that project. The caller must have serviceusage.services.use permission on the project.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
// TODO: Use client.
_ = c
}
func NewIcebergCatalogRESTClient
func NewIcebergCatalogRESTClient(ctx context.Context, opts ...option.ClientOption) (*IcebergCatalogClient, error)NewIcebergCatalogRESTClient creates a new iceberg catalog service rest client.
Iceberg Catalog Service API: this implements the open-source Iceberg REST Catalog API. See the API definition here: https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml (at https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml)
The API is defined as OpenAPI 3.1.1 spec.
Currently we only support the following methods:
GetConfig/GetIcebergCatalogConfig
ListIcebergNamespaces
CheckIcebergNamespaceExists
GetIcebergNamespace
CreateIcebergNamespace (only supports single level)
DeleteIcebergNamespace
UpdateIcebergNamespace properties
ListTableIdentifiers
CreateIcebergTable
DeleteIcebergTable
GetIcebergTable
UpdateIcebergTable (CommitTable)
LoadIcebergTableCredentials
RegisterTable
Users are required to provided the X-Goog-User-Project header with the project id or number which can be different from the bucket project id. That project will be charged for the API calls and the calling user must have access to that project. The caller must have serviceusage.services.use permission on the project.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogRESTClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
// TODO: Use client.
_ = c
}
func (*IcebergCatalogClient) CheckIcebergNamespaceExists
func (c *IcebergCatalogClient) CheckIcebergNamespaceExists(ctx context.Context, req *biglakepb.GetIcebergNamespaceRequest, opts ...gax.CallOption) errorCheckIcebergNamespaceExists returns 204 if the namespace exists, 404 otherwise.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergNamespaceRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergNamespaceRequest.
}
err = c.CheckIcebergNamespaceExists(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*IcebergCatalogClient) CheckIcebergTableExists
func (c *IcebergCatalogClient) CheckIcebergTableExists(ctx context.Context, req *biglakepb.GetIcebergTableRequest, opts ...gax.CallOption) errorCheckIcebergTableExists returns 204 if the table exists, 404 otherwise. This is a HEAD HTTP method.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergTableRequest.
}
err = c.CheckIcebergTableExists(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*IcebergCatalogClient) Close
func (c *IcebergCatalogClient) Close() errorClose closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*IcebergCatalogClient) Connection (deprecated)
func (c *IcebergCatalogClient) Connection() *grpc.ClientConnConnection returns a connection to the API service.
Deprecated: Connections are now pooled so this method does not always return the same resource.
func (*IcebergCatalogClient) CreateIcebergCatalog
func (c *IcebergCatalogClient) CreateIcebergCatalog(ctx context.Context, req *biglakepb.CreateIcebergCatalogRequest, opts ...gax.CallOption) (*biglakepb.IcebergCatalog, error)CreateIcebergCatalog creates the Iceberg REST Catalog. Currently only supports Google Cloud Storage Bucket catalogs. Google Cloud Storage Bucket catalog id is the bucket for which the catalog is created (e.g. my-catalog for gs://my-catalog).
If the bucket does not exist, of the caller does not have bucket metadata permissions, the catalog will not be created.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.CreateIcebergCatalogRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#CreateIcebergCatalogRequest.
}
resp, err := c.CreateIcebergCatalog(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) CreateIcebergNamespace
func (c *IcebergCatalogClient) CreateIcebergNamespace(ctx context.Context, req *biglakepb.CreateIcebergNamespaceRequest, opts ...gax.CallOption) (*biglakepb.IcebergNamespace, error)CreateIcebergNamespace creates a namespace in the catalog.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.CreateIcebergNamespaceRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#CreateIcebergNamespaceRequest.
}
resp, err := c.CreateIcebergNamespace(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) CreateIcebergTable
func (c *IcebergCatalogClient) CreateIcebergTable(ctx context.Context, req *biglakepb.CreateIcebergTableRequest, opts ...gax.CallOption) (*httpbodypb.HttpBody, error)CreateIcebergTable creates a table in the namespace.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.CreateIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#CreateIcebergTableRequest.
}
resp, err := c.CreateIcebergTable(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) DeleteIcebergCatalog
func (c *IcebergCatalogClient) DeleteIcebergCatalog(ctx context.Context, req *biglakepb.DeleteIcebergCatalogRequest, opts ...gax.CallOption) errorDeleteIcebergCatalog deletes the Iceberg REST Catalog. Delete does not delete a catalog that has contents – at least one namespace.
Delete is not supported for all catalog types.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.DeleteIcebergCatalogRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#DeleteIcebergCatalogRequest.
}
err = c.DeleteIcebergCatalog(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*IcebergCatalogClient) DeleteIcebergNamespace
func (c *IcebergCatalogClient) DeleteIcebergNamespace(ctx context.Context, req *biglakepb.DeleteIcebergNamespaceRequest, opts ...gax.CallOption) errorDeleteIcebergNamespace returns 204, not 200 on success.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.DeleteIcebergNamespaceRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#DeleteIcebergNamespaceRequest.
}
err = c.DeleteIcebergNamespace(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*IcebergCatalogClient) DeleteIcebergTable
func (c *IcebergCatalogClient) DeleteIcebergTable(ctx context.Context, req *biglakepb.DeleteIcebergTableRequest, opts ...gax.CallOption) errorDeleteIcebergTable deletes a table in the namespace.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.DeleteIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#DeleteIcebergTableRequest.
}
err = c.DeleteIcebergTable(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*IcebergCatalogClient) FailoverIcebergCatalog
func (c *IcebergCatalogClient) FailoverIcebergCatalog(ctx context.Context, req *biglakepb.FailoverIcebergCatalogRequest, opts ...gax.CallOption) (*biglakepb.FailoverIcebergCatalogResponse, error)FailoverIcebergCatalog failover the catalog to a new primary replica region.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.FailoverIcebergCatalogRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#FailoverIcebergCatalogRequest.
}
resp, err := c.FailoverIcebergCatalog(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) GetIcebergCatalog
func (c *IcebergCatalogClient) GetIcebergCatalog(ctx context.Context, req *biglakepb.GetIcebergCatalogRequest, opts ...gax.CallOption) (*biglakepb.IcebergCatalog, error)GetIcebergCatalog returns the Iceberg REST Catalog configuration options.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergCatalogRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergCatalogRequest.
}
resp, err := c.GetIcebergCatalog(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) GetIcebergCatalogConfig
func (c *IcebergCatalogClient) GetIcebergCatalogConfig(ctx context.Context, req *biglakepb.GetIcebergCatalogConfigRequest, opts ...gax.CallOption) (*biglakepb.IcebergCatalogConfig, error)GetIcebergCatalogConfig getIcebergCatalogConfig lists all catalog configuration settings. Most importantly it contains the optional endpoints field which lists what methods this catalog supports, since we are not supporting all the methods right now. It returns all the methods defined in this service (subject to project config allowlisting).
This is not a GCP resource.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergCatalogConfigRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergCatalogConfigRequest.
}
resp, err := c.GetIcebergCatalogConfig(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) GetIcebergNamespace
func (c *IcebergCatalogClient) GetIcebergNamespace(ctx context.Context, req *biglakepb.GetIcebergNamespaceRequest, opts ...gax.CallOption) (*biglakepb.IcebergNamespace, error)GetIcebergNamespace gets an Iceberg namespace in the catalog (or checks if it exists, if the method is HEAD).
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergNamespaceRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergNamespaceRequest.
}
resp, err := c.GetIcebergNamespace(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) GetIcebergTable
func (c *IcebergCatalogClient) GetIcebergTable(ctx context.Context, req *biglakepb.GetIcebergTableRequest, opts ...gax.CallOption) (*httpbodypb.HttpBody, error)GetIcebergTable gets a table in the namespace.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergTableRequest.
}
resp, err := c.GetIcebergTable(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) ListIcebergCatalogs
func (c *IcebergCatalogClient) ListIcebergCatalogs(ctx context.Context, req *biglakepb.ListIcebergCatalogsRequest, opts ...gax.CallOption) *IcebergCatalogIteratorListIcebergCatalogs lists the Iceberg REST Catalogs.
Examples
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
"google.golang.org/api/iterator"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergCatalogsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergCatalogsRequest.
}
it := c.ListIcebergCatalogs(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
// If you need to access the underlying RPC response,
// you can do so by casting the `Response` as below.
// Otherwise, remove this line. Only populated after
// first call to Next(). Not safe for concurrent access.
_ = it.Response.(*biglakepb.ListIcebergCatalogsResponse)
}
}
all
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergCatalogsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergCatalogsRequest.
}
for resp, err := range c.ListIcebergCatalogs(ctx, req).All() {
if err != nil {
// TODO: Handle error and break/return/continue. Iteration will stop after any error.
}
// TODO: Use resp.
_ = resp
}
}
func (*IcebergCatalogClient) ListIcebergNamespaces
func (c *IcebergCatalogClient) ListIcebergNamespaces(ctx context.Context, req *biglakepb.ListIcebergNamespacesRequest, opts ...gax.CallOption) *ListValueIteratorListIcebergNamespaces lists Iceberg namespaces in the catalog. We only support one level of nesting for namespaces.
Examples
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
"google.golang.org/api/iterator"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergNamespacesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergNamespacesRequest.
}
it := c.ListIcebergNamespaces(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
// If you need to access the underlying RPC response,
// you can do so by casting the `Response` as below.
// Otherwise, remove this line. Only populated after
// first call to Next(). Not safe for concurrent access.
_ = it.Response.(*biglakepb.ListIcebergNamespacesResponse)
}
}
all
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergNamespacesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergNamespacesRequest.
}
for resp, err := range c.ListIcebergNamespaces(ctx, req).All() {
if err != nil {
// TODO: Handle error and break/return/continue. Iteration will stop after any error.
}
// TODO: Use resp.
_ = resp
}
}
func (*IcebergCatalogClient) ListIcebergTableIdentifiers
func (c *IcebergCatalogClient) ListIcebergTableIdentifiers(ctx context.Context, req *biglakepb.ListIcebergTableIdentifiersRequest, opts ...gax.CallOption) *TableIdentifierIteratorListIcebergTableIdentifiers lists table identifiers (not tables) in the namespace.
Examples
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
"google.golang.org/api/iterator"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergTableIdentifiersRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergTableIdentifiersRequest.
}
it := c.ListIcebergTableIdentifiers(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
// If you need to access the underlying RPC response,
// you can do so by casting the `Response` as below.
// Otherwise, remove this line. Only populated after
// first call to Next(). Not safe for concurrent access.
_ = it.Response.(*biglakepb.ListIcebergTableIdentifiersResponse)
}
}
all
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.ListIcebergTableIdentifiersRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#ListIcebergTableIdentifiersRequest.
}
for resp, err := range c.ListIcebergTableIdentifiers(ctx, req).All() {
if err != nil {
// TODO: Handle error and break/return/continue. Iteration will stop after any error.
}
// TODO: Use resp.
_ = resp
}
}
func (*IcebergCatalogClient) LoadIcebergTableCredentials
func (c *IcebergCatalogClient) LoadIcebergTableCredentials(ctx context.Context, req *biglakepb.GetIcebergTableRequest, opts ...gax.CallOption) (*biglakepb.LoadIcebergTableCredentialsResponse, error)LoadIcebergTableCredentials loads credentials for a table in the namespace.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.GetIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#GetIcebergTableRequest.
}
resp, err := c.LoadIcebergTableCredentials(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) RegisterIcebergTable
func (c *IcebergCatalogClient) RegisterIcebergTable(ctx context.Context, req *biglakepb.RegisterIcebergTableRequest, opts ...gax.CallOption) (*httpbodypb.HttpBody, error)RegisterIcebergTable register a table using given metadata file location.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.RegisterIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#RegisterIcebergTableRequest.
}
resp, err := c.RegisterIcebergTable(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) UpdateIcebergCatalog
func (c *IcebergCatalogClient) UpdateIcebergCatalog(ctx context.Context, req *biglakepb.UpdateIcebergCatalogRequest, opts ...gax.CallOption) (*biglakepb.IcebergCatalog, error)UpdateIcebergCatalog update the Iceberg REST Catalog configuration options.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.UpdateIcebergCatalogRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#UpdateIcebergCatalogRequest.
}
resp, err := c.UpdateIcebergCatalog(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) UpdateIcebergNamespace
func (c *IcebergCatalogClient) UpdateIcebergNamespace(ctx context.Context, req *biglakepb.UpdateIcebergNamespaceRequest, opts ...gax.CallOption) (*biglakepb.UpdateIcebergNamespaceResponse, error)UpdateIcebergNamespace updates namespace properties.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.UpdateIcebergNamespaceRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#UpdateIcebergNamespaceRequest.
}
resp, err := c.UpdateIcebergNamespace(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*IcebergCatalogClient) UpdateIcebergTable
func (c *IcebergCatalogClient) UpdateIcebergTable(ctx context.Context, req *biglakepb.UpdateIcebergTableRequest, opts ...gax.CallOption) (*httpbodypb.HttpBody, error)UpdateIcebergTable this is CommitTable Iceberg API, which maps to UpdateIcebergTable in the Google API nomenclature.
Example
package main
import (
"context"
biglake "cloud.google.com/go/biglake/apiv1"
biglakepb "cloud.google.com/go/biglake/apiv1/biglakepb"
)
func main() {
ctx := context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := biglake.NewIcebergCatalogClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &biglakepb.UpdateIcebergTableRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/biglake/apiv1/biglakepb#UpdateIcebergTableRequest.
}
resp, err := c.UpdateIcebergTable(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
IcebergCatalogIterator
type IcebergCatalogIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*biglakepb.IcebergCatalog, nextPageToken string, err error)
// contains filtered or unexported fields
}IcebergCatalogIterator manages a stream of *biglakepb.IcebergCatalog.
func (*IcebergCatalogIterator) All
func (it *IcebergCatalogIterator) All() iter.Seq2[*biglakepb.IcebergCatalog, error]All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.
func (*IcebergCatalogIterator) Next
func (it *IcebergCatalogIterator) Next() (*biglakepb.IcebergCatalog, error)Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*IcebergCatalogIterator) PageInfo
func (it *IcebergCatalogIterator) PageInfo() *iterator.PageInfoPageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
ListValueIterator
type ListValueIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*structpb.ListValue, nextPageToken string, err error)
// contains filtered or unexported fields
}ListValueIterator manages a stream of *structpb.ListValue.
func (*ListValueIterator) All
func (it *ListValueIterator) All() iter.Seq2[*structpb.ListValue, error]All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.
func (*ListValueIterator) Next
func (it *ListValueIterator) Next() (*structpb.ListValue, error)Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*ListValueIterator) PageInfo
func (it *ListValueIterator) PageInfo() *iterator.PageInfoPageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
TableIdentifierIterator
type TableIdentifierIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*biglakepb.TableIdentifier, nextPageToken string, err error)
// contains filtered or unexported fields
}TableIdentifierIterator manages a stream of *biglakepb.TableIdentifier.
func (*TableIdentifierIterator) All
func (it *TableIdentifierIterator) All() iter.Seq2[*biglakepb.TableIdentifier, error]All returns an iterator. If an error is returned by the iterator, the iterator will stop after that iteration.
func (*TableIdentifierIterator) Next
func (it *TableIdentifierIterator) Next() (*biglakepb.TableIdentifier, error)Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*TableIdentifierIterator) PageInfo
func (it *TableIdentifierIterator) PageInfo() *iterator.PageInfoPageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.