sách gpt4 ăn đã đi

Đã hết thời gian chờ kết nối Java GCP BigQuery Simba jdbc(Đã hết thời gian chờ kết nối Java GCP BigQuery Simba JDBC)

In lại Tác giả: trợ lý lỗi Thời gian cập nhật: 26-10-2023 21:07:17 31 4
mua khóa gpt4 giày nike



Tôi đang cố gắng kết nối GCP bigQuery từ local bằng simba jdbc nhưng gặp lỗi. Trước đây tôi gặp sự cố về quyền vai trò tài khoản dịch vụ, sự cố đã được giải quyết bằng cách thêm các vai trò cần thiết cho tài khoản dịch vụ

Tôi đang cố gắng kết nối với GCP BigQuery từ cục bộ bằng Simba JDBC nhưng tôi gặp lỗi. Trước đây tôi gặp vấn đề với quyền của vai trò tài khoản dịch vụ. Vấn đề này đã được giải quyết bằng cách thêm các vai trò cần thiết vào tài khoản dịch vụ


java.sql.SQLException: [Simba][BigQueryJDBCDriver](100004) Lỗi HttpTransport IO: Lỗi khi nhận mã thông báo truy cập cho tài khoản dịch vụ: kết nối đã hết thời gian chờ, iss: [email protected].
tại com.simba.googlebigquery.googlebigquery.client.BQClient.createAndTestClient(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.client.BQClient.authenticateAndTest(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.core.BQConnection.connect(Nguồn không xác định)
tại com.simba.googlebigquery.jdbc.common.BaseConnectionFactory.doConnect(Nguồn không xác định)
tại com.simba.googlebigquery.jdbc.common.AbstractDataSource.getSimbaConnection(Nguồn không xác định)
tại com.simba.googlebigquery.jdbc.common.AbstractDataSource.getConnection(Nguồn không xác định)
Nguyên nhân do: com.simba.googlebigquery.support.exceptions.GeneralException: [Simba][BigQueryJDBCDriver](100004) Lỗi HttpTransport IO: Lỗi khi nhận mã thông báo truy cập cho tài khoản dịch vụ: kết nối đã hết thời gian chờ, iss: [email protected].
... 6 cái nữa
Nguyên nhân do: com.simba.googlebigquery.googlebigquery.client.exceptions.JobExecutionErrorException: EXEC_JOB_EXECUTION_ERR
tại com.simba.googlebigquery.googlebigquery.client.requests.jobs.JobsInsertRequest.throwException(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.client.requests.AbstractRequestWithRetry.executeWithRetry(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.client.queryclient.QueryClient.executeDryRun(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.client.BQClient.prepare(Nguồn không xác định)
tại com.simba.googlebigquery.googlebigquery.client.BQClient.createAndTestClient(Unk

nhập com.simba.googlebigquery.jdbc42.DataSource;

nhập java.sql.Connection;
nhập java.sql.SQLException;

lớp công khai TEstConnection {
public static void main(String[] args) {
System.out.println("Kiểm tra kết nối");

Kết nối kết nối = null;
Nguồn dữ liệu ds = mới
com.simba.googlebigquery.jdbc42.DataSource();
ds.setProjectId("xxx");
ds.setOAuthPvtKeyFilePath("C:\\Users\\xx\\UI\\GCP\\devgcp.json");
ds.setOAuthType(0);
ds.setOAuthServiceAcctEmail("[email protected]");
ds.setURL("jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443");
ds.setTimeout(40000000L);
thử {
kết nối = ds.getConnection();
} bắt (SQLException e) {
e.printStackTrace();
}
}
}

Tài khoản dịch vụ đã yêu cầu quyền vai trò nhưng tôi vẫn gặp lỗi

Tài khoản dịch vụ yêu cầu quyền vai trò nhưng tôi vẫn gặp lỗi


Thêm câu trả lời
Khuyến nghị câu trả lời tuyệt vời

Có hai cách xác thực tài khoản dịch vụ của bạn. Bạn có thể đã thực hiện một trong hai cách sau: OAuth 2.0Tài khoản dịch vụ dựa trên xác thực
Và bạn có thể muốn thực hiện xác thực lại.

Có hai cách để xác minh tài khoản dịch vụ của bạn. Bạn có thể đã thực hiện một trong hai loại xác thực sau: OAuth 2.0 và xác thực dựa trên tài khoản dịch vụ và bạn có thể muốn thực hiện lại xác thực.


Đây là URL để sử dụng để kết nối với Google BigQuery bằng cách sử dụng Tiến trình DataDirect BigQuery JDBC Connector sử dụng xác thực dựa trên Tài khoản dịch vụ.

Dưới đây là URL để kết nối với Google BigQuery bằng cách sử dụng xác thực dựa trên tài khoản dịch vụ bằng trình kết nối JDBC Progress DataDirect BigQuery.


jdbc:datadirect:googlebigquery:AuthenticationMethod=serviceaccount;Project=your-project-id;Dataset=your-dataset;[email protected];ServiceAccountPrivateKey=/đường dẫn/đến/tệp-khóa-json

Để xác thực tài khoản dịch vụ thông qua OAuth 2.0, cần có mã thông báo truy cập và làm mới. Để có được mã thông báo, ID khách hàng OAuth phải được tạo ra để có được ID khách hàngBí mật của khách hàng cần thiết để có được mã ủy quyền. Đây là bản đầy đủ và chi tiết hướng dẫn về cách xác thực thông qua OAuth 2.0.

Để xác thực tài khoản dịch vụ qua OAuth 2.0, cần có mã thông báo truy cập và làm mới. Để nhận được mã thông báo, bạn phải tạo ID ứng dụng khách OAuth để lấy ID ứng dụng khách và bí mật ứng dụng khách cần thiết để lấy mã ủy quyền. Dưới đây là hướng dẫn đầy đủ và chi tiết về cách xác thực bằng OAuth 2.0.


Thêm câu trả lời
31 4 0
trợ lý lỗi
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress