diff --git a/src/main/java/io/cdap/plugin/aws/s3/common/S3EmptyInputFormat.java b/src/main/java/io/cdap/plugin/aws/s3/common/S3EmptyInputFormat.java new file mode 100644 index 0000000..b5462bb --- /dev/null +++ b/src/main/java/io/cdap/plugin/aws/s3/common/S3EmptyInputFormat.java @@ -0,0 +1,30 @@ +/* + * Copyright © 2024 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + * + */ + +package io.cdap.plugin.aws.s3.common; + +import io.cdap.plugin.format.input.AbstractEmptyInputFormat; + + +/** + * An InputFormat that returns no data. + * @param the type of key + * @param the type of value + */ +public class S3EmptyInputFormat extends AbstractEmptyInputFormat { + // no-op +} diff --git a/src/main/java/io/cdap/plugin/aws/s3/source/S3BatchSource.java b/src/main/java/io/cdap/plugin/aws/s3/source/S3BatchSource.java index 99a4c6e..8e14f26 100644 --- a/src/main/java/io/cdap/plugin/aws/s3/source/S3BatchSource.java +++ b/src/main/java/io/cdap/plugin/aws/s3/source/S3BatchSource.java @@ -32,6 +32,7 @@ import io.cdap.cdap.etl.api.connector.Connector; import io.cdap.plugin.aws.s3.common.S3ConnectorConfig; import io.cdap.plugin.aws.s3.common.S3Constants; +import io.cdap.plugin.aws.s3.common.S3EmptyInputFormat; import io.cdap.plugin.aws.s3.common.S3Path; import io.cdap.plugin.aws.s3.connector.S3Connector; import io.cdap.plugin.common.Asset; @@ -70,6 +71,11 @@ public S3BatchSource(S3BatchConfig config) { this.config = config; } + @Override + protected String getEmptyInputFormatClassName() { + return S3EmptyInputFormat.class.getName(); + } + @Override public void prepareRun(BatchSourceContext context) throws Exception { // create asset for lineage