Class AwsSchemaProvider
java.lang.Object
org.apache.beam.sdk.schemas.GetterBasedSchemaProvider
org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2
org.apache.beam.sdk.io.aws2.schemas.AwsSchemaProvider
- All Implemented Interfaces:
Serializable
,SchemaProvider
Schema provider for AWS
SdkPojo
models using the provided field metadata (@see SdkPojo.sdkFields()
) rather than reflection.
Note: Beam doesn't support self-referential schemas. Some AWS models are not compatible with
schemas for that reason and require a dedicated coder, such as DynamoDB AttributeValue
(coder
).
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> List
<FieldValueGetter<@NonNull T, Object>> fieldValueGetters
(TypeDescriptor<T> targetTypeDescriptor, Schema schema) Delegates to theGetterBasedSchemaProvider.fieldValueGetters(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.fieldValueTypeInformations
(TypeDescriptor<?> targetTypeDescriptor, Schema schema) Delegates to theGetterBasedSchemaProvider.fieldValueTypeInformations(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.<T> SerializableFunction
<Row, T> fromRowFunction
(TypeDescriptor<T> type) Given a type, returns a function that converts from aRow
object to that type.schemaFor
(TypeDescriptor<T> type) Lookup a schema for the given type.schemaTypeCreator
(TypeDescriptor<?> targetTypeDescriptor, Schema schema) Delegates to theGetterBasedSchemaProvider.schemaTypeCreator(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.Methods inherited from class org.apache.beam.sdk.schemas.GetterBasedSchemaProviderV2
fieldValueGetters, fieldValueTypeInformations, schemaTypeCreator
Methods inherited from class org.apache.beam.sdk.schemas.GetterBasedSchemaProvider
equals, hashCode, toRowFunction
-
Constructor Details
-
AwsSchemaProvider
public AwsSchemaProvider()
-
-
Method Details
-
schemaFor
Description copied from interface:SchemaProvider
Lookup a schema for the given type. If no schema exists, returns null. -
fieldValueGetters
public <T> List<FieldValueGetter<@NonNull T,Object>> fieldValueGetters(TypeDescriptor<T> targetTypeDescriptor, Schema schema) Description copied from class:GetterBasedSchemaProvider
Delegates to theGetterBasedSchemaProvider.fieldValueGetters(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.- Specified by:
fieldValueGetters
in classGetterBasedSchemaProviderV2
-
fromRowFunction
Description copied from interface:SchemaProvider
Given a type, returns a function that converts from aRow
object to that type. If no schema exists, returns null.- Specified by:
fromRowFunction
in interfaceSchemaProvider
- Overrides:
fromRowFunction
in classGetterBasedSchemaProvider
-
fieldValueTypeInformations
public List<FieldValueTypeInformation> fieldValueTypeInformations(TypeDescriptor<?> targetTypeDescriptor, Schema schema) Description copied from class:GetterBasedSchemaProvider
Delegates to theGetterBasedSchemaProvider.fieldValueTypeInformations(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.- Specified by:
fieldValueTypeInformations
in classGetterBasedSchemaProviderV2
-
schemaTypeCreator
public SchemaUserTypeCreator schemaTypeCreator(TypeDescriptor<?> targetTypeDescriptor, Schema schema) Description copied from class:GetterBasedSchemaProvider
Delegates to theGetterBasedSchemaProvider.schemaTypeCreator(Class, Schema)
for backwards compatibility, override it if you want to use the richer type signature contained in theTypeDescriptor
not subject to the type erasure.- Specified by:
schemaTypeCreator
in classGetterBasedSchemaProviderV2
-