googleapis / googleapis/google-cloud-java

[java-bigquery] Improve documentation: It's unclear how to conenct to a local emulator

Đang mở
#12,160 4 bình luận 3 reaction 1 người được giao Được @agrawal-siddharth nhận Xem trên GitHub
api: bigquery priority: p3
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
157

Mô tả

We are testing the interaction with BigQuery using Testcontainers and their [glcoud module](https://java.testcontainers.org/modules/gcloud/).
Internally, this will use the [BigQuery emulator from goccy](https://github.com/goccy/bigquery-emulator).

Although everything is ok for the REST Api and we can test everything related to it using this setup, setting up a [JsonStreamWriter](https://cloud.google.com/bigquery/docs/write-api-streaming) that connects to the emulator via grpc it's pretty hard to achieve. (Same question was asked in this [StackOverflow post](https://stackoverflow.com/questions/76541932/integration-tests-with-bigquerys-jsonstreamwriter-in-java))

I couldn't find anything related to this in the official documentation or in the Javadocs. What we need is to understand how to configure the Java client to point to the container started locally.

I have tried a few different configurations like this:
```java
JsonStreamWriter writer = JsonStreamWriter.newBuilder(
TableName.of(BQ_DATASET, BQ_PROJECT, BQ_TABLE).toString(),
BigQueryWriteClient.create(
BigQueryWriteSettings.newBuilder()
.setTransportChannelProvider(
FixedTransportChannelProvider.create(
GrpcTransportChannel.create(
NettyChannelBuilder.forTarget("localhost:9060")
.usePlaintext()
.build()
)
)
)
.setCredentialsProvider(NoCredentialsProvider.create())
.build()
)
).build();
```

Would it be possible to update the docs or the GitHub repo and provide an example of how can this be achieved?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.