def check_consumer_exist(bootstrap_servers, topic_name): admin = KafkaAdminClient(bootstrap_servers=bootstrap_servers) consumer_groups = admin.describe_consumer_groups(group_ids=[ group_id for group_id, _ in admin.list_consumer_groups() if group_id.startswith("spark-kafka-source") ]) subscriptions = { subscription for group in consumer_groups for member in group.members if not isinstance(member.member_metadata, bytes) for subscription in member.member_metadata.subscription } return topic_name in subscriptions
def groups(): filter = flask.request.args.get('filter') if filter == None: filter = "" admin_client = KafkaAdminClient(bootstrap_servers=brokerArray) consumer_groups = admin_client.list_consumer_groups() describeGroups = admin_client.describe_consumer_groups(consumer_groups) log(describeGroups) returnGroups = [] for n in consumer_groups: if filter in n: returnGroups.append({"name": n[0]}) return json.dumps(returnGroups)