Enable R2 bucket as a catalog
client.R2DataCatalog.Enable(ctx, bucketName, body) (*R2DataCatalogEnableResponse, error)
POST/accounts/{account_id}/r2-catalog/{bucket_name}/enable
Enable an R2 bucket as an Apache Iceberg catalog. This operation creates the necessary catalog infrastructure and activates the bucket for storing Iceberg metadata and data files.
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)
Enable R2 bucket as a catalog
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"),
)
response, err := client.R2DataCatalog.Enable(
context.TODO(),
"my-data-bucket",
r2_data_catalog.R2DataCatalogEnableParams{
AccountID: cloudflare.F("0123456789abcdef0123456789abcdef"),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.ID)
}
{
"errors": [],
"messages": [],
"result": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "account123_my-bucket"
},
"success": true
}Returns Examples
{
"errors": [],
"messages": [],
"result": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "account123_my-bucket"
},
"success": true
}