Я пытаюсь построить rowFilter
, используя объект rowKeyRegexFilter
. Как получить строковое значение для параметра ValueProvider
для построения rowKeyRegexFilter
?
Я изменил шаблон Dataflow для копирования данных из Bigtable в Avro (Java и Apache Beam), я добавил RowFilter
до BigtableIO.read
, используя rowKeyRegexFilter
, мне нужно, чтобы регулярное выражение было параметром времени выполнения.
BigtableIO.Read read =
BigtableIO.read()
.withProjectId(options.getBigtableProjectId())
.withInstanceId(options.getBigtableInstanceId())
.withTableId(options.getBigtableTableId())
.withRowFilter(RowFilter.newBuilder().setRowKeyRegexFilter(ByteString.copyFromUtf8(options.getRegex().get())).build());
Но я не могу получить значение, и оно показывает мне следующую ошибку:
java.lang.IllegalStateException: значение доступно только во время выполнения, но доступно из контекста не времени выполнения: RuntimeValueProvider {propertyName = regex, default = null}