【问题标题】:How to query s3 using select如何使用 select 查询 s3
【发布时间】:2023-01-04 21:59:08
【问题描述】:

我在 gradle 中设置了以下内容

   implementation(platform("software.amazon.awssdk:bom:2.18.25"))
    implementation("software.amazon.awssdk:s3")
    implementation("software.amazon.awssdk:url-connection-client")

我的代码如下:

S3Client client = S3Client.builder()
        .region(Region.of("eu-west-1"))
        .credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("xxxxxxxx", "xxxxxxx")))
        .httpClient(UrlConnectionHttpClient.builder().buildWithDefaults(
                AttributeMap.builder().put(TRUST_ALL_CERTIFICATES, Boolean.TRUE).build()))
        .build();

我正在尝试发出查询请求

SelectObjectContentRequest request = SelectObjectContentRequest.builder()
.bucket(bucket)
.key(key)
.expression(query)
.expressionType(ExpressionType.SQL)
        .build();

这是我被卡住的地方,因为我不确定我应该使用哪个 s3 客户端。我一直在使用上面的客户端——S3Client.builder。但这没有任何方法将 SelectObjectContentRequest 作为请求对象。

我需要将客户端更改为 AmazonS3 客户端 AmazonS3ClientBuilder 吗? 我正在使用 sdk 的 v2。

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-sdk-java-2.0 aws-s3-client


    【解决方案1】:

    实际上这个功能不可用 https://github.com/aws/aws-sdk-java-v2/issues/859

    完成的合并请求 https://github.com/aws/aws-sdk-java-v2/pull/2943 仅支持 xml 协议

    【讨论】:

      猜你喜欢
      • 2023-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多