Skip to content
Start here

Get table maintenance configuration

client.R2DataCatalog.Namespaces.Tables.MaintenanceConfigs.Get(ctx, bucketName, namespace, tableName, query) (*NamespaceTableMaintenanceConfigGetResponse, error)
GET/accounts/{account_id}/r2-catalog/{bucket_name}/namespaces/{namespace}/tables/{table_name}/maintenance-configs

Retrieve the maintenance configuration for a specific table, including compaction settings.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers R2 Data Catalog WriteWorkers R2 Data Catalog Read
ParametersExpand Collapse
bucketName string

Specifies the R2 bucket name.

maxLength63
minLength3
namespace string
tableName string
query NamespaceTableMaintenanceConfigGetParams
AccountID param.Field[string]

Use this to identify the account.

ReturnsExpand Collapse
type NamespaceTableMaintenanceConfigGetResponse struct{…}

Contains table maintenance configuration.

MaintenanceConfig NamespaceTableMaintenanceConfigGetResponseMaintenanceConfig

Configures maintenance for the table.

Compaction NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionOptional

Configures compaction settings for table optimization.

State NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionState

Specifies the state of maintenance operations.

One of the following:
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionStateEnabled NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionState = "enabled"
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionStateDisabled NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionState = "disabled"
TargetSizeMB NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB

Sets the target file size for compaction in megabytes. Defaults to “128”.

One of the following:
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB64 NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "64"
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB128 NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "128"
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB256 NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "256"
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB512 NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigCompactionTargetSizeMB = "512"
SnapshotExpiration NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationOptional

Configures snapshot expiration settings.

MaxSnapshotAge string

Specifies the maximum age for snapshots. The system deletes snapshots older than this age. Format: where unit is d (days), h (hours), m (minutes), or s (seconds). Examples: “7d” (7 days), “48h” (48 hours), “2880m” (2,880 minutes). Defaults to “7d”.

MinSnapshotsToKeep int64

Specifies the minimum number of snapshots to retain. Defaults to 100.

formatint64
minimum1
State NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState

Specifies the state of maintenance operations.

One of the following:
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationStateEnabled NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState = "enabled"
const NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationStateDisabled NamespaceTableMaintenanceConfigGetResponseMaintenanceConfigSnapshotExpirationState = "disabled"

Get table maintenance configuration

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/cloudflare-go"
  "github.com/stainless-sdks/cloudflare-go/option"
  "github.com/stainless-sdks/cloudflare-go/r2_data_catalog"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  maintenanceConfig, err := client.R2DataCatalog.Namespaces.Tables.MaintenanceConfigs.Get(
    context.TODO(),
    "my-data-bucket",
    "my_namespace%1Fsub_namespace",
    "my_table",
    r2_data_catalog.NamespaceTableMaintenanceConfigGetParams{
      AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", maintenanceConfig.MaintenanceConfig)
}
{
  "errors": [],
  "messages": [],
  "result": {
    "maintenance_config": {
      "compaction": {
        "state": "enabled",
        "target_size_mb": "128"
      },
      "snapshot_expiration": {
        "max_snapshot_age": "7d",
        "min_snapshots_to_keep": 100,
        "state": "enabled"
      }
    }
  },
  "success": true
}
Returns Examples
{
  "errors": [],
  "messages": [],
  "result": {
    "maintenance_config": {
      "compaction": {
        "state": "enabled",
        "target_size_mb": "128"
      },
      "snapshot_expiration": {
        "max_snapshot_age": "7d",
        "min_snapshots_to_keep": 100,
        "state": "enabled"
      }
    }
  },
  "success": true
}