/** * Example of asynchronously creating a sink to export logs to a BigQuery dataset (in the {@link * LoggingOptions#getProjectId()} project). */ // [TARGET createAsync(SinkInfo)] // [VARIABLE "my_sink_name"] // [VARIABLE "my_dataset"] public Sink createSinkAsync(String sinkName, String datasetName) throws ExecutionException, InterruptedException { // [START createSinkAsync] SinkInfo sinkInfo = SinkInfo.of(sinkName, DatasetDestination.of(datasetName)); Future<Sink> future = logging.createAsync(sinkInfo); // ... Sink sink = future.get(); // [END createSinkAsync] return sink; }
/** * Example of creating a sink to export logs to a BigQuery dataset (in the {@link * LoggingOptions#getProjectId()} project). */ // [TARGET create(SinkInfo)] // [VARIABLE "my_sink_name"] // [VARIABLE "my_dataset"] public Sink createSink(String sinkName, String datasetName) { // [START logging_create_sink] SinkInfo sinkInfo = SinkInfo.of(sinkName, DatasetDestination.of(datasetName)); Sink sink = logging.create(sinkInfo); // [END logging_create_sink] return sink; }
@Test public void testToAndFromPb_NoProjectId() { DatasetDestination datasetDestination = DatasetDestination.of("dataset"); SinkInfo sinkInfo = SinkInfo.of("name", DATASET_DESTINATION); compareSinkInfo( sinkInfo, SinkInfo.fromPb(SinkInfo.of("name", datasetDestination).toPb("project"))); TopicDestination topicDestination = TopicDestination.of("topic"); sinkInfo = SinkInfo.of("name", TOPIC_DESTINATION); compareSinkInfo( sinkInfo, SinkInfo.fromPb(SinkInfo.of("name", topicDestination).toPb("project"))); }
@Test public void testListSinks() throws InterruptedException { String firstName = formatForTest("test-list-sinks-1"); String secondName = formatForTest("test-list-sinks-2"); Sink firstSink = logging().create(SinkInfo.of(firstName, DatasetDestination.of("dataset"))); Sink secondSink = logging().create(SinkInfo.of(secondName, DatasetDestination.of("dataset"))); Logging.ListOption[] options = {Logging.ListOption.pageSize(1)}; Page<Sink> sinkPage = logging().listSinks(options); Set<Sink> sinks = Sets.newHashSet(sinkPage.iterateAll()); while (!sinks.contains(firstSink) || !sinks.contains(secondSink)) { Thread.sleep(500); sinks = Sets.newHashSet(logging().listSinks(options).iterateAll()); } firstSink.delete(); secondSink.delete(); }
@Test public void testToAndFromPb() { compareSinkInfo(BUCKET_SINK_INFO, SinkInfo.fromPb(BUCKET_SINK_INFO.toPb("project"))); compareSinkInfo(DATASET_SINK_INFO, SinkInfo.fromPb(DATASET_SINK_INFO.toPb("project"))); compareSinkInfo(TOPIC_SINK_INFO, SinkInfo.fromPb(TOPIC_SINK_INFO.toPb("project"))); SinkInfo sinkInfo = SinkInfo.of("name", BUCKET_DESTINATION); compareSinkInfo(sinkInfo, SinkInfo.fromPb(sinkInfo.toPb("project"))); sinkInfo = SinkInfo.of("name", DATASET_DESTINATION); compareSinkInfo(sinkInfo, SinkInfo.fromPb(sinkInfo.toPb("project"))); sinkInfo = SinkInfo.of("name", TOPIC_DESTINATION); compareSinkInfo(sinkInfo, SinkInfo.fromPb(sinkInfo.toPb("project"))); }