问题标签 [aws-java-sdk-2.x]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18 浏览

hadoop - org.apache.hadoop.fs.Path 未列出 unix EC2 上的所有 s3 文件

我正在使用 Flink 并在 s3 存储桶上读取/写入镶木地板文件。

我的窗口代码是列出业务文件夹下的所有镶木地板文件并获取文件列表。

当在 unix 框中移动相同的代码时,它对于单个文件(完整路径)工作正常,但是没有读取 s3 文件夹下的所有镶木地板文件并在文件列表中获取 null(尝试了所有 s3、s3a 和 s3n)

方法将路径读取为字符串

0 投票
0 回答
44 浏览

amazon-web-services - PUTOBJECT 请求中的 AWS SDK 2.x 问题。无法添加标题

我们最近从 AWS SDK 1.x 迁移到 Java 2.x 并且 AWS S3 的 put 操作没有发生。S3 存储桶已启用加密(使用 AWS KMS 密钥)。

下面是我尝试使用的代码,但我收到下面提到的错误

使用 AWS KMS 托管密钥进行服务器端加密需要 HTTP 标头 x-amz-server-side-encryption:aws:kms(服务:S3,状态代码:400,请求 ID:xxx,扩展请求 ID:xxx/rY9ydIzxi3NROPiM=)

更新:我自己想通了。因此,任何想要受益于使用 KMS 密钥和 AWS SDK 2.x for Java 连接到 AWS S3 存储桶的人都可以使用下面的代码,它应该可以工作

0 投票
0 回答
28 浏览

aws-java-sdk-2.x - AWS 无法验证 AWS Java SDK 2 上提供的访问凭证

我在 AWS Java SDK 2 上使用以下代码:

这失败并出现以下错误:

但是,以下适用于 AWS Java SDK V1:

线程讨论了时间同步问题,我已经处理了它。

0 投票
1 回答
14 浏览

amazon-kms - 问题:aws-encryption-sdk-java 版本 2.3.3 出现凭证问题

我们正在尝试使用基于配置文件的凭据设置在本地测试解密登录。我KMSMasterKeyProvider.withCredentialsProfileCredentialsProvider. 在这样做的过程中,我意识到aws-encryption-sdk-java 2.3.3版本内部使用aws-java-sdk 1.x版本。这是一种僵局,因为我们已经在aws-java-sdk 2.x

关于我们如何克服这个问题的任何建议?有趣的是,亚马逊仍然没有将 aws 加密 SDK 完全迁移到2.x.

0 投票
0 回答
35 浏览

amazon-dynamodb - AWS SDK 2.x 中的 InternalUtils 和 ItemUtils 类在哪里?

使用 Java 将 DynamoDB JSON 转换为标准 JSON问题的答案在 2022 年已过时。

问题是这两个导入都不再起作用:

import com.amazonaws.services.dynamodbv2.document.internal.InternalUtils;

import com.amazonaws.services.dynamodbv2.document.ItemUtils;

会发生什么:导入失败。

您还可以在此处的文档中验证它:https ://sdk.amazonaws.com/java/api/latest/index.html?software/amazon/awssdk/services/dynamodb/package-summary.html

问题是,在 SDK 2.x 中哪些类替换了这两个类?

0 投票
0 回答
17 浏览

java - DynamoDB 不支持 PutItem 请求中的条件表达式

我正在尝试有条件地将项目写入 DynamoDB 表。

我正在使用AWS SDK for Java 2.x。下面是我的代码:

如上面代码中的注释所示,我的代码抛出一个IllegalArgumentException

java.lang.IllegalArgumentException:映射器扩展在 PutItem 请求中插入了 conditionExpression,作为 BatchWriteItemRequest 的一部分。DynamoDb 不支持此功能。一个已知的扩展是 VersionedRecordExtension 除非被覆盖,否则默认加载。要解决此问题,请使用其中没有版本化属性或不加载违规扩展的表模式。

以下是一些类型信息:

  • putItemRequest是一个software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest对象
  • batch是一个software.amazon.awssdk.enhanced.dynamodb.model.WriteBatch对象
  • batchWriteRequest是一个software.amazon.awssdk.enhanced.dynamodb.model.BatchWriteItemEnhancedRequest对象
  • eDDBClient是一个software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedAsyncClient对象

如何正确有条件地将项目写入 DynamoDB?