Update catalog maintenance configuration
client.R2DataCatalog.MaintenanceConfigs.Update(ctx, bucketName, params) (*MaintenanceConfigUpdateResponse, error)
POST/accounts/{account_id}/r2-catalog/{bucket_name}/maintenance-configs
Update the maintenance configuration for a catalog. This allows you to enable or disable compaction and adjust target file sizes for optimization.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Update catalog maintenance configuration
package main
import (
"context"
"fmt"
"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/option"
"github.com/cloudflare/cloudflare-go/r2_data_catalog"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
maintenanceConfig, err := client.R2DataCatalog.MaintenanceConfigs.Update(
context.TODO(),
"my-data-bucket",
r2_data_catalog.MaintenanceConfigUpdateParams{
AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"),
Compaction: cloudflare.F(r2_data_catalog.MaintenanceConfigUpdateParamsCompaction{
State: cloudflare.F(r2_data_catalog.MaintenanceConfigUpdateParamsCompactionStateEnabled),
TargetSizeMB: cloudflare.F(r2_data_catalog.MaintenanceConfigUpdateParamsCompactionTargetSizeMB256),
}),
SnapshotExpiration: cloudflare.F(r2_data_catalog.MaintenanceConfigUpdateParamsSnapshotExpiration{
MaxSnapshotAge: cloudflare.F("14d"),
MinSnapshotsToKeep: cloudflare.F(int64(5)),
State: cloudflare.F(r2_data_catalog.MaintenanceConfigUpdateParamsSnapshotExpirationStateEnabled),
}),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", maintenanceConfig.Compaction)
}
{
"errors": [],
"messages": [],
"result": {
"compaction": {
"state": "enabled",
"target_size_mb": "256"
},
"snapshot_expiration": {
"max_snapshot_age": "14d",
"min_snapshots_to_keep": 5,
"state": "enabled"
}
},
"success": true
}Returns Examples
{
"errors": [],
"messages": [],
"result": {
"compaction": {
"state": "enabled",
"target_size_mb": "256"
},
"snapshot_expiration": {
"max_snapshot_age": "14d",
"min_snapshots_to_keep": 5,
"state": "enabled"
}
},
"success": true
}