CREATE SCHEMA_REGISTRY
Syntax
CREATE SCHEMA_REGISTRY schema_registry_name
WITH (schema_registry_parameter = value [, ... ]);
Description
Schema registries are useful for storing and managing the many schemas that may define a user's data streams. These schemas are necessary for a system to marshal and unmarshal records and ensure the native data format matches the intended format. After you create a schema registry, look at how to UPDATE STORE to attach the schema registry to a store. The newly-created schema registry is accessible to the creator as well as anyone who has been given permissions.
Only a role with CREATE_SCHEMA_REGISTRY
privilege can create a schema registry.
Arguments
schema_registry_name
Specifies the name of the new schema registry. If the name is case sensitive you must wrap it in double quotes; otherwise the system uses the lower case name.
WITH (schema_registry_parameter = value [, … ])
This clause specifies schema registry parameters; see schema registry parameters below for more information.
Schema Registry Parameters
type
Type of schema registry.
Required: Yes
Type: SCHEMA_REGISTRY_TYPE
Valid values: CONFLUENT
, CONFLUENT_CLOUD
access_region
Region in which the schema registry resides.
Required: Yes, unless specified in properties.file
Type: String
Valid values: See LIST REGIONS
uris
List of comma-separated host:port
URIs to connect to the schema registry.
Required: Yes, unless specified in properties.file
Type: String
Valid values: Valid URI that corresponds with the schema registry.
properties.file
Optional. The file path to a .yaml file containing other schema registry parameters.
Required: No Default value: None Type: String Valid values: File path in current user's filesystem
Confluent Cloud Schema Registry Specific Parameters
confluent_cloud.key
Credentials key for the Confluent Cloud schema registry.
Required: No Default: None Type: String Valid values: The key corresponding with the credential key pair associated with the schema registry.
confluent_cloud.secret
Credentials secret for the Confluent Cloud schema registry.
Required: No Default: None Type: String Valid values: The secret corresponding with the credential key pair associated with the schema registry.
Confluent Platform Schema Registry Specific Parameters
confluent.username
Login username for the Confluent Platform schema registry. Required: No Default: None Type: String
confluent.password
Login password for the Confluent Platform schema registry. Required: No Default: None Type: String
tls.client.cert_file
File path to client certificate for mutual TLS authentication in PEM format. Required: No Default: None Type: String
tls.client.key_file
File path to client certificate key for mutual TLS authentication in PEM format. Required: No Default: None Type: String
Examples
Create a Confluent Cloud Schema Registry
The following example statement creates a new CONFLUENT_CLOUD
schema registry named ConfluentCloudSR
:
<no-db>/<no-store># CREATE SCHEMA_REGISTRY "ConfluentCloudSR" WITH (
'type' = CONFLUENT_CLOUD,
'access_region' = "AWS us-east-1",
'uris' = 'https://abcd-efghi.us-east-2.aws.confluent.cloud',
'confluent_cloud.key' = 'fake_key',
'confluent_cloud.secret' = 'fake_secret'
);
+-----------------+------------------+------------+------------------------------------------+
| Type | Name | Command | Summary |
+=================+==================+============+==========================================+
| schema registry | ConfluentCloudSR | CREATE | schema registry "ConfluentCloudSR" was |
| | | | successfully created |
+-----------------+------------------+------------+------------------------------------------+
Create a Confluent Platform Schema Registry
The following example statement creates a new CONFLUENT
schema registry named ConfluentPlatformSR
:
<no-db>/<no-store># CREATE SCHEMA_REGISTRY "ConfluentPlatformSR" WITH (
'type' = CONFLUENT,
'access_region' = "AWS us-east-1",
'uris' = 'https://url.to.schema.registry.listener:8081',
'confluent.username' = 'fake_username',
'confluent.password' = 'fake_password',
'tls.client.cert_file' = '@/path/to/tls/client_cert_file',
'tls.client.key_file' = '@/path/to/tls_key'
);
+-----------------+---------------------+------------+------------------------------------------+
| Type | Name | Command | Summary |
+=================+=====================+============+==========================================+
| schema registry | ConfluentPlatformSR | CREATE | schema registry "ConfluentPlatformSR" |
| | | | was successfully created |
+-----------------+---------------------+------------+------------------------------------------+
Create a schema registry with credentials from a file
The following creates a new CONFLUENT_CLOUD
schema registry named ConfluentCloudSR
:
$ cat /User/user1/schema_registry/cc/properties.yaml
access_region: "AWS us-east-2"
uris: "https://abcd-efghi.us-east-2.aws.confluent.cloud"
confluent_cloud.key: "SR_KEY"
confluent_cloud.secret: "SR_SECRET"
CREATE SCHEMA_REGISTRY "ConfluentCloudSR" WITH (
'type' = CONFLUENT_CLOUD,
'properties.file' = '@/User/user1/schema_registry/cc/properties.yaml'
);
Last updated