클라우드 기능에서 데이터 흐름 템플릿으로 전달되는 속성 값을 가져 오려고합니다. 전달되는 값이 래퍼이므로 컴파일 중에 오류가 발생하며 .get()
메서드를 사용하면 오류가 발생합니다. 이 오류와 함께 An exception occurred while executing the Java class. null: InvocationTargetException: Not called from a runtime context.
ValueProvider 문제
public interface MyOptions extends DataflowPipelineOptions {
...
@Description("schema of csv file")
ValueProvider<String> getHeader();
void setHeader(ValueProvider<String> header);
...
}
public static void main(String[] args) throws IOException {
...
List<String> sideInputColumns = Arrays.asList(options.getHeader().get().split(","));
...
//ultimately use the getHeaders as side inputs
PCollection<String> input = p.apply(Create.of(sideInputColumns));
final PCollectionView<List<String>> finalColumnView = input.apply(View.asList());
}
은 어떻게 ValueProvider 유형의 값을 추출 할 수 있습니까?
코드를 공유하십시오. –