in Sources/XCMetricsBackendLib/UploadMetrics/Repository/LogFileS3Repository.swift [49:65]
func put(logFile: File) throws -> URL {
let data = Data(logFile.data.xcm_onlyFileData().readableBytesView)
let putObjectRequest = S3.PutObjectRequest(acl: .private,
body: data,
bucket: bucketName,
contentLength: Int64(data.count),
key: logFile.filename)
let fileURL = try s3.putObject(putObjectRequest)
.map { _ -> URL? in
return URL(string: "s3://\(bucketName)/\(logFile.filename)")
}.wait()
guard let url = fileURL else {
throw RepositoryError.unexpected(message: "Invalid url of \(logFile.filename)")
}
return url
}