小编tak*_*ala的帖子

使用S3 Java SDK与S3兼容存储(minio)通信

我正在尝试使用aws-sdk-java AwsS3client与minio存储进行通信.从CLI我可以做到:

aws --profile=minioplay  --endpoint-url https://play.minio.io:9000 s3 cp logback.xml s3://miniohstest-jixusroqeb --debug
Run Code Online (Sandbox Code Playgroud)

因此使用非默认配置文件和自定义端点.不知道如何从java sdk执行此操作(我能够吗?).我粗略地将上面的awscli命令翻译成这个scala片段:

val cred = ...
val endpoint = "https://play.minio.io:9000"
val client = AmazonS3ClientBuilder
      .standard()
      .withCredentials(cred)
      .withEndpointConfiguration(
        new EndpointConfiguration(
          endpoint,
          AwsHostNameUtils.parseRegion(endpoint, AmazonS3Client.S3_SERVICE_NAME)
        )
      )
      .build()
Run Code Online (Sandbox Code Playgroud)

使用上面的客户端我只能做出非常简单的请求,例如:

client.listBuckets().asScala.foreach(println(_))
Run Code Online (Sandbox Code Playgroud)

哪个有效.但是当我尝试做一些先进的事情时,例如:

val listRequest = new ListObjectsRequest()
      .withBucketName("miniohstest-jixusroqeb")
      //.withPrefix(r.getURI.getPath)
      //.withDelimiter(delimiter)

val res = client.listObjects(listRequest)
res.getObjectSummaries.forEach(x => println(x.getKey))
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常:

Exception in thread "main" com.amazonaws.SdkClientException: Unable to execute HTTP request: miniohstest-jixusroqeb.play.minio.io
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleRetryableException(AmazonHttpClient.java:1114)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1064)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java amazon-s3 aws-java-sdk

5
推荐指数
1
解决办法
759
查看次数

如何在 monix onErrorHandle 中处理未处理的异常抛出

我正在使用 monix 任务,并且尝试捕获 Throwable,然后转换为自定义错误。我已删除/更改代码以使其简单且相关。这是代码(问题在代码片段后面):

import io.netty.handler.codec.http.HttpRequest
import monix.reactive.Observable
import io.netty.buffer.ByteBuf
import monix.eval.Task
import com.mypackage.Response


private[this] def handler(
      request: HttpRequest,
      body: Observable[ByteBuf]
  ): Task[Response] = {

    val localPackage = for {
      failfast <- Task.eval(1 / 0)
    } yield failfast

    // Failure case.
    localPackage.onErrorRecoverWith {
        case ex: ArithmeticException =>
          print(s"LOG HERE^^^^^^^^^^^^^^^")
          return Task.now(
            Response(HttpResponseStatus.BAD_REQUEST,
                     None,
                     None)
          )
    }.runAsync

    // Success case.
    localPackage.map { x => 
       x match {
        case Right(cool) =>
          Response(
            HttpResponseStatus.OK,
            None,
            cool
          )
        case Left(doesntmatter) => ???
      }
  } …
Run Code Online (Sandbox Code Playgroud)

scala reactive-programming monix

2
推荐指数
1
解决办法
1465
查看次数

C#中的Tabcontrol页面清除所有控件

我有一个标签页,其中包含文本框,下拉菜单,复选框,以上所有组框和一些标签.现在我想在用户点击按钮时清除所有控件.我该如何实施呢?我搜索了很多,以为会有一个标准的库方法.我找到的只是一些for-each循环的方法(在组合框中不起作用.)请指导我如何处理这个问题.基本上我想要像Tabpage.load(); 它使标签处于初始状态.如果可能,我想保留特定的文本框.

.net c# winforms

1
推荐指数
1
解决办法
5383
查看次数