def ExternalPartitionTags(self, request, _context): partition_args = deserialize_json_to_dagster_namedtuple( request.serialized_partition_args) check.inst_param(partition_args, 'partition_args', PartitionArgs) recon_repo = recon_repository_from_origin( partition_args.repository_origin) definition = recon_repo.get_definition() partition_set_def = definition.get_partition_set_def( partition_args.partition_set_name) partition = partition_set_def.get_partition( partition_args.partition_name) try: with user_code_error_boundary( PartitionExecutionError, lambda: 'Error occurred during the evaluation of the `tags_for_partition` function for ' 'partition set {partition_set_name}'.format( partition_set_name=partition_set_def.name), ): tags = partition_set_def.tags_for_partition(partition) return api_pb2.ExternalPartitionTagsReply( serialized_external_partition_tags_or_external_partition_execution_error =serialize_dagster_namedtuple( ExternalPartitionTagsData(name=partition.name, tags=tags))) except PartitionExecutionError: return api_pb2.ExternalPartitionTagsReply( serialized_external_partition_tags_or_external_partition_execution_error =serialize_dagster_namedtuple( ExternalPartitionExecutionErrorData( serializable_error_info_from_exc_info( sys.exc_info()))))
def get_partition_tags(recon_repo, partition_set_name, partition_name): definition = recon_repo.get_definition() partition_set_def = definition.get_partition_set_def(partition_set_name) partition = partition_set_def.get_partition(partition_name) try: with user_code_error_boundary( PartitionExecutionError, lambda: "Error occurred during the evaluation of the `tags_for_partition` function for " f"{_get_target_for_partition_execution_error(partition_set_def)}", ): tags = partition_set_def.tags_for_partition(partition) return ExternalPartitionTagsData(name=partition.name, tags=tags) except PartitionExecutionError: return ExternalPartitionExecutionErrorData( serializable_error_info_from_exc_info(sys.exc_info()))
def get_partition_tags(args): check.inst_param(args, 'args', PartitionArgs) recon_repo = recon_repository_from_origin(args.repository_origin) definition = recon_repo.get_definition() partition_set_def = definition.get_partition_set_def(args.partition_set_name) partition = partition_set_def.get_partition(args.partition_name) try: with user_code_error_boundary( PartitionExecutionError, lambda: 'Error occurred during the evaluation of the `tags_for_partition` function for ' 'partition set {partition_set_name}'.format(partition_set_name=partition_set_def.name), ): tags = partition_set_def.tags_for_partition(partition) return ExternalPartitionTagsData(name=partition.name, tags=tags) except PartitionExecutionError: return ExternalPartitionExecutionErrorData( serializable_error_info_from_exc_info(sys.exc_info()) )