Google Cloud Storage에 모든 유형의 파일 (BZ2, csv, txt 등)을 업로드하는 기능의 일부로 스칼라 응용 프로그램을 만들었습니다.signUrl을 사용하여 Google Cloud Storage에 파일 업로드 및 응용 프로그램 사용
직접 업로드를 사용하면 작은 파일에는 잘 작동하지만 큰 파일을 업로드하려면 Google에서 "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
찾고 있지 않기 때문에 오류가 표시되지 않습니다. A 403 금지됨은 예외를 발생시키지 않습니다. connection.getResponseCode()를 호출 해보십시오. –