Search in sources :

Example 1 with PubSubDatastoreProperties

use of org.talend.components.pubsub.PubSubDatastoreProperties in project components by Talend.

the class PubSubDatasetRuntime method listSubscriptions.

@Override
public Set<String> listSubscriptions() throws Exception {
    PubSubDatastoreProperties datastore = properties.getDatastoreProperties();
    PubSubClient client = PubSubConnection.createClient(datastore);
    return client.listSubscriptions(properties.topic.getValue());
}
Also used : PubSubDatastoreProperties(org.talend.components.pubsub.PubSubDatastoreProperties)

Example 2 with PubSubDatastoreProperties

use of org.talend.components.pubsub.PubSubDatastoreProperties in project components by Talend.

the class PubSubTestConstants method createDatastore.

public static PubSubDatastoreProperties createDatastore() {
    PubSubDatastoreProperties datastore = new PubSubDatastoreProperties("datastore");
    datastore.init();
    datastore.projectName.setValue(PubSubTestConstants.PROJECT);
    datastore.serviceAccountFile.setValue(PubSubTestConstants.SERVICE_ACCOUNT_FILE);
    return datastore;
}
Also used : PubSubDatastoreProperties(org.talend.components.pubsub.PubSubDatastoreProperties)

Example 3 with PubSubDatastoreProperties

use of org.talend.components.pubsub.PubSubDatastoreProperties in project components by Talend.

the class PubSubOutputRuntime method expand.

@Override
public PDone expand(PCollection<IndexedRecord> in) {
    PubSubDatasetProperties dataset = properties.getDatasetProperties();
    PubSubDatastoreProperties datastore = dataset.getDatastoreProperties();
    try {
        createTopicSubscriptionIfNeeded(properties);
    } catch (IOException e) {
        throw TalendRuntimeException.createUnexpectedException(e);
    }
    PubsubIO.Write<PubsubMessage> pubsubWrite = PubsubIO.writeMessages().to(String.format("projects/%s/topics/%s", datastore.projectName.getValue(), dataset.topic.getValue()));
    if (properties.idLabel.getValue() != null && !"".equals(properties.idLabel.getValue())) {
        pubsubWrite.withIdAttribute(properties.idLabel.getValue());
    }
    if (properties.timestampLabel.getValue() != null && !"".equals(properties.timestampLabel.getValue())) {
        pubsubWrite.withTimestampAttribute(properties.timestampLabel.getValue());
    }
    switch(dataset.valueFormat.getValue()) {
        case CSV:
            {
                return in.apply(MapElements.via(new FormatCsv(dataset.fieldDelimiter.getValue()))).apply(pubsubWrite);
            }
        case AVRO:
            {
                return in.apply(MapElements.via(new FormatAvro())).apply(pubsubWrite);
            }
        default:
            throw new RuntimeException("To be implemented: " + dataset.valueFormat.getValue());
    }
}
Also used : PubSubDatasetProperties(org.talend.components.pubsub.PubSubDatasetProperties) TalendRuntimeException(org.talend.daikon.exception.TalendRuntimeException) PubsubIO(org.apache.beam.sdk.io.gcp.pubsub.PubsubIO) PubSubDatastoreProperties(org.talend.components.pubsub.PubSubDatastoreProperties) IOException(java.io.IOException) PubsubMessage(org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage)

Example 4 with PubSubDatastoreProperties

use of org.talend.components.pubsub.PubSubDatastoreProperties in project components by Talend.

the class PubSubDatasetRuntime method listTopics.

@Override
public Set<String> listTopics() throws Exception {
    PubSubDatastoreProperties datastore = properties.getDatastoreProperties();
    PubSubClient client = PubSubConnection.createClient(datastore);
    return client.listTopics();
}
Also used : PubSubDatastoreProperties(org.talend.components.pubsub.PubSubDatastoreProperties)

Aggregations

PubSubDatastoreProperties (org.talend.components.pubsub.PubSubDatastoreProperties)4 IOException (java.io.IOException)1 PubsubIO (org.apache.beam.sdk.io.gcp.pubsub.PubsubIO)1 PubsubMessage (org.apache.beam.sdk.io.gcp.pubsub.PubsubMessage)1 PubSubDatasetProperties (org.talend.components.pubsub.PubSubDatasetProperties)1 TalendRuntimeException (org.talend.daikon.exception.TalendRuntimeException)1