Вы можете использовать Google Cloud Storage (GCS), даже если gsutil обрабатывает подкаталоги по-другому , поскольку ведет себя как обычная папка и использует те же обозначения.
Я не уверен в том, как работает ваше приложение, но если я правильно угадываю:
- Загрузите библиотеку JWI в облачную оболочку.
- Импорт библиотеки в приложении Scala в App Engine Flexible.Найдите пример здесь о том, как вызывать класс Java с использованием Scala.
- Развернуть приложение.Следуя предыдущим шагам, развернутый образ будет содержать нужную вам библиотеку JWI.
- Загрузите семантический словарь Wordnet в корзину и передайте корневую папку Wordnet, в данном случае папку GCS, используя Клиентская библиотека Java для API Google Cloud Storage.«Словарь» должен быть загружен (используя функцию get) и сохранен локально, пока вы его используете.
Найдите здесь документацию по клиентской библиотеке Java для облачного хранилища.Вам может понадобиться больше функций, чем те, которые я написал для вас ниже, чтобы создать корзину, загрузить файл и загрузить его.
package com.example.storage;
// Imports the Google Cloud client library
import com.google.cloud.storage.Acl;
import com.google.cloud.storage.Acl.Role;
import com.google.cloud.storage.Acl.User;
import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.BucketInfo;
import com.google.cloud.storage.Blob;
import com.google.cloud.storage.BlobId;
import com.google.cloud.storage.BlobInfo;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
public class QuickstartSample {
public static void main(String... args) throws Exception {
// Instantiates a client
Storage storage = StorageOptions.getDefaultInstance().getService();
// The name for the new bucket
String bucketName = args[0]; // "my-new-bucket";
// Creates the new bucket
Bucket bucket = storage.create(BucketInfo.of(bucketName));
System.out.printf("Bucket %s created.%n", bucket.getName());
// [START uploadFile]
// Object name
String fileName="filename.ext";
// Create file inside the bucket
BlobInfo blobInfo =
storage.create(
BlobInfo
.newBuilder(bucketName, fileName)
// Modify access list to allow all users with link to read file
.setAcl(new ArrayList<>(Arrays.asList(Acl.of(User.ofAllUsers(), Role.READER))))
.build()
// other options required
);
// return the public download link
blobInfo.getMediaLink();
// [END uploadFile]
// Copy file from a bucket
String blobName = "filename.ext";
BlobId blobId = BlobId.of(bucketName, blobName);
Blob blob = storage.get(blobId);
}
Наконец, найдите здесь , как скомпилировать код и запустить его:
mvn clean package -DskipTests
mvn exec:java -Dexec.mainClass=com.example.storage.QuickstartSample -Dexec.args="bucketName"