def resolve_parameters(value, parameters, date_time=datetime.datetime.now(), macros=False):
    """ Resolve a format modifier with the corresponding value.

    Args:
      value: The string (path, table, or any other artifact in a cell_body) which may have format
          modifiers. E.g. a table name could be <project-id>.<dataset-id>.logs_%(_ds)s
      parameters: The user-specified list of parameters in the cell-body.
      date_time: The timestamp at which the parameters need to be evaluated. E.g. when the table
          is <project-id>.<dataset-id>.logs_%(_ds)s, the '_ds' evaluates to the current date-time.
      macros: When true, the format modifers in the value are replaced with the corresponding
          airflow macro equivalents (like '{{ ds }}'. When false, the actual values are used (like
          '2015-12-12'.

    Returns:
      The resolved value, i.e. the value with the format modifiers replaced with the corresponding
          parameter-values. E.g. if value is <project-id>.<dataset-id>.logs_%(_ds)s, the returned
          value is something like <project-id>.<dataset-id>.logs_2017-12-21
    """
    merged_parameters = Query.merge_parameters(parameters, date_time=date_time, macros=macros,
                                               types_and_values=False)
    return Query._resolve_parameters(value, merged_parameters)
Resolve a format modifier with the corresponding value.

    Args:
      value: The string (path, table, or any other artifact in a cell_body) which may have format
          modifiers. E.g. a table name could be <project-id>.<dataset-id>.logs_%(_ds)s
      parameters: The user-specified list of parameters in the cell-body.
      date_time: The timestamp at which the parameters need to be evaluated. E.g. when the table
          is <project-id>.<dataset-id>.logs_%(_ds)s, the '_ds' evaluates to the current date-time.
      macros: When true, the format modifers in the value are replaced with the corresponding
          airflow macro equivalents (like '{{ ds }}'. When false, the actual values are used (like
          '2015-12-12'.

    Returns:
      The resolved value, i.e. the value with the format modifiers replaced with the corresponding
          parameter-values. E.g. if value is <project-id>.<dataset-id>.logs_%(_ds)s, the returned
          value is something like <project-id>.<dataset-id>.logs_2017-12-21