问题标签 [aws-sdk-java-2.0]

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 投票
2 回答
1223 浏览

java - 适用于 Java 的 AWS 开发工具包版本 2 - 删除 S3“文件夹”或删除多个 S3 对象

我正在搜索如何使用 AWS SDK for Java 版本 2 删除 S3文件夹。我只设法找到 AWS SDK 版本 1 示例。

我知道 S3 是一个对象存储,并且不存在文件夹的概念。我的意思是:

  • 列出具有给定前缀的给定存储桶的 S3 对象
  • 使用 a 删除返回的对象DeleteObjectsRequest,以便能够在对 AWS API 的单个 HTTP 调用中删除多达 1000 个对象

当我在搜索示例时,我会经常返回此页面:https ://docs.aws.amazon.com/AmazonS3/latest/dev/DeletingMultipleObjectsUsingJava.html这似乎是适用于 Java 的 AWS 开发工具包的版本 1这是使用的。至少,就我而言,我导入了 AWS SDK 2,并且无法直接实例化DeleteObjectsRequest,如本示例所示。我被迫使用构建器然后我找不到相同的方法来指定要删除的键列表。

0 投票
2 回答
2750 浏览

amazon-web-services - 如何在 Json 和 Map 之间进行转换

我想使用 AWS Java SDK 2.0 将编码为 Json 字符串的对象保存到 DynamoDB。

在 AWS Java SDK 1.n 中,可以AttributeValues使用Item.fromJSON(myJsonString).toAttributeValues().

虽然可以同时使用两个 SDK,AttributeValue但两个 SDK 版本(1.112.0)定义的并不相同,不能互换使用。

是否有任何 AWS 提供的或社区标准的方法可以从 json 字符串/blob 转换Map<String, AttributeValue>为 AWS Java SDK 2.0?


请注意 - 这个问题是关于如何解决AWS Java SDK 2.0的问题,而不是 AWS Java SDK 1.n 的 dynamodbv2 模型。如果您认为这个问题是重复的,请仔细检查它重复的问题/答案的 SDK 版本。

0 投票
0 回答
37 浏览

aws-java-sdk - 覆盖 AWS SDK for Java 2 中的默认 SdkClientOption.SCHEDULED_EXECUTOR_SERVICE

有没有办法可以覆盖SdkClientOption.SCHEDULED_EXECUTOR_SERVICEAWS SDK for Java 2 中的默认设置?我想摆脱对应用程序不透明的所有线程池,并确保在所有非阻塞上下文中重用线程池。

0 投票
1 回答
28 浏览

aws-sdk-java-2.0 - AmazonAutoScalingAsync 客户端看不到 ASG(自动扩展组)

我已经设置了 AmazonAutoScalingAsync 客户端以及许多其他客户端,但我无法检索现有的 ASG。

然后我按如下方式构建自动缩放客户端:

这些与我从 AWS 控制台执行的步骤相同,但在 Java 代码上看不到相同的结果。

有什么想法吗?

0 投票
0 回答
179 浏览

amazon-web-services - 如何根据上次修改时间从 java sdk 获取 aws s3 对象元数据

我需要根据 Java SDK 的最后修改时间获取对象元数据

我可以从 AWS CLI 获取基于上次修改时间的数据,但我需要来自 java SDK 的相同内容

我使用以下命令获取数据

回应是:

]

我期待来自 AWS s3 SDK 的相同响应

谢谢你的时间。

0 投票
1 回答
3560 浏览

java - 如何将 Project Reactor 的调度程序与基于 Executor 的库一起使用?

Project Reactor 通过定义Scheduler. 它还为使用CompletableFuture's 的库提供了一个桥梁Mono.fromFuture(..)

AWS 的DyanmoDB 异步客户端执行CompletableFuture从 API 调用返回的java.util.concurrent.Executor. 默认情况下,它会创建一个Executor由它也创建的线程池支持的线程池。结果是,即使是定义为Schedulerlike的流也会Mono.fromFuture(..).subscribeOn(Schedulers.boundedElastic())在库创建的池中的线程上执行,而不是来自Schedulers.boundedElastic(). 所以我们看到线程名称像sdk-async-response-0-2,而不是像boundedElastic-1.

幸运的是,图书馆允许我们提供我们自己的Executor,如此处所示,所以我的问题是:

您如何构建一个在运行时使用流的该部分定义Executor的线程的线程?Scheduler

用例

我们有一个存储库类,它有一个findById方法,我们需要调用者能够控制在哪个Scheduler上运行,因为它在这些截然不同的上下文中使用:

  1. Schedulers.boundedElastic()在调度程序上运行的 API 响应。
  2. 处理从定义的调度程序按顺序在每个分区的线程上执行的 Kafka 消息,如Reactor Kafka 文档中所示。

尝试

我们已经尝试定义一个Executorusing bothSchedulers.immediate()Runnable::run,如图所示,但两者都导致在 Netty 事件循环线程(示例名称:)上执行aws-java-sdk-NettyEventLoop-0-2,而不是在定义的线程上执行Scheduler

0 投票
1 回答
516 浏览

amazon-web-services - S3Exception with AWS SDK for Java version 2 - 我们计算的请求签名与您提供的签名不匹配

我正在尝试使用AWS SDK for Java version 2. 得到以下异常:

我的代码片段:

pom.xml 条目:

堆栈跟踪:

我已经验证了我的 AWS 凭证并且我的账户具有 PowerUser 访问权限。我查看了以下链接,但它没有帮助,因为我正在使用“AwsSessionCredentials”类

  1. https://stackoverflow.com/a/30519762/948268 - 提到以句点开头的键。
  2. https://github.com/aws/aws-sdk-js/issues/86 - 讨论确保正确编码 URI 查询字符串参数值。但就我而言,我使用的是AwsSessionCredentials类。

还将问题发布在:https ://github.com/aws/aws-sdk-java-v2/issues/1767

0 投票
1 回答
385 浏览

java - 使用 aws java sdk 创建 mediaconvert 作业时出现 ForbiddenException

我想使用 aws mediaconvert 服务进行视频拼接。拥有一个 AWS 付费账户,可以访问 mediaConvert 服务。能够通过 mediaConvert 控制台创建视频拼接作业。现在我正在尝试使用 AWS java SDK 做同样的事情。将所有权限分配给 IAM 用户并为 mediaConvert 服务创建角色。

这样做时,我收到以下错误

com.amazonaws.services.mediaconvert.model.ForbiddenException:您必须使用订阅 API 为您的帐户订阅服务,然后才能使用此操作。

堆栈跟踪:

0 投票
1 回答
415 浏览

amazon-web-services - ECS EC2 环境中的 AWS Java SDK 异步客户端

我尝试将 java 服务从 beanstalk 迁移到 ECS。不幸的是,使用的异步客户端似乎不能以这种方式工作。我还尝试更新到最新版本(software.amazon.awssdk:bom:2.13.8)但没有效果。

为了进行测试,我使用普通客户端创建了一个端点,并为 和 启用了调试日志com.amazonaws.request记录software.amazon.awssdk

使用普通客户端,它按预期工作,我在日志文件中看到以下过程

在异步客户端中,请求立即以错误结束Channel was closed before it could be written to.

两个客户端都是在没有特殊配置的情况下创建的。 DynamoDbAsyncClient.create();

有人能告诉我如何避免这个错误吗?

0 投票
2 回答
523 浏览

json - 将 Dynamo Document.Item 迁移到 aws-sdk-java-v2

有谁知道“com.amazonaws.services.dynamodbv2.document.Item”、item.fromJSON() 和 Item.toJSON() 在 aws-sdk-java-v2 中的位置?

我正在寻找迁移以下代码:

-- 从 v1 --

-- 到 v2 --