Skip to content

Commit e656ea5

Browse files
1 parent c3653ec commit e656ea5

7 files changed

Lines changed: 322 additions & 10 deletions

File tree

‎clients/google-api-services-pubsub/v1/2.0.0/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file:
2222
<dependency>
2323
<groupId>com.google.apis</groupId>
2424
<artifactId>google-api-services-pubsub</artifactId>
25-
<version>v1-rev20260915-2.0.0</version>
25+
<version>v1-rev20260924-2.0.0</version>
2626
</dependency>
2727
</dependencies>
2828
</project>
@@ -35,7 +35,7 @@ repositories {
3535
mavenCentral()
3636
}
3737
dependencies {
38-
implementation 'com.google.apis:google-api-services-pubsub:v1-rev20260915-2.0.0'
38+
implementation 'com.google.apis:google-api-services-pubsub:v1-rev20260924-2.0.0'
3939
}
4040
```
4141

‎clients/google-api-services-pubsub/v1/2.0.0/com/google/api/services/pubsub/model/BigtableConfig.java‎

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
package com.google.api.services.pubsub.model;
1818

1919
/**
20-
* Configuration for a Bigtable subscription. The Pub/Sub message will be written to a Bigtable row
21-
* as follows: - row key: subscription name, message ID hash, and message ID delimited by `#`. -
22-
* columns: message bytes written to a single column family `data` with an empty-string column
23-
* qualifier. - cell timestamp: the message publish timestamp.
20+
* Configuration for a Bigtable subscription, which will write a Pub/Sub message to a Bigtable row.
21+
* See the ColumnFamilyMapping documentation below for details on how the row keys and columns will
22+
* be written.
2423
*
2524
* <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
2625
* transmitted over HTTP when working with the Cloud Pub/Sub API. For a detailed explanation see:
@@ -40,6 +39,14 @@ public final class BigtableConfig extends com.google.api.client.json.GenericJson
4039
@com.google.api.client.util.Key
4140
private java.lang.String appProfileId;
4241

42+
/**
43+
* Optional. Configuration that allows writing row keys and/or columns based on fields in the
44+
* input message. The input message format must be JSON if this field is set.
45+
* The value may be {@code null}.
46+
*/
47+
@com.google.api.client.util.Key
48+
private ColumnFamilyMapping columnFamilyMapping;
49+
4350
/**
4451
* Optional. The service account to use to write to Bigtable. The subscription creator or updater
4552
* that specifies this field must have `iam.serviceAccounts.actAs` permission on the service
@@ -97,6 +104,25 @@ public BigtableConfig setAppProfileId(java.lang.String appProfileId) {
97104
return this;
98105
}
99106

107+
/**
108+
* Optional. Configuration that allows writing row keys and/or columns based on fields in the
109+
* input message. The input message format must be JSON if this field is set.
110+
* @return value or {@code null} for none
111+
*/
112+
public ColumnFamilyMapping getColumnFamilyMapping() {
113+
return columnFamilyMapping;
114+
}
115+
116+
/**
117+
* Optional. Configuration that allows writing row keys and/or columns based on fields in the
118+
* input message. The input message format must be JSON if this field is set.
119+
* @param columnFamilyMapping columnFamilyMapping or {@code null} for none
120+
*/
121+
public BigtableConfig setColumnFamilyMapping(ColumnFamilyMapping columnFamilyMapping) {
122+
this.columnFamilyMapping = columnFamilyMapping;
123+
return this;
124+
}
125+
100126
/**
101127
* Optional. The service account to use to write to Bigtable. The subscription creator or updater
102128
* that specifies this field must have `iam.serviceAccounts.actAs` permission on the service
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/*
2+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
3+
* in compliance with the License. You may obtain a copy of the License at
4+
*
5+
* http://www.apache.org/licenses/LICENSE-2.0
6+
*
7+
* Unless required by applicable law or agreed to in writing, software distributed under the License
8+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
9+
* or implied. See the License for the specific language governing permissions and limitations under
10+
* the License.
11+
*/
12+
/*
13+
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
14+
* Modify at your own risk.
15+
*/
16+
17+
package com.google.api.services.pubsub.model;
18+
19+
/**
20+
* Configuration for writing a Pub/Sub message to a Bigtable row with a user-defined key and writing
21+
* to column families. If this field is set: - The subscription messages must be formatted as JSON.
22+
* - The row key mapping is configured in the `key_definition` section. - The top-level fields will
23+
* be written either: - By default, they will be written to the `data` column family with the field
24+
* name as the column qualifier. - But if the field name matches an existing column family (except
25+
* for the default `data` column), then that field will be written to that column family, either as
26+
* a scalar or its next level nested fields if it's a JSON object. - The cell timestamp will be the
27+
* message publish timestamp. If the field is not set, the default behavior is to write: - row key:
28+
* subscription name, message ID hash, and message ID delimited by `#`. - columns: message bytes
29+
* written to a single column family `data` with an empty-string column qualifier. - cell timestamp:
30+
* the message publish timestamp.
31+
*
32+
* <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
33+
* transmitted over HTTP when working with the Cloud Pub/Sub API. For a detailed explanation see:
34+
* <a href="https://developers.google.com/api-client-library/java/google-http-java-client/json">https://developers.google.com/api-client-library/java/google-http-java-client/json</a>
35+
* </p>
36+
*
37+
* @author Google, Inc.
38+
*/
39+
@SuppressWarnings("javadoc")
40+
public final class ColumnFamilyMapping extends com.google.api.client.json.GenericJson {
41+
42+
/**
43+
* Optional. If set, the row key is constructed from the given key fields and delimiter. All key
44+
* fields must be present in the message; otherwise, the message remains in the subscription
45+
* backlog.
46+
* The value may be {@code null}.
47+
*/
48+
@com.google.api.client.util.Key
49+
private DelimitedKey delimitedKey;
50+
51+
/**
52+
* Optional. If set, the row key is constructed from the field names of the table's structured row
53+
* key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas).
54+
* Note that if the field is nullable in the structured row key, then it need not be present in
55+
* the message; null will be used instead.
56+
* The value may be {@code null}.
57+
*/
58+
@com.google.api.client.util.Key
59+
private RowKeySchema rowKeySchema;
60+
61+
/**
62+
* Optional. If set, the row key is constructed from the given key fields and delimiter. All key
63+
* fields must be present in the message; otherwise, the message remains in the subscription
64+
* backlog.
65+
* @return value or {@code null} for none
66+
*/
67+
public DelimitedKey getDelimitedKey() {
68+
return delimitedKey;
69+
}
70+
71+
/**
72+
* Optional. If set, the row key is constructed from the given key fields and delimiter. All key
73+
* fields must be present in the message; otherwise, the message remains in the subscription
74+
* backlog.
75+
* @param delimitedKey delimitedKey or {@code null} for none
76+
*/
77+
public ColumnFamilyMapping setDelimitedKey(DelimitedKey delimitedKey) {
78+
this.delimitedKey = delimitedKey;
79+
return this;
80+
}
81+
82+
/**
83+
* Optional. If set, the row key is constructed from the field names of the table's structured row
84+
* key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas).
85+
* Note that if the field is nullable in the structured row key, then it need not be present in
86+
* the message; null will be used instead.
87+
* @return value or {@code null} for none
88+
*/
89+
public RowKeySchema getRowKeySchema() {
90+
return rowKeySchema;
91+
}
92+
93+
/**
94+
* Optional. If set, the row key is constructed from the field names of the table's structured row
95+
* key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-key-schemas).
96+
* Note that if the field is nullable in the structured row key, then it need not be present in
97+
* the message; null will be used instead.
98+
* @param rowKeySchema rowKeySchema or {@code null} for none
99+
*/
100+
public ColumnFamilyMapping setRowKeySchema(RowKeySchema rowKeySchema) {
101+
this.rowKeySchema = rowKeySchema;
102+
return this;
103+
}
104+
105+
@Override
106+
public ColumnFamilyMapping set(String fieldName, Object value) {
107+
return (ColumnFamilyMapping) super.set(fieldName, value);
108+
}
109+
110+
@Override
111+
public ColumnFamilyMapping clone() {
112+
return (ColumnFamilyMapping) super.clone();
113+
}
114+
115+
}
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
/*
2+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
3+
* in compliance with the License. You may obtain a copy of the License at
4+
*
5+
* http://www.apache.org/licenses/LICENSE-2.0
6+
*
7+
* Unless required by applicable law or agreed to in writing, software distributed under the License
8+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
9+
* or implied. See the License for the specific language governing permissions and limitations under
10+
* the License.
11+
*/
12+
/*
13+
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
14+
* Modify at your own risk.
15+
*/
16+
17+
package com.google.api.services.pubsub.model;
18+
19+
/**
20+
* Row key definition based on fields from the message.
21+
*
22+
* <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
23+
* transmitted over HTTP when working with the Cloud Pub/Sub API. For a detailed explanation see:
24+
* <a href="https://developers.google.com/api-client-library/java/google-http-java-client/json">https://developers.google.com/api-client-library/java/google-http-java-client/json</a>
25+
* </p>
26+
*
27+
* @author Google, Inc.
28+
*/
29+
@SuppressWarnings("javadoc")
30+
public final class DelimitedKey extends com.google.api.client.json.GenericJson {
31+
32+
/**
33+
* Optional. Byte sequence used to delimit concatenated fields. Must be specified if multiple key
34+
* fields are used. The delimiter must contain at least 1 character and at most 50 characters.
35+
* The value may be {@code null}.
36+
*/
37+
@com.google.api.client.util.Key
38+
private java.lang.String delimiter;
39+
40+
/**
41+
* Optional. The key fields to construct from the row key. The fields must be present in the
42+
* message as a top-level field, i.e. JSON path expressions will not traverse into nested objects.
43+
* The value may be {@code null}.
44+
*/
45+
@com.google.api.client.util.Key
46+
private java.util.List<java.lang.String> keyFields;
47+
48+
/**
49+
* Optional. Byte sequence used to delimit concatenated fields. Must be specified if multiple key
50+
* fields are used. The delimiter must contain at least 1 character and at most 50 characters.
51+
* @see #decodeDelimiter()
52+
* @return value or {@code null} for none
53+
*/
54+
public java.lang.String getDelimiter() {
55+
return delimiter;
56+
}
57+
58+
/**
59+
* Optional. Byte sequence used to delimit concatenated fields. Must be specified if multiple key
60+
* fields are used. The delimiter must contain at least 1 character and at most 50 characters.
61+
* @see #getDelimiter()
62+
* @return Base64 decoded value or {@code null} for none
63+
*
64+
* @since 1.14
65+
*/
66+
public byte[] decodeDelimiter() {
67+
return com.google.api.client.util.Base64.decodeBase64(delimiter);
68+
}
69+
70+
/**
71+
* Optional. Byte sequence used to delimit concatenated fields. Must be specified if multiple key
72+
* fields are used. The delimiter must contain at least 1 character and at most 50 characters.
73+
* @see #encodeDelimiter()
74+
* @param delimiter delimiter or {@code null} for none
75+
*/
76+
public DelimitedKey setDelimiter(java.lang.String delimiter) {
77+
this.delimiter = delimiter;
78+
return this;
79+
}
80+
81+
/**
82+
* Optional. Byte sequence used to delimit concatenated fields. Must be specified if multiple key
83+
* fields are used. The delimiter must contain at least 1 character and at most 50 characters.
84+
* @see #setDelimiter()
85+
*
86+
* <p>
87+
* The value is encoded Base64 or {@code null} for none.
88+
* </p>
89+
*
90+
* @since 1.14
91+
*/
92+
public DelimitedKey encodeDelimiter(byte[] delimiter) {
93+
this.delimiter = com.google.api.client.util.Base64.encodeBase64URLSafeString(delimiter);
94+
return this;
95+
}
96+
97+
/**
98+
* Optional. The key fields to construct from the row key. The fields must be present in the
99+
* message as a top-level field, i.e. JSON path expressions will not traverse into nested objects.
100+
* @return value or {@code null} for none
101+
*/
102+
public java.util.List<java.lang.String> getKeyFields() {
103+
return keyFields;
104+
}
105+
106+
/**
107+
* Optional. The key fields to construct from the row key. The fields must be present in the
108+
* message as a top-level field, i.e. JSON path expressions will not traverse into nested objects.
109+
* @param keyFields keyFields or {@code null} for none
110+
*/
111+
public DelimitedKey setKeyFields(java.util.List<java.lang.String> keyFields) {
112+
this.keyFields = keyFields;
113+
return this;
114+
}
115+
116+
@Override
117+
public DelimitedKey set(String fieldName, Object value) {
118+
return (DelimitedKey) super.set(fieldName, value);
119+
}
120+
121+
@Override
122+
public DelimitedKey clone() {
123+
return (DelimitedKey) super.clone();
124+
}
125+
126+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
3+
* in compliance with the License. You may obtain a copy of the License at
4+
*
5+
* http://www.apache.org/licenses/LICENSE-2.0
6+
*
7+
* Unless required by applicable law or agreed to in writing, software distributed under the License
8+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
9+
* or implied. See the License for the specific language governing permissions and limitations under
10+
* the License.
11+
*/
12+
/*
13+
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
14+
* Modify at your own risk.
15+
*/
16+
17+
package com.google.api.services.pubsub.model;
18+
19+
/**
20+
* Row key definition that reads the input message fields based on the field names of the table's
21+
* structured row key ({$universe.dns_names.final_documentation_domain}/bigtable/docs/manage-row-
22+
* key-schemas). Note that if the field is nullable in the structured row key, then it need not be
23+
* present in the message; null will be used instead.
24+
*
25+
* <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
26+
* transmitted over HTTP when working with the Cloud Pub/Sub API. For a detailed explanation see:
27+
* <a href="https://developers.google.com/api-client-library/java/google-http-java-client/json">https://developers.google.com/api-client-library/java/google-http-java-client/json</a>
28+
* </p>
29+
*
30+
* @author Google, Inc.
31+
*/
32+
@SuppressWarnings("javadoc")
33+
public final class RowKeySchema extends com.google.api.client.json.GenericJson {
34+
35+
@Override
36+
public RowKeySchema set(String fieldName, Object value) {
37+
return (RowKeySchema) super.set(fieldName, value);
38+
}
39+
40+
@Override
41+
public RowKeySchema clone() {
42+
return (RowKeySchema) super.clone();
43+
}
44+
45+
}

‎clients/google-api-services-pubsub/v1/2.0.0/pom.xml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
<groupId>com.google.apis</groupId>
1010
<artifactId>google-api-services-pubsub</artifactId>
11-
<version>v1-rev20260915-2.0.0</version>
12-
<name>Cloud Pub/Sub API v1-rev20260915-2.0.0</name>
11+
<version>v1-rev20260924-2.0.0</version>
12+
<name>Cloud Pub/Sub API v1-rev20260924-2.0.0</name>
1313
<packaging>jar</packaging>
1414

1515
<inceptionYear>2011</inceptionYear>

‎clients/google-api-services-pubsub/v1/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Add the following lines to your `pom.xml` file:
2222
<dependency>
2323
<groupId>com.google.apis</groupId>
2424
<artifactId>google-api-services-pubsub</artifactId>
25-
<version>v1-rev20260915-2.0.0</version>
25+
<version>v1-rev20260924-2.0.0</version>
2626
</dependency>
2727
</dependencies>
2828
</project>
@@ -35,7 +35,7 @@ repositories {
3535
mavenCentral()
3636
}
3737
dependencies {
38-
implementation 'com.google.apis:google-api-services-pubsub:v1-rev20260915-2.0.0'
38+
implementation 'com.google.apis:google-api-services-pubsub:v1-rev20260924-2.0.0'
3939
}
4040
```
4141

0 commit comments

Comments
 (0)