Tag: 亚马逊S3

使用谷歌云存储将数据从gcs传输到s3

我正在制作一个小应用程序,将数据从BigQuery导出到google-cloud-storage,然后将其复制到aws s3中,但无法找到如何在python中执行此操作。 我已经写了kotlin的代码(因为这对我来说是最简单的,我的问题范围之外的原因,我们希望它运行在python),在google sdk允许我从Blob对象得到一个InputSteam ,然后我可以注入到amazon s3 sdk's AmazonS3.putObject(String bucketName, String key, InputStream input, ObjectMetadata metadata) 。 与python sdk似乎我只有选择下载文件到一个文件和一个字符串。 我想(就像我在kotlin中那样)将Blob对象返回的一些对象传递给AmazonS3.putObject()方法,而不必先将内容保存为文件。 我不是一个Python专家,所以我可能已经错过了一个明显的方式做到这一点。

AWS S3未解决的超类型:TransferListener在顶级类Kotlin中

我只是更新了Android Studio到3.0-beta2以及所有的构建工具。 我遇到了一个奇怪的编译错误,我有一个MediaUploader类实现了TransferListener接口(这个用于编译)。 当我使用: class MediaUploader: TransferListener { … } 我得到这个错误: e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath: class com.example.sdk.utils.MediaUploader, unresolved supertypes: com.amazonaws.mobileconnectors.s3.transferutility.TransferListener 如果我在MediaUploader中创建一个实例,一切工作: class MediaUploader { private val listener = object: TransferListener { … } } 有谁知道为什么这可能会发生? 如果可能的话,我想避免创建额外的对象(更多为组织的原因)。

并行S3文件通过Kotlin协程上传

我需要上传许多文件到S3,这将需要数小时才能顺利完成这项工作。 这正是Kotlin的新协程所擅长的,所以我想给他们一个尝试,而不是再次用一些基于线程的执行服务来摆弄。 这是我的(简体)代码: fun upload(superTiles: Map<Int, Map<Int, SuperTile>>) = runBlocking { val s3 = AmazonS3ClientBuilder.standard().withRegion("eu-west-1").build() for ((x, ys) in superTiles) { val jobs = mutableListOf<Deferred<Any>>() for ((y, superTile) in ys) { val job = async(CommonPool) { uploadTile(s3, x, y, superTile) } jobs.add(job) } jobs.map { it.await() } } } suspend fun uploadTile(s3: AmazonS3, x: Int, […]

是否有在Kotlin中创建S3的预先签名的URL的示例工作代码

有没有在Kotlin上创建S3的预先签名的URL的示例工作代码? 我可以适应从Java的例子吗?