use of com.google.cloud.bigquery.datatransfer.v1.TransferConfig in project java-bigquerydatatransfer by googleapis.
the class DeleteScheduledQueryIT method setUp.
@Before
public void setUp() throws IOException {
bout = new ByteArrayOutputStream();
out = new PrintStream(bout);
originalPrintStream = System.out;
System.setOut(out);
displayName = "MY_SCHEDULE_NAME_TEST_" + UUID.randomUUID().toString().substring(0, 8);
datasetName = "MY_DATASET_NAME_TEST_" + UUID.randomUUID().toString().substring(0, 8);
// create a temporary dataset
bigquery = BigQueryOptions.getDefaultInstance().getService();
bigquery.create(DatasetInfo.of(datasetName));
// create a scheduled query
String query = "SELECT CURRENT_TIMESTAMP() as current_time, @run_time as intended_run_time, " + "@run_date as intended_run_date, 17 as some_integer";
String destinationTableName = "MY_DESTINATION_TABLE_" + UUID.randomUUID().toString().substring(0, 8) + "_{run_date}";
Map<String, Value> params = new HashMap<>();
params.put("query", Value.newBuilder().setStringValue(query).build());
params.put("destination_table_name_template", Value.newBuilder().setStringValue(destinationTableName).build());
params.put("write_disposition", Value.newBuilder().setStringValue("WRITE_TRUNCATE").build());
params.put("partitioning_field", Value.newBuilder().setStringValue("").build());
TransferConfig transferConfig = TransferConfig.newBuilder().setDestinationDatasetId(datasetName).setDisplayName(displayName).setDataSourceId("scheduled_query").setParams(Struct.newBuilder().putAllFields(params).build()).setSchedule("every 24 hours").build();
try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
ProjectName parent = ProjectName.of(PROJECT_ID);
CreateTransferConfigRequest request = CreateTransferConfigRequest.newBuilder().setParent(parent.toString()).setTransferConfig(transferConfig).build();
name = dataTransferServiceClient.createTransferConfig(request).getName();
System.out.println("\nScheduled query created successfully :" + name);
}
}
use of com.google.cloud.bigquery.datatransfer.v1.TransferConfig in project java-bigquerydatatransfer by googleapis.
the class DisableTransferConfigIT method testDisableTransferConfig.
@Test
public void testDisableTransferConfig() throws IOException {
TransferConfig transferConfig = TransferConfig.newBuilder().setName(CONFIG_NAME).setDisabled(true).build();
FieldMask updateMask = FieldMaskUtil.fromString("disabled");
DisableTransferConfig.disableTransferConfig(transferConfig, updateMask);
assertThat(bout.toString()).contains("Transfer config disabled successfully");
}
use of com.google.cloud.bigquery.datatransfer.v1.TransferConfig in project java-bigquerydatatransfer by googleapis.
the class GetTransferConfigInfo method getTransferConfigInfo.
public static void getTransferConfigInfo(String configId) throws IOException {
try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
GetTransferConfigRequest request = GetTransferConfigRequest.newBuilder().setName(configId).build();
TransferConfig info = dataTransferServiceClient.getTransferConfig(request);
System.out.print("Config info retrieved successfully." + info.getName() + "\n");
} catch (ApiException ex) {
System.out.print("config not found." + ex.toString());
}
}
use of com.google.cloud.bigquery.datatransfer.v1.TransferConfig in project java-bigquerydatatransfer by googleapis.
the class RunNotification method main.
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
final String projectId = "MY_PROJECT_ID";
final String datasetId = "MY_DATASET_ID";
final String pubsubTopicName = "MY_TOPIC_NAME";
final String query = "SELECT CURRENT_TIMESTAMP() as current_time, @run_time as intended_run_time, " + "@run_date as intended_run_date, 17 as some_integer";
Map<String, Value> params = new HashMap<>();
params.put("query", Value.newBuilder().setStringValue(query).build());
params.put("destination_table_name_template", Value.newBuilder().setStringValue("my_destination_table_{run_date}").build());
params.put("write_disposition", Value.newBuilder().setStringValue("WRITE_TRUNCATE").build());
params.put("partitioning_field", Value.newBuilder().build());
TransferConfig transferConfig = TransferConfig.newBuilder().setDestinationDatasetId(datasetId).setDisplayName("Your Scheduled Query Name").setDataSourceId("scheduled_query").setParams(Struct.newBuilder().putAllFields(params).build()).setSchedule("every 24 hours").setNotificationPubsubTopic(pubsubTopicName).build();
runNotification(projectId, transferConfig);
}
use of com.google.cloud.bigquery.datatransfer.v1.TransferConfig in project java-bigquerydatatransfer by googleapis.
the class UpdateCredentials method main.
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
String configId = "MY_CONFIG_ID";
String serviceAccount = "MY_SERVICE_ACCOUNT";
TransferConfig transferConfig = TransferConfig.newBuilder().setName(configId).build();
FieldMask updateMask = FieldMaskUtil.fromString("service_account_name");
updateCredentials(transferConfig, serviceAccount, updateMask);
}
Aggregations