이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 9. Apicurio Registry artifact and rule reference
This chapter provides details on the supported artifact types, states, metadata, and content rules that are stored in Apicurio Registry.
- Section 9.1, “Apicurio Registry artifact types”
- Section 9.2, “Apicurio Registry artifact states”
- Section 9.3, “Apicurio Registry artifact metadata”
- Section 9.4, “Apicurio Registry content rule types”
- Section 9.5, “Apicurio Registry content rule maturity”
- Section 9.6, “Apicurio Registry content rule precedence”
9.1. Apicurio Registry artifact types 링크 복사링크가 클립보드에 복사되었습니다!
You can store and manage a wide range of schema and API artifact types in Apicurio Registry.
| Type | Description |
|---|---|
|
| AsyncAPI specification |
|
| Apache Avro schema |
|
| GraphQL schema |
|
| JSON Schema |
|
| Apache Kafka Connect schema |
|
| OpenAPI specification |
|
| Google protocol buffers schema |
|
| Web Services Definition Language |
|
| Extensible Markup Language |
|
| XML Schema Definition |
9.2. Apicurio Registry artifact states 링크 복사링크가 클립보드에 복사되었습니다!
The valid artifact states in Apicurio Registry are ENABLED, DISABLED, and DEPRECATED.
| State | Description |
|---|---|
|
| Basic state, all the operations are available. |
|
| The artifact and its metadata is viewable and searchable using the Apicurio Registry web console, but its content cannot be fetched by any client. |
|
| The artifact is fully usable but a header is added to the REST API response whenever the artifact content is fetched. The Apicurio Registry Rest Client will also log a warning whenever it sees deprecated content. |
9.3. Apicurio Registry artifact metadata 링크 복사링크가 클립보드에 복사되었습니다!
When an artifact is added to Apicurio Registry, a set of metadata properties is stored along with the artifact content. This metadata consists of a set of generated read-only properties, along with some properties that you can set.
| Property | Type |
|---|---|
|
| integer |
|
| string |
|
| date |
|
| integer |
|
| string |
|
| string |
|
| string |
|
| date |
|
| array of ArtifactReference |
|
| ArtifactType |
|
| integer |
| Property | Type |
|---|---|
|
| string |
|
| array of string |
|
| string |
|
| map |
|
| ArtifactState |
Updating artifact metadata
- You can use the Apicurio Registry REST API to update the set of editable properties using the metadata endpoints.
-
You can edit the
stateproperty only by using the state transition API. For example, you can mark an artifact asdeprecatedordisabled.
9.4. Apicurio Registry content rule types 링크 복사링크가 클립보드에 복사되었습니다!
You can specify VALIDITY and COMPATIBILITY rule types to govern content evolution in Apicurio Registry.
| Type | Description |
|---|---|
|
| Validate data before adding it to the registry. The possible configuration values for this rule are:
|
|
| Ensure that newly added artifacts are compatible with previously added versions. The possible configuration values for this rule are:
|
9.5. Apicurio Registry content rule maturity 링크 복사링크가 클립보드에 복사되었습니다!
Not all content rules are fully implemented for every artifact type supported by Apicurio Registry. The following table shows the current maturity level for each rule and artifact type:
| Artifact type | Validity rule | Compatibility rule |
|---|---|---|
| Avro | Full | Full |
| Protobuf | Full | Full |
| JSON Schema | Full | Full |
| OpenAPI | Full | None |
| AsyncAPI | Syntax Only | None |
| GraphQL | Syntax Only | None |
| Kafka Connect | Syntax Only | None |
| WSDL | Full | None |
| XML | Full | None |
| XSD | Full | None |
9.6. Apicurio Registry content rule precedence 링크 복사링크가 클립보드에 복사되었습니다!
When you add or update an artifact, Apicurio Registry applies rules to check the validity and compatibility of the artifact content. Configured artifact rules override the equivalent configured global rules, as shown in the following table.
| Artifact rule | Global rule | Rule applied to this artifact | Global rule available for other artifacts? |
|---|---|---|---|
| Enabled | Enabled | Artifact | Yes |
| Disabled | Enabled | Global | Yes |
| Disabled | Disabled | None | No |
| Enabled, set to None | Enabled | None | Yes |
| Disabled | Enabled, set to None | None | No |