## Create Sink `client.Pipelines.Sinks.New(ctx, params) (*SinkNewResponse, error)` **post** `/accounts/{account_id}/pipelines/v1/sinks` Create a new Sink. ### Parameters - `params SinkNewParams` - `AccountID param.Field[string]` Path param: Specifies the public ID of the account. - `Name param.Field[string]` Body param: Defines the name of the Sink. - `Type param.Field[SinkNewParamsType]` Body param: Specifies the type of sink. - `const SinkNewParamsTypeR2 SinkNewParamsType = "r2"` - `const SinkNewParamsTypeR2DataCatalog SinkNewParamsType = "r2_data_catalog"` - `Config param.Field[SinkNewParamsConfig]` Body param: Defines the configuration of the R2 Sink. - `type SinkNewParamsConfigCloudflarePipelinesR2Table struct{…}` - `AccountID string` Cloudflare Account ID for the bucket - `Bucket string` R2 Bucket to write to - `Credentials SinkNewParamsConfigCloudflarePipelinesR2TableCredentials` - `AccessKeyID string` Cloudflare Account ID for the bucket - `SecretAccessKey string` Cloudflare Account ID for the bucket - `FileNaming SinkNewParamsConfigCloudflarePipelinesR2TableFileNaming` Controls filename prefix/suffix and strategy. - `Prefix string` The prefix to use in file name. i.e prefix-.parquet - `Strategy SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategy` Filename generation strategy. - `const SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategySerial SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategy = "serial"` - `const SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategyUUID SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategy = "uuid"` - `const SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategyUUIDV7 SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategy = "uuid_v7"` - `const SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategyUlid SinkNewParamsConfigCloudflarePipelinesR2TableFileNamingStrategy = "ulid"` - `Suffix string` This will overwrite the default file suffix. i.e .parquet, use with caution - `Jurisdiction string` Jurisdiction this bucket is hosted in - `Partitioning SinkNewParamsConfigCloudflarePipelinesR2TablePartitioning` Data-layout partitioning for sinks. - `TimePattern string` The pattern of the date string - `Path string` Subpath within the bucket to write to - `RollingPolicy SinkNewParamsConfigCloudflarePipelinesR2TableRollingPolicy` Rolling policy for file sinks (when & why to close a file and open a new one). - `FileSizeBytes int64` Files will be rolled after reaching this number of bytes - `InactivitySeconds int64` Number of seconds of inactivity to wait before rolling over to a new file - `IntervalSeconds int64` Number of seconds to wait before rolling over to a new file - `type SinkNewParamsConfigCloudflarePipelinesR2DataCatalogTable struct{…}` R2 Data Catalog Sink - `Token string` Authentication token - `AccountID string` Cloudflare Account ID - `Bucket string` The R2 Bucket that hosts this catalog - `TableName string` Table name - `Namespace string` Table namespace - `RollingPolicy SinkNewParamsConfigCloudflarePipelinesR2DataCatalogTableRollingPolicy` Rolling policy for file sinks (when & why to close a file and open a new one). - `FileSizeBytes int64` Files will be rolled after reaching this number of bytes - `InactivitySeconds int64` Number of seconds of inactivity to wait before rolling over to a new file - `IntervalSeconds int64` Number of seconds to wait before rolling over to a new file - `Format param.Field[SinkNewParamsFormat]` Body param - `type SinkNewParamsFormatJson struct{…}` - `Type SinkNewParamsFormatJsonType` - `const SinkNewParamsFormatJsonTypeJson SinkNewParamsFormatJsonType = "json"` - `DecimalEncoding SinkNewParamsFormatJsonDecimalEncoding` - `const SinkNewParamsFormatJsonDecimalEncodingNumber SinkNewParamsFormatJsonDecimalEncoding = "number"` - `const SinkNewParamsFormatJsonDecimalEncodingString SinkNewParamsFormatJsonDecimalEncoding = "string"` - `const SinkNewParamsFormatJsonDecimalEncodingBytes SinkNewParamsFormatJsonDecimalEncoding = "bytes"` - `TimestampFormat SinkNewParamsFormatJsonTimestampFormat` - `const SinkNewParamsFormatJsonTimestampFormatRfc3339 SinkNewParamsFormatJsonTimestampFormat = "rfc3339"` - `const SinkNewParamsFormatJsonTimestampFormatUnixMillis SinkNewParamsFormatJsonTimestampFormat = "unix_millis"` - `Unstructured bool` - `type SinkNewParamsFormatParquet struct{…}` - `Type SinkNewParamsFormatParquetType` - `const SinkNewParamsFormatParquetTypeParquet SinkNewParamsFormatParquetType = "parquet"` - `Compression SinkNewParamsFormatParquetCompression` - `const SinkNewParamsFormatParquetCompressionUncompressed SinkNewParamsFormatParquetCompression = "uncompressed"` - `const SinkNewParamsFormatParquetCompressionSnappy SinkNewParamsFormatParquetCompression = "snappy"` - `const SinkNewParamsFormatParquetCompressionGzip SinkNewParamsFormatParquetCompression = "gzip"` - `const SinkNewParamsFormatParquetCompressionZstd SinkNewParamsFormatParquetCompression = "zstd"` - `const SinkNewParamsFormatParquetCompressionLz4 SinkNewParamsFormatParquetCompression = "lz4"` - `RowGroupBytes int64` - `Schema param.Field[SinkNewParamsSchema]` Body param - `Fields []SinkNewParamsSchemaField` - `type SinkNewParamsSchemaFieldsInt32 struct{…}` - `Type SinkNewParamsSchemaFieldsInt32Type` - `const SinkNewParamsSchemaFieldsInt32TypeInt32 SinkNewParamsSchemaFieldsInt32Type = "int32"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsInt64 struct{…}` - `Type SinkNewParamsSchemaFieldsInt64Type` - `const SinkNewParamsSchemaFieldsInt64TypeInt64 SinkNewParamsSchemaFieldsInt64Type = "int64"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsFloat32 struct{…}` - `Type SinkNewParamsSchemaFieldsFloat32Type` - `const SinkNewParamsSchemaFieldsFloat32TypeFloat32 SinkNewParamsSchemaFieldsFloat32Type = "float32"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsFloat64 struct{…}` - `Type SinkNewParamsSchemaFieldsFloat64Type` - `const SinkNewParamsSchemaFieldsFloat64TypeFloat64 SinkNewParamsSchemaFieldsFloat64Type = "float64"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsBool struct{…}` - `Type SinkNewParamsSchemaFieldsBoolType` - `const SinkNewParamsSchemaFieldsBoolTypeBool SinkNewParamsSchemaFieldsBoolType = "bool"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsString struct{…}` - `Type SinkNewParamsSchemaFieldsStringType` - `const SinkNewParamsSchemaFieldsStringTypeString SinkNewParamsSchemaFieldsStringType = "string"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsBinary struct{…}` - `Type SinkNewParamsSchemaFieldsBinaryType` - `const SinkNewParamsSchemaFieldsBinaryTypeBinary SinkNewParamsSchemaFieldsBinaryType = "binary"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsTimestamp struct{…}` - `Type SinkNewParamsSchemaFieldsTimestampType` - `const SinkNewParamsSchemaFieldsTimestampTypeTimestamp SinkNewParamsSchemaFieldsTimestampType = "timestamp"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `Unit SinkNewParamsSchemaFieldsTimestampUnit` - `const SinkNewParamsSchemaFieldsTimestampUnitSecond SinkNewParamsSchemaFieldsTimestampUnit = "second"` - `const SinkNewParamsSchemaFieldsTimestampUnitMillisecond SinkNewParamsSchemaFieldsTimestampUnit = "millisecond"` - `const SinkNewParamsSchemaFieldsTimestampUnitMicrosecond SinkNewParamsSchemaFieldsTimestampUnit = "microsecond"` - `const SinkNewParamsSchemaFieldsTimestampUnitNanosecond SinkNewParamsSchemaFieldsTimestampUnit = "nanosecond"` - `type SinkNewParamsSchemaFieldsJson struct{…}` - `Type SinkNewParamsSchemaFieldsJsonType` - `const SinkNewParamsSchemaFieldsJsonTypeJson SinkNewParamsSchemaFieldsJsonType = "json"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewParamsSchemaFieldsStruct struct{…}` - `type SinkNewParamsSchemaFieldsList struct{…}` - `Format SinkNewParamsSchemaFormat` - `type SinkNewParamsSchemaFormatJson struct{…}` - `Type SinkNewParamsSchemaFormatJsonType` - `const SinkNewParamsSchemaFormatJsonTypeJson SinkNewParamsSchemaFormatJsonType = "json"` - `DecimalEncoding SinkNewParamsSchemaFormatJsonDecimalEncoding` - `const SinkNewParamsSchemaFormatJsonDecimalEncodingNumber SinkNewParamsSchemaFormatJsonDecimalEncoding = "number"` - `const SinkNewParamsSchemaFormatJsonDecimalEncodingString SinkNewParamsSchemaFormatJsonDecimalEncoding = "string"` - `const SinkNewParamsSchemaFormatJsonDecimalEncodingBytes SinkNewParamsSchemaFormatJsonDecimalEncoding = "bytes"` - `TimestampFormat SinkNewParamsSchemaFormatJsonTimestampFormat` - `const SinkNewParamsSchemaFormatJsonTimestampFormatRfc3339 SinkNewParamsSchemaFormatJsonTimestampFormat = "rfc3339"` - `const SinkNewParamsSchemaFormatJsonTimestampFormatUnixMillis SinkNewParamsSchemaFormatJsonTimestampFormat = "unix_millis"` - `Unstructured bool` - `type SinkNewParamsSchemaFormatParquet struct{…}` - `Type SinkNewParamsSchemaFormatParquetType` - `const SinkNewParamsSchemaFormatParquetTypeParquet SinkNewParamsSchemaFormatParquetType = "parquet"` - `Compression SinkNewParamsSchemaFormatParquetCompression` - `const SinkNewParamsSchemaFormatParquetCompressionUncompressed SinkNewParamsSchemaFormatParquetCompression = "uncompressed"` - `const SinkNewParamsSchemaFormatParquetCompressionSnappy SinkNewParamsSchemaFormatParquetCompression = "snappy"` - `const SinkNewParamsSchemaFormatParquetCompressionGzip SinkNewParamsSchemaFormatParquetCompression = "gzip"` - `const SinkNewParamsSchemaFormatParquetCompressionZstd SinkNewParamsSchemaFormatParquetCompression = "zstd"` - `const SinkNewParamsSchemaFormatParquetCompressionLz4 SinkNewParamsSchemaFormatParquetCompression = "lz4"` - `RowGroupBytes int64` - `Inferred bool` ### Returns - `type SinkNewResponse struct{…}` - `ID string` Indicates a unique identifier for this sink. - `CreatedAt Time` - `ModifiedAt Time` - `Name string` Defines the name of the Sink. - `Type SinkNewResponseType` Specifies the type of sink. - `const SinkNewResponseTypeR2 SinkNewResponseType = "r2"` - `const SinkNewResponseTypeR2DataCatalog SinkNewResponseType = "r2_data_catalog"` - `Config SinkNewResponseConfig` R2 Data Catalog Sink - `type SinkNewResponseConfigCloudflarePipelinesR2Table struct{…}` - `AccountID string` Cloudflare Account ID for the bucket - `Bucket string` R2 Bucket to write to - `Credentials SinkNewResponseConfigCloudflarePipelinesR2TableCredentials` - `AccessKeyID string` Cloudflare Account ID for the bucket - `SecretAccessKey string` Cloudflare Account ID for the bucket - `FileNaming SinkNewResponseConfigCloudflarePipelinesR2TableFileNaming` Controls filename prefix/suffix and strategy. - `Prefix string` The prefix to use in file name. i.e prefix-.parquet - `Strategy SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategy` Filename generation strategy. - `const SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategySerial SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategy = "serial"` - `const SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategyUUID SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategy = "uuid"` - `const SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategyUUIDV7 SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategy = "uuid_v7"` - `const SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategyUlid SinkNewResponseConfigCloudflarePipelinesR2TableFileNamingStrategy = "ulid"` - `Suffix string` This will overwrite the default file suffix. i.e .parquet, use with caution - `Jurisdiction string` Jurisdiction this bucket is hosted in - `Partitioning SinkNewResponseConfigCloudflarePipelinesR2TablePartitioning` Data-layout partitioning for sinks. - `TimePattern string` The pattern of the date string - `Path string` Subpath within the bucket to write to - `RollingPolicy SinkNewResponseConfigCloudflarePipelinesR2TableRollingPolicy` Rolling policy for file sinks (when & why to close a file and open a new one). - `FileSizeBytes int64` Files will be rolled after reaching this number of bytes - `InactivitySeconds int64` Number of seconds of inactivity to wait before rolling over to a new file - `IntervalSeconds int64` Number of seconds to wait before rolling over to a new file - `type SinkNewResponseConfigCloudflarePipelinesR2DataCatalogTable struct{…}` R2 Data Catalog Sink - `Token string` Authentication token - `AccountID string` Cloudflare Account ID - `Bucket string` The R2 Bucket that hosts this catalog - `TableName string` Table name - `Namespace string` Table namespace - `RollingPolicy SinkNewResponseConfigCloudflarePipelinesR2DataCatalogTableRollingPolicy` Rolling policy for file sinks (when & why to close a file and open a new one). - `FileSizeBytes int64` Files will be rolled after reaching this number of bytes - `InactivitySeconds int64` Number of seconds of inactivity to wait before rolling over to a new file - `IntervalSeconds int64` Number of seconds to wait before rolling over to a new file - `Format SinkNewResponseFormat` - `type SinkNewResponseFormatJson struct{…}` - `Type SinkNewResponseFormatJsonType` - `const SinkNewResponseFormatJsonTypeJson SinkNewResponseFormatJsonType = "json"` - `DecimalEncoding SinkNewResponseFormatJsonDecimalEncoding` - `const SinkNewResponseFormatJsonDecimalEncodingNumber SinkNewResponseFormatJsonDecimalEncoding = "number"` - `const SinkNewResponseFormatJsonDecimalEncodingString SinkNewResponseFormatJsonDecimalEncoding = "string"` - `const SinkNewResponseFormatJsonDecimalEncodingBytes SinkNewResponseFormatJsonDecimalEncoding = "bytes"` - `TimestampFormat SinkNewResponseFormatJsonTimestampFormat` - `const SinkNewResponseFormatJsonTimestampFormatRfc3339 SinkNewResponseFormatJsonTimestampFormat = "rfc3339"` - `const SinkNewResponseFormatJsonTimestampFormatUnixMillis SinkNewResponseFormatJsonTimestampFormat = "unix_millis"` - `Unstructured bool` - `type SinkNewResponseFormatParquet struct{…}` - `Type SinkNewResponseFormatParquetType` - `const SinkNewResponseFormatParquetTypeParquet SinkNewResponseFormatParquetType = "parquet"` - `Compression SinkNewResponseFormatParquetCompression` - `const SinkNewResponseFormatParquetCompressionUncompressed SinkNewResponseFormatParquetCompression = "uncompressed"` - `const SinkNewResponseFormatParquetCompressionSnappy SinkNewResponseFormatParquetCompression = "snappy"` - `const SinkNewResponseFormatParquetCompressionGzip SinkNewResponseFormatParquetCompression = "gzip"` - `const SinkNewResponseFormatParquetCompressionZstd SinkNewResponseFormatParquetCompression = "zstd"` - `const SinkNewResponseFormatParquetCompressionLz4 SinkNewResponseFormatParquetCompression = "lz4"` - `RowGroupBytes int64` - `Schema SinkNewResponseSchema` - `Fields []SinkNewResponseSchemaField` - `type SinkNewResponseSchemaFieldsInt32 struct{…}` - `Type SinkNewResponseSchemaFieldsInt32Type` - `const SinkNewResponseSchemaFieldsInt32TypeInt32 SinkNewResponseSchemaFieldsInt32Type = "int32"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsInt64 struct{…}` - `Type SinkNewResponseSchemaFieldsInt64Type` - `const SinkNewResponseSchemaFieldsInt64TypeInt64 SinkNewResponseSchemaFieldsInt64Type = "int64"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsFloat32 struct{…}` - `Type SinkNewResponseSchemaFieldsFloat32Type` - `const SinkNewResponseSchemaFieldsFloat32TypeFloat32 SinkNewResponseSchemaFieldsFloat32Type = "float32"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsFloat64 struct{…}` - `Type SinkNewResponseSchemaFieldsFloat64Type` - `const SinkNewResponseSchemaFieldsFloat64TypeFloat64 SinkNewResponseSchemaFieldsFloat64Type = "float64"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsBool struct{…}` - `Type SinkNewResponseSchemaFieldsBoolType` - `const SinkNewResponseSchemaFieldsBoolTypeBool SinkNewResponseSchemaFieldsBoolType = "bool"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsString struct{…}` - `Type SinkNewResponseSchemaFieldsStringType` - `const SinkNewResponseSchemaFieldsStringTypeString SinkNewResponseSchemaFieldsStringType = "string"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsBinary struct{…}` - `Type SinkNewResponseSchemaFieldsBinaryType` - `const SinkNewResponseSchemaFieldsBinaryTypeBinary SinkNewResponseSchemaFieldsBinaryType = "binary"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsTimestamp struct{…}` - `Type SinkNewResponseSchemaFieldsTimestampType` - `const SinkNewResponseSchemaFieldsTimestampTypeTimestamp SinkNewResponseSchemaFieldsTimestampType = "timestamp"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `Unit SinkNewResponseSchemaFieldsTimestampUnit` - `const SinkNewResponseSchemaFieldsTimestampUnitSecond SinkNewResponseSchemaFieldsTimestampUnit = "second"` - `const SinkNewResponseSchemaFieldsTimestampUnitMillisecond SinkNewResponseSchemaFieldsTimestampUnit = "millisecond"` - `const SinkNewResponseSchemaFieldsTimestampUnitMicrosecond SinkNewResponseSchemaFieldsTimestampUnit = "microsecond"` - `const SinkNewResponseSchemaFieldsTimestampUnitNanosecond SinkNewResponseSchemaFieldsTimestampUnit = "nanosecond"` - `type SinkNewResponseSchemaFieldsJson struct{…}` - `Type SinkNewResponseSchemaFieldsJsonType` - `const SinkNewResponseSchemaFieldsJsonTypeJson SinkNewResponseSchemaFieldsJsonType = "json"` - `MetadataKey string` - `Name string` - `Required bool` - `SqlName string` - `type SinkNewResponseSchemaFieldsStruct struct{…}` - `type SinkNewResponseSchemaFieldsList struct{…}` - `Format SinkNewResponseSchemaFormat` - `type SinkNewResponseSchemaFormatJson struct{…}` - `Type SinkNewResponseSchemaFormatJsonType` - `const SinkNewResponseSchemaFormatJsonTypeJson SinkNewResponseSchemaFormatJsonType = "json"` - `DecimalEncoding SinkNewResponseSchemaFormatJsonDecimalEncoding` - `const SinkNewResponseSchemaFormatJsonDecimalEncodingNumber SinkNewResponseSchemaFormatJsonDecimalEncoding = "number"` - `const SinkNewResponseSchemaFormatJsonDecimalEncodingString SinkNewResponseSchemaFormatJsonDecimalEncoding = "string"` - `const SinkNewResponseSchemaFormatJsonDecimalEncodingBytes SinkNewResponseSchemaFormatJsonDecimalEncoding = "bytes"` - `TimestampFormat SinkNewResponseSchemaFormatJsonTimestampFormat` - `const SinkNewResponseSchemaFormatJsonTimestampFormatRfc3339 SinkNewResponseSchemaFormatJsonTimestampFormat = "rfc3339"` - `const SinkNewResponseSchemaFormatJsonTimestampFormatUnixMillis SinkNewResponseSchemaFormatJsonTimestampFormat = "unix_millis"` - `Unstructured bool` - `type SinkNewResponseSchemaFormatParquet struct{…}` - `Type SinkNewResponseSchemaFormatParquetType` - `const SinkNewResponseSchemaFormatParquetTypeParquet SinkNewResponseSchemaFormatParquetType = "parquet"` - `Compression SinkNewResponseSchemaFormatParquetCompression` - `const SinkNewResponseSchemaFormatParquetCompressionUncompressed SinkNewResponseSchemaFormatParquetCompression = "uncompressed"` - `const SinkNewResponseSchemaFormatParquetCompressionSnappy SinkNewResponseSchemaFormatParquetCompression = "snappy"` - `const SinkNewResponseSchemaFormatParquetCompressionGzip SinkNewResponseSchemaFormatParquetCompression = "gzip"` - `const SinkNewResponseSchemaFormatParquetCompressionZstd SinkNewResponseSchemaFormatParquetCompression = "zstd"` - `const SinkNewResponseSchemaFormatParquetCompressionLz4 SinkNewResponseSchemaFormatParquetCompression = "lz4"` - `RowGroupBytes int64` - `Inferred bool` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/pipelines" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) sink, err := client.Pipelines.Sinks.New(context.TODO(), pipelines.SinkNewParams{ AccountID: cloudflare.F("0123105f4ecef8ad9ca31a8372d0c353"), Name: cloudflare.F("my_sink"), Type: cloudflare.F(pipelines.SinkNewParamsTypeR2), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", sink.ID) } ``` #### Response ```json { "result": { "id": "01234567890123457689012345678901", "created_at": "2019-12-27T18:11:19.117Z", "modified_at": "2019-12-27T18:11:19.117Z", "name": "my_sink", "type": "r2", "config": { "account_id": "account_id", "bucket": "bucket", "credentials": { "access_key_id": "access_key_id", "secret_access_key": "secret_access_key" }, "file_naming": { "prefix": "prefix", "strategy": "serial", "suffix": "suffix" }, "jurisdiction": "jurisdiction", "partitioning": { "time_pattern": "year=%Y/month=%m/day=%d/hour=%H" }, "path": "path", "rolling_policy": { "file_size_bytes": 0, "inactivity_seconds": 1, "interval_seconds": 1 } }, "format": { "type": "json", "decimal_encoding": "number", "timestamp_format": "rfc3339", "unstructured": true }, "schema": { "fields": [ { "type": "int32", "metadata_key": "metadata_key", "name": "name", "required": true, "sql_name": "sql_name" } ], "format": { "type": "json", "decimal_encoding": "number", "timestamp_format": "rfc3339", "unstructured": true }, "inferred": true } }, "success": true } ```