REST Resource: deltasharing.v1.projects.catalogs

Resource: DeltaSharingCatalog

Represents a DeltaSharing catalog.

JSON representation
{
  "name": string,
  "location": string,
  "createTime": string,
  "updateTime": string,
  "serviceAccount": string,
  "refreshOptions": {
    object (RefreshOptions)
  },
  "refreshStatus": {
    object (RefreshStatus)
  },
  "federatedCatalogOptions": {
    object (FederatedCatalogOptions)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "sapConfig": {
    object (SapConfig)
  }
  // End of mutually exclusive fields.
  "encryptionConfig": {
    object (EncryptionConfig)
  }
}
Fields
name

string

Identifier. The resource name. Format: projects/{project}/catalogs/{catalog}

location

string

Required. Immutable. The user-provided GCP location of the catalog. This field is immutable.

createTime

string (Timestamp format)

Output only. The creation time of the catalog.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The last modification time of the catalog.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

serviceAccount

string

Output only. The service account used for SAP enrollment and is created as a side effect of creating the Delta Sharing catalog resource.

refreshOptions

object (RefreshOptions)

Optional. Configures options for refreshing a Delta Sharing catalog.

refreshStatus

object (RefreshStatus)

Output only. The status of the background catalog refresh.

federatedCatalogOptions

object (FederatedCatalogOptions)

Optional. Configuration options for federated catalogs.

Config for the Catalog. Exactly one field must be set, which determines the type of Catalog. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
sapConfig

object (SapConfig)

Optional. Config for a catalog that connects to SAP Business Data Cloud (BDC).

End of mutually exclusive fields.
encryptionConfig

object (EncryptionConfig)

Optional. Custom encryption configuration (e.g., Cloud KMS keys).

SapConfig

Configuration for SAP Business Data Cloud (BDC).

JSON representation
{
  "sapBdcEnrollmentConfig": {
    object (SapBdcEnrollmentConfig)
  },
  "sapRegion": string
}
Fields
sapBdcEnrollmentConfig

object (SapBdcEnrollmentConfig)

Optional. To create a catalog resource that connects to SAP BDC, follow this 3 step process: 1. Set SapConfig to empty. This creates a catalog resource with a GCP Service Account: serviceAccount. 2. On your SAP BDC instance, using this serviceAccount, follow the enrollment process and create a BDC Connector. You will receive connectorEndpoint and invitationCode from SAP. 3. With these additional fields provided by SAP, update the BigLake catalog resource created earlier with the SapBdcEnrollmentConfig. Once the SapBdcEnrollmentConfig is set, it is immutable.

sapRegion

string

Optional. Immutable. The GCP region to use for SAP BDC APIs. When the catalog's metadata is stored in a multi-region (e.g., 'us') but the physical SAP BDC instance resides in a single region (e.g., 'us-central1'), this field must be explicitly set to point to that single region. If not set, the location provided during catalog creation will be used by default.

SapBdcEnrollmentConfig

Contains the enrollment configuration received from SAP.

JSON representation
{
  "connectorEndpoint": string,
  "invitationCode": string,
  "invitationUrl": string,
  "federatedIdentityIssuer": string
}
Fields
connectorEndpoint

string

Optional. The unique SAP BDC Connector Endpoint.

invitationCode

string

Optional. An invitation code from SAP.

invitationUrl

string

Optional. The combined invitation URL containing both endpoint and code.

federatedIdentityIssuer

string

Output only. Lakehouse supports sharing Data Products with SAP BDC. When sharing is enabled, SAP BDC will access the underlying resources through a federated identity. This field indicates the issuer of the federated identity.

More concretely, the identity pool and provider should be created as follows:

$ gcloud iam workload-identity-pools create sap-bdc-pool \ --location="global" \ --display-name="SAP BDC Pool"

$ gcloud iam workload-identity-pools providers create-oidc sap-bdc-provider \ --location="global" \ --workload-identity-pool="sap-bdc-pool" \ --issuer-uri=""

And then, the pool should can be added to the IAM policy of the shared resources so that SAP BDC can access them:

$ gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/biglake.viewer" \ --member="principal://iam.googleapis.com/projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/sap-bdc-pool/subject/{TENANT_UUID}"

... where the TENANT_UUID can be found in the SAP BDC instance.

RefreshOptions

Configures options for refreshing a Delta Sharing catalog.

JSON representation
{
  "refreshSchedule": {
    object (RefreshSchedule)
  }
}
Fields
refreshSchedule

object (RefreshSchedule)

Optional. Defines if and when metadata refresh should be scheduled.

RefreshSchedule

Defines if and when metadata refresh should be scheduled.

JSON representation
{
  "refreshInterval": string
}
Fields
refreshInterval

string (Duration format)

Optional. The interval for refreshing metadata from the remote catalog. If not set, but refresh is desired, a system default will be used.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

RefreshStatus

Remote catalog background refresh status.

JSON representation
{
  "startTime": string,
  "endTime": string,
  "status": {
    object (Status)
  }
}
Fields
startTime

string (Timestamp format)

Output only. When the catalog refresh has started, including in-progress refreshes.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Output only. When the catalog refresh has ended, unset for in-progress refreshes.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

status

object (Status)

Output only. The status of the last background refresh operation, unset for in-progress refreshes.

FederatedCatalogOptions

Configuration options for federated catalog.

JSON representation
{
  "serviceDirectoryName": string,
  "crossCloudCacheOptions": {
    object (CrossCloudCacheOptions)
  }
}
Fields
serviceDirectoryName

string

Optional. The service directory resource name for routing traffic over a private network connection through Cross-Cloud Interconnect, in the format projects/{projectId}/locations/{locationId}/namespaces/{namespace_id}/services/{serviceId}.

crossCloudCacheOptions

object (CrossCloudCacheOptions)

Optional. Configuration options for cross-cloud caching of data and metadata files.

CrossCloudCacheOptions

Configuration options for cross-cloud caching of data and metadata files.

JSON representation
{
  "enabled": boolean
}
Fields
enabled

boolean

Optional. Specifies whether cross-cloud caching of data and metadata files is enabled. This only affects queries through BigQuery.

If this value is true, read data and metadata are stored in a cache, which can increase performance and decrease network egress costs for cross-cloud queries.

If this value is false, cross-cloud caching is disabled.

EncryptionConfig

Custom encryption configuration (e.g., Cloud KMS keys).

JSON representation
{
  "kmsKeyName": string
}
Fields
kmsKeyName

string

Optional. Cloud KMS key name used to encrypt cached data fetched from the catalog. Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}

Methods

create

Creates a new DeltaSharing catalog.

delete

Deletes an existing DeltaSharing catalog specified by the resource name.

get

Gets the catalog specified by the resource name.

list

List all DeltaSharing catalogs in a specified project.

patch

Updates an existing DeltaSharing catalog.