def get_checkpoint(self, name: Optional[str], ge_cloud_id: Optional[str]) -> CheckpointConfig: key: Union[GeCloudIdentifier, ConfigurationIdentifier] = self.determine_key( name=name, ge_cloud_id=ge_cloud_id) try: checkpoint_config: CheckpointConfig = self.get(key=key) except ge_exceptions.InvalidKeyError as exc_ik: raise ge_exceptions.CheckpointNotFoundError( message= f'Non-existent Checkpoint configuration named "{key.configuration_key}".\n\nDetails: {exc_ik}' ) except ValidationError as exc_ve: raise ge_exceptions.InvalidCheckpointConfigError( message="Invalid Checkpoint configuration", validation_error=exc_ve) if checkpoint_config.config_version is None: config_dict: dict = checkpoint_config.to_json_dict() batches: Optional[dict] = config_dict.get("batches") if not (batches is not None and (len(batches) == 0 or { "batch_kwargs", "expectation_suite_names", }.issubset( set( itertools.chain.from_iterable(item.keys() for item in batches))))): raise ge_exceptions.CheckpointError( message= "Attempt to instantiate LegacyCheckpoint with insufficient and/or incorrect arguments." ) return checkpoint_config
def load_checkpoint_config_from_store_backend( store_name: str, store_backend: Union[StoreBackend, dict], checkpoint_name: str, ) -> CheckpointConfig: config_store: CheckpointStore = build_checkpoint_store_using_store_backend( store_name=store_name, store_backend=store_backend, ) key: ConfigurationIdentifier = ConfigurationIdentifier( configuration_key=checkpoint_name, ) try: return config_store.get(key=key) except ge_exceptions.InvalidBaseYamlConfigError as exc: logger.error(exc.messages) raise ge_exceptions.InvalidCheckpointConfigError( "Error while processing DataContextConfig.", exc)
def get_checkpoint( data_context: "DataContext", # noqa: F821 checkpoint_store: CheckpointStore, name: Optional[str] = None, ge_cloud_id: Optional[str] = None, ) -> Union[Checkpoint, LegacyCheckpoint]: if ge_cloud_id: key: GeCloudIdentifier = GeCloudIdentifier( resource_type="contract", ge_cloud_id=ge_cloud_id ) else: key: ConfigurationIdentifier = ConfigurationIdentifier( configuration_key=name, ) try: checkpoint_config: CheckpointConfig = checkpoint_store.get(key=key) except ge_exceptions.InvalidKeyError as exc_ik: raise ge_exceptions.CheckpointNotFoundError( message=f'Non-existent Checkpoint configuration named "{key.configuration_key}".\n\nDetails: {exc_ik}' ) except ValidationError as exc_ve: raise ge_exceptions.InvalidCheckpointConfigError( message="Invalid Checkpoint configuration", validation_error=exc_ve ) if checkpoint_config.config_version is None: if not ( "batches" in checkpoint_config.to_json_dict() and ( len(checkpoint_config.to_json_dict()["batches"]) == 0 or {"batch_kwargs", "expectation_suite_names",}.issubset( set( list( itertools.chain.from_iterable( [ item.keys() for item in checkpoint_config.to_json_dict()[ "batches" ] ] ) ) ) ) ) ): raise ge_exceptions.CheckpointError( message="Attempt to instantiate LegacyCheckpoint with insufficient and/or incorrect arguments." ) config: dict = checkpoint_config.to_json_dict() if name: config.update({"name": name}) config = filter_properties_dict(properties=config, clean_falsy=True) checkpoint: Union[Checkpoint, LegacyCheckpoint] = instantiate_class_from_config( config=config, runtime_environment={ "data_context": data_context, }, config_defaults={ "module_name": "great_expectations.checkpoint", }, ) return checkpoint