blob: d24a9528a58ef6375740b88765cbc7ad556ceaa4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Wed Aug 14 17:37:14 PDT 2019 -->
<title>PubsubIO.Write (Apache Beam 2.15.0-SNAPSHOT)</title>
<meta name="date" content="2019-08-14">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PubsubIO.Write (Apache Beam 2.15.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.PubsubBoundedWriter.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" target="_top">Frames</a></li>
<li><a href="PubsubIO.Write.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.io.gcp.pubsub</div>
<h2 title="Class PubsubIO.Write" class="title">Class PubsubIO.Write&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.PTransform</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;T&gt;,<a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.Write&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO</a></dd>
</dl>
<hr>
<br>
<pre>public abstract static class <span class="typeNameLabel">PubsubIO.Write&lt;T&gt;</span>
extends <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;T&gt;,<a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a>&gt;</pre>
<div class="block">Implementation of <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html#write--"><code>PubsubIO.write()</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../serialized-form.html#org.apache.beam.sdk.io.gcp.pubsub.PubsubIO.Write">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.PubsubBoundedWriter.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write.PubsubBoundedWriter</a></span></code>
<div class="block">Writer to Pubsub which batches messages from bounded collections.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a></h3>
<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#name">name</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#Write--">Write</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#expand-org.apache.beam.sdk.values.PCollection-">expand</a></span>(<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;input)</code>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
<code>InputT</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></span>(<a href="../../../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</code>
<div class="block">Register display data for the given transform or component.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#to-java.lang.String-">to</a></span>(java.lang.String&nbsp;topic)</code>
<div class="block">Publishes to the specified topic.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#to-org.apache.beam.sdk.options.ValueProvider-">to</a></span>(<a href="../../../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;topic)</code>
<div class="block">Like <code>topic()</code> but with a <a href="../../../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options"><code>ValueProvider</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#withClientFactory-org.apache.beam.sdk.io.gcp.pubsub.PubsubClient.PubsubClientFactory-">withClientFactory</a></span>(<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubClient.PubsubClientFactory.html" title="interface in org.apache.beam.sdk.io.gcp.pubsub">PubsubClient.PubsubClientFactory</a>&nbsp;factory)</code>
<div class="block">The default client to write to Pub/Sub is the <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubJsonClient.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><code>PubsubJsonClient</code></a>, created by the <code>PubsubJsonClient.PubsubJsonClientFactory</code>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#withIdAttribute-java.lang.String-">withIdAttribute</a></span>(java.lang.String&nbsp;idAttribute)</code>
<div class="block">Writes to Pub/Sub, adding each record's unique identifier to the published messages in an
attribute with the specified name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#withMaxBatchBytesSize-int-">withMaxBatchBytesSize</a></span>(int&nbsp;maxBatchBytesSize)</code>
<div class="block">Writes to Pub/Sub are limited by 10mb in general.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#withMaxBatchSize-int-">withMaxBatchSize</a></span>(int&nbsp;batchSize)</code>
<div class="block">Writes to Pub/Sub are batched to efficiently send data.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html#withTimestampAttribute-java.lang.String-">withTimestampAttribute</a></span>(java.lang.String&nbsp;timestampAttribute)</code>
<div class="block">Writes to Pub/Sub and adds each record's timestamp to the published messages in an attribute
with the specified name.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a></h3>
<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#compose-org.apache.beam.sdk.transforms.SerializableFunction-">compose</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#compose-java.lang.String-org.apache.beam.sdk.transforms.SerializableFunction-">compose</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getAdditionalInputs--">getAdditionalInputs</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder--">getDefaultOutputCoder</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-">getDefaultOutputCoder</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getDefaultOutputCoder-InputT-org.apache.beam.sdk.values.PCollection-">getDefaultOutputCoder</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getKindString--">getKindString</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#getName--">getName</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#toString--">toString</a>, <a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#validate-org.apache.beam.sdk.options.PipelineOptions-">validate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Write--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Write</h4>
<pre>public&nbsp;Write()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="to-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>to</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;to(java.lang.String&nbsp;topic)</pre>
<div class="block">Publishes to the specified topic.
<p>See <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.PubsubTopic.html#fromPath-java.lang.String-"><code>PubsubIO.PubsubTopic.fromPath(String)</code></a> for more details on the format of the
<code>topic</code> string.</div>
</li>
</ul>
<a name="to-org.apache.beam.sdk.options.ValueProvider-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>to</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;to(<a href="../../../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;topic)</pre>
<div class="block">Like <code>topic()</code> but with a <a href="../../../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options"><code>ValueProvider</code></a>.</div>
</li>
</ul>
<a name="withClientFactory-org.apache.beam.sdk.io.gcp.pubsub.PubsubClient.PubsubClientFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withClientFactory</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;withClientFactory(<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubClient.PubsubClientFactory.html" title="interface in org.apache.beam.sdk.io.gcp.pubsub">PubsubClient.PubsubClientFactory</a>&nbsp;factory)</pre>
<div class="block">The default client to write to Pub/Sub is the <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubJsonClient.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><code>PubsubJsonClient</code></a>, created by the <code>PubsubJsonClient.PubsubJsonClientFactory</code>. This function allows to change the Pub/Sub client
by providing another <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubClient.PubsubClientFactory.html" title="interface in org.apache.beam.sdk.io.gcp.pubsub"><code>PubsubClient.PubsubClientFactory</code></a> like the <code>PubsubGrpcClientFactory</code>.</div>
</li>
</ul>
<a name="withMaxBatchSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withMaxBatchSize</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;withMaxBatchSize(int&nbsp;batchSize)</pre>
<div class="block">Writes to Pub/Sub are batched to efficiently send data. The value of the attribute will be a
number representing the number of Pub/Sub messages to queue before sending off the bulk
request. For example, if given 1000 the write sink will wait until 1000 messages have been
received, or the pipeline has finished, whichever is first.
<p>Pub/Sub has a limitation of 10mb per individual request/batch. This attribute was
requested dynamic to allow larger Pub/Sub messages to be sent using this source. Thus
allowing customizable batches and control of number of events before the 10mb size limit is
hit.</div>
</li>
</ul>
<a name="withMaxBatchBytesSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withMaxBatchBytesSize</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;withMaxBatchBytesSize(int&nbsp;maxBatchBytesSize)</pre>
<div class="block">Writes to Pub/Sub are limited by 10mb in general. This attribute controls the maximum allowed
bytes to be sent to Pub/Sub in a single batched message.</div>
</li>
</ul>
<a name="withTimestampAttribute-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withTimestampAttribute</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;withTimestampAttribute(java.lang.String&nbsp;timestampAttribute)</pre>
<div class="block">Writes to Pub/Sub and adds each record's timestamp to the published messages in an attribute
with the specified name. The value of the attribute will be a number representing the number
of milliseconds since the Unix epoch. For example, if using the Joda time classes, <a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true#Instant-long-" title="class or interface in org.joda.time"><code>Instant.Instant(long)</code></a> can be used to parse this value.
<p>If the output from this sink is being read by another Beam pipeline, then <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html#withTimestampAttribute-java.lang.String-"><code>PubsubIO.Read.withTimestampAttribute(String)</code></a> can be used to ensure the other source reads
these timestamps from the appropriate attribute.</div>
</li>
</ul>
<a name="withIdAttribute-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIdAttribute</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="class in org.apache.beam.sdk.io.gcp.pubsub">PubsubIO.Write</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;withIdAttribute(java.lang.String&nbsp;idAttribute)</pre>
<div class="block">Writes to Pub/Sub, adding each record's unique identifier to the published messages in an
attribute with the specified name. The value of the attribute is an opaque string.
<p>If the the output from this sink is being read by another Beam pipeline, then <a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html#withIdAttribute-java.lang.String-"><code>PubsubIO.Read.withIdAttribute(String)</code></a> can be used to ensure that* the other source reads
these unique identifiers from the appropriate attribute.</div>
</li>
</ul>
<a name="expand-org.apache.beam.sdk.values.PCollection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expand</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a>&nbsp;expand(<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;&nbsp;input)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-">PTransform</a></code></span></div>
<div class="block">Override this method to specify how this <code>PTransform</code> should be expanded on the given
<code>InputT</code>.
<p>NOTE: This method should not be called directly. Instead apply the <code>PTransform</code> should
be applied to the <code>InputT</code> using the <code>apply</code> method.
<p>Composite transforms, which are defined in terms of other transforms, should return the
output of one of the composed transforms. Non-composite transforms, which do not apply any
transforms internally, should return a new unbound output and register evaluators (via
backend-specific registration methods).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#expand-InputT-">expand</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;,<a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>populateDisplayData</h4>
<pre>public&nbsp;void&nbsp;populateDisplayData(<a href="../../../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">PTransform</a></code></span></div>
<div class="block">Register display data for the given transform or component.
<p><code>populateDisplayData(DisplayData.Builder)</code> is invoked by Pipeline runners to collect
display data via <a href="../../../../../../../org/apache/beam/sdk/transforms/display/DisplayData.html#from-org.apache.beam.sdk.transforms.display.HasDisplayData-"><code>DisplayData.from(HasDisplayData)</code></a>. Implementations may call <code>super.populateDisplayData(builder)</code> in order to register display data in the current namespace,
but should otherwise use <code>subcomponent.populateDisplayData(builder)</code> to use the namespace
of the subcomponent.
<p>By default, does not register any display data. Implementors may override this method to
provide their own display data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" title="type parameter in PubsubIO.Write">T</a>&gt;,<a href="../../../../../../../org/apache/beam/sdk/values/PDone.html" title="class in org.apache.beam.sdk.values">PDone</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>builder</code> - The builder to populate with display data.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display"><code>HasDisplayData</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.PubsubBoundedWriter.html" title="class in org.apache.beam.sdk.io.gcp.pubsub"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Write.html" target="_top">Frames</a></li>
<li><a href="PubsubIO.Write.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.beam.sdk.transforms.PTransform">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>