0
Google Cloud Storageにあらゆる種類のファイル(BZ2、csv、txtなど)をアップロードするScalaアプリケーションを作成しました。Google Cloud StorageにsignUrlでファイルをアップロードしてアプリケーションを使用する
ダイレクトアップロードは小さなファイルでは問題なく、大きなファイルをアップロードする場合は「signUrl」を使用することをお勧めします。これはファイルを作成していないか、ファイルを作成する前にファイルを更新するか、エラーの例外。
val storage: Storage = StorageOptions.getDefaultInstance.getService
val fileContent = Files.readAllBytes(file.toPath)
val fileId: BlobId = BlobId.of(bucketName, s"$folderName/$fileName")
val fileInfo: BlobInfo = BlobInfo.newBuilder(fileId).build()
storage.create(fileInfo, fileContent)
ドント作業:
val storage: Storage = StorageOptions.getDefaultInstance.getService
val outputPath = s"$folderName/$fileName"
val fileInfo: BlobInfo = BlobInfo.newBuilder(bucketName, outputPath).build()
val optionWrite: SignUrlOption = Storage.SignUrlOption.httpMethod(HttpMethod.PUT)
val signedUrl: URL = storage.signUrl(fileInfo, 30, TimeUnit.MINUTES, optionWrite)
val connection = signedUrl.openConnection
connection.setDoOutput(true)
val out = connection.getOutputStream
val inputStream = Files.newInputStream(file.toPath)
var nextByte = inputStream.read()
while (nextByte != -1) {
out.write(nextByte)
nextByte = inputStream.read()
}
out.flush()
inputStream.close()
out.close()
私は読んでみてください/バイトによる書き込みバイト、使用してバイトの配列、およびOutputStreamWriterをどちらも仕事を使用して、小さなファイルと
作品。 - 私が使用して
ライブラリがある:これが機能しない理由
"com.google.cloud" % "google-cloud-storage" % "1.12.0"
誰もが知っていますか? ありがとう
どのようなエラーが表示されますか?最も詳細な情報を提供します。 – Ossip
エラーはありません。そのため、他に何か変更や検索が必要なのか分かりません。 実行は例外なく終了しますが、ストレージに何もしません(ファイルを作成したりファイルを更新していない場合) – Marino
探していないのでエラーは表示されません。 403禁止されても例外はスローされません。 connection.getResponseCode()を呼び出してみてください。 –