In order to create a transformer provider for a different type of storage, implement the Transformer interface. Some provider implementations are already provided:
CosmosdbTransformerfor ms cosmosdb storageJSONTransformerfor simple json filesystem storageYAMLTransformerfor simple yaml filesystem storage
from transformer.transformer_cosmosdb import CosmosdbTransformer
prod_transformer = CosmosdbTransformer(
getenv("PROD_COSMOS_URL"),
getenv("PROD_COSMOS_KEY"),
getenv("PROD_COSMOS_DATABASE"),
getenv("PROD_COSMOS_CONTAINER"),
)from transformer.transformer_json import JSONTransformer
json_transformer = JSONTransformer(f"{getenv('WORKING_DIR')}/rules")from transformer.transformer_yaml import YAMLTransformer
yaml_transformer = YAMLTransformer(f"{getenv('WORKING_DIR')}/rules")prod_transformer.export_json(f"{getenv('WORKING_DIR')}/rules")from transformer.transformer import Transformer
Transformer.replace_rules(
from_transformer=prod_transformer, to_transformer=dev_transformer
)There are sets of transformations available and you can implement your own set of transformations. Some sets provided:
transformations_misctransformations_crog
Run CROG Schema Transformations:
from transformer.transformations_crog import (
all_transformations,
)
dev_transformer.transform_rules(all_transformations())