class_docstr: An annotation database instance.
  
  This class facilitates the annotation of genetic datasets with variant
  annotations. It accepts either an HTTP(S) URL to an Annotation DB
  configuration or a Python :obj:`dict` describing an Annotation DB
  configuration. User must specify the `region` (``'us'`` or ``'eu'``) in which
  the cluster is running if connecting to the default Hail Annotation DB.
  User must also specify the `cloud` platform that they are using (``'gcp'``
  or ``'aws'``).
  
  Parameters
  ----------
  region : :obj:`str`
      Region cluster is running in, either ``'us'`` or ``'eu'``
      (default is ``'us'``).
  cloud : :obj:`str`
      Cloud platform, either ``'gcp'`` or ``'aws'`` (default is ``'gcp'``).
  url : :obj:`str`, optional
      Optional URL to annotation DB configuration, if using custom configuration
      (default is ``None``).
  config : :obj:`str`, optional
      Optional :obj:`dict` describing an annotation DB configuration, if using
      custom configuration (default is ``None``).
  
  Note
  ----
  The ``'aws'`` `cloud` platform is currently only available for the ``'us'``
  `region`. If `region` is ``'eu'``, `cloud` must be set to ``'gcp'``.
  
  Examples
  --------
  Create an annotation database connecting to the default Hail Annotation DB:
  
  >>> db = hl.experimental.DB(region='us', cloud='gcp')
docstr: Get row lens from relational object.
  
  Parameters
  ----------
  rel : :class:`Table` or :class:`MatrixTable`
  
  Returns
  -------
  :class:`TableRows` or :class:`MatrixRows`
docstr_tok: ["Get","row","lens","from","relational","object",".","Parameters","--","--","--","--","--","rel",":",":","class",":","`","Table","`","or",":","class",":","`","MatrixTable","`","Returns","--","--","--","-",":","class",":","`","TableRows","`","or",":","class",":","`","MatrixRows","`"]
code: def _row_lens(
      rel: Union[Table, MatrixTable]
  ) -> Union[TableRows, MatrixRows]:
      """Get row lens from relational object.
  
      Parameters
      ----------
      rel : :class:`Table` or :class:`MatrixTable`
  
      Returns
      -------
      :class:`TableRows` or :class:`MatrixRows`
      """
      if isinstance(rel, MatrixTable):
          return MatrixRows(rel)
      elif isinstance(rel, Table):
          return TableRows(rel)
      else:
          raise ValueError(
              "annotation database can only annotate Hail"
              " MatrixTable or Table"
          )
  
imports: import json
  import os
  import warnings
  from typing import Iterable, List, Optional, Set, Tuple, Union
  import hail
  import pkg_resources
  from hailtop.utils import external_requests_client_session, retry_response_returning_functions
  from .lens import MatrixRows, TableRows
  from ..expr import StructExpression
  from ..matrixtable import MatrixTable, matrix_table_type
  from ..table import Table, table_type
  from ..typecheck import oneof, typecheck_method
  from ..utils.java import Env, info
label_desc: Use image node_id 3 for calling the DB obj's underlying member method code with example usage: obj._row_lens(rel) and returns: MatrixRows, TableRows