凭据 Java 应用程序连接到 google 云数据存储
Credentials Java application connect to google cloud datastore
我正在编写一个本地 java 应用程序来访问我的 google 数据存储。我按照这里的教程 http://googlecloudplatform.github.io/gcloud-java/0.2.0/index.html
这是我的基本代码
package myproject;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import com.google.cloud.AuthCredentials;
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;
import com.google.cloud.datastore.KeyFactory;
public class Main {
private String projID = "myID";
public static void main(String[] args) throws IOException {
System.out.println("correct");
Main test = new Main();
Datastore dstore = test.getDatastore();
KeyFactory keyFactory = dstore.newKeyFactory().kind("keyKind");
Key key = keyFactory.newKey("keyName");
Entity entity = Entity.builder(key)
.set("name", "John Doe")
.set("age", 30)
.build();
dstore.put(entity);
}
private Datastore getDatastore() throws IOException {
File file = new File("./resource/mycredential.json");
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
System.out.println("Total file size to read (in bytes) : "
+ fis.available());
} catch (IOException e) {
e.printStackTrace();
}
DatastoreOptions options = DatastoreOptions.builder()
.projectId(projID)
.authCredentials(AuthCredentials.createForJson(fis)).build();
Datastore datastore = options.service();
return datastore;
}
}
我从云控制台创建了 json 凭据密钥。在我 运行 程序之后,它显示 com.google.datastore.v1beta3.client.DatastoreFactory makeClient
??: 不使用任何凭据
我真的被困在这里了。如何创建正确的凭证并正确使用它?
提前致谢。
这是 "INFO" 消息,没有任何意义。我同意这令人困惑,但每次我启动本地程序时都会显示此消息,该程序工作正常 - 连接到数据存储、检索和保存数据等。
我正在编写一个本地 java 应用程序来访问我的 google 数据存储。我按照这里的教程 http://googlecloudplatform.github.io/gcloud-java/0.2.0/index.html
这是我的基本代码
package myproject;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import com.google.cloud.AuthCredentials;
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;
import com.google.cloud.datastore.KeyFactory;
public class Main {
private String projID = "myID";
public static void main(String[] args) throws IOException {
System.out.println("correct");
Main test = new Main();
Datastore dstore = test.getDatastore();
KeyFactory keyFactory = dstore.newKeyFactory().kind("keyKind");
Key key = keyFactory.newKey("keyName");
Entity entity = Entity.builder(key)
.set("name", "John Doe")
.set("age", 30)
.build();
dstore.put(entity);
}
private Datastore getDatastore() throws IOException {
File file = new File("./resource/mycredential.json");
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
System.out.println("Total file size to read (in bytes) : "
+ fis.available());
} catch (IOException e) {
e.printStackTrace();
}
DatastoreOptions options = DatastoreOptions.builder()
.projectId(projID)
.authCredentials(AuthCredentials.createForJson(fis)).build();
Datastore datastore = options.service();
return datastore;
}
}
我从云控制台创建了 json 凭据密钥。在我 运行 程序之后,它显示 com.google.datastore.v1beta3.client.DatastoreFactory makeClient ??: 不使用任何凭据
我真的被困在这里了。如何创建正确的凭证并正确使用它? 提前致谢。
这是 "INFO" 消息,没有任何意义。我同意这令人困惑,但每次我启动本地程序时都会显示此消息,该程序工作正常 - 连接到数据存储、检索和保存数据等。