问题标签 [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.
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,如本示例所示。我被迫使用构建器然后我找不到相同的方法来指定要删除的键列表。
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.11、2.0)定义的并不相同,不能互换使用。
是否有任何 AWS 提供的或社区标准的方法可以从 json 字符串/blob 转换Map<String, AttributeValue>
为 AWS Java SDK 2.0?
请注意 - 这个问题是关于如何解决AWS Java SDK 2.0的问题,而不是 AWS Java SDK 1.n 的 dynamodbv2 模型。如果您认为这个问题是重复的,请仔细检查它重复的问题/答案的 SDK 版本。
aws-java-sdk - 覆盖 AWS SDK for Java 2 中的默认 SdkClientOption.SCHEDULED_EXECUTOR_SERVICE
有没有办法可以覆盖SdkClientOption.SCHEDULED_EXECUTOR_SERVICE
AWS SDK for Java 2 中的默认设置?我想摆脱对应用程序不透明的所有线程池,并确保在所有非阻塞上下文中重用线程池。
aws-sdk-java-2.0 - AmazonAutoScalingAsync 客户端看不到 ASG(自动扩展组)
我已经设置了 AmazonAutoScalingAsync 客户端以及许多其他客户端,但我无法检索现有的 ASG。
然后我按如下方式构建自动缩放客户端:
这些与我从 AWS 控制台执行的步骤相同,但在 Java 代码上看不到相同的结果。
有什么想法吗?
amazon-web-services - 如何根据上次修改时间从 java sdk 获取 aws s3 对象元数据
我需要根据 Java SDK 的最后修改时间获取对象元数据
我可以从 AWS CLI 获取基于上次修改时间的数据,但我需要来自 java SDK 的相同内容
我使用以下命令获取数据
回应是:
]
我期待来自 AWS s3 SDK 的相同响应
谢谢你的时间。
java - 如何将 Project Reactor 的调度程序与基于 Executor 的库一起使用?
Project Reactor 通过定义Scheduler
. 它还为使用CompletableFuture
's 的库提供了一个桥梁Mono.fromFuture(..)
。
AWS 的DyanmoDB 异步客户端执行CompletableFuture
从 API 调用返回的java.util.concurrent.Executor
. 默认情况下,它会创建一个Executor
由它也创建的线程池支持的线程池。结果是,即使是定义为Scheduler
like的流也会Mono.fromFuture(..).subscribeOn(Schedulers.boundedElastic())
在库创建的池中的线程上执行,而不是来自Schedulers.boundedElastic()
. 所以我们看到线程名称像sdk-async-response-0-2
,而不是像boundedElastic-1
.
幸运的是,图书馆允许我们提供我们自己的Executor
,如此处所示,所以我的问题是:
您如何构建一个在运行时使用流的该部分定义
Executor
的线程的线程?Scheduler
用例
我们有一个存储库类,它有一个findById
方法,我们需要调用者能够控制在哪个Scheduler
上运行,因为它在这些截然不同的上下文中使用:
Schedulers.boundedElastic()
在调度程序上运行的 API 响应。- 处理从定义的调度程序按顺序在每个分区的线程上执行的 Kafka 消息,如Reactor Kafka 文档中所示。
尝试
我们已经尝试定义一个Executor
using bothSchedulers.immediate()
和Runnable::run
,如图所示,但两者都导致在 Netty 事件循环线程(示例名称:)上执行aws-java-sdk-NettyEventLoop-0-2
,而不是在定义的线程上执行Scheduler
。
amazon-web-services - S3Exception with AWS SDK for Java version 2 - 我们计算的请求签名与您提供的签名不匹配
我正在尝试使用AWS SDK for Java version 2
. 得到以下异常:
我的代码片段:
pom.xml 条目:
堆栈跟踪:
我已经验证了我的 AWS 凭证并且我的账户具有 PowerUser 访问权限。我查看了以下链接,但它没有帮助,因为我正在使用“AwsSessionCredentials”类
- https://stackoverflow.com/a/30519762/948268 - 提到以句点开头的键。
- https://github.com/aws/aws-sdk-js/issues/86 - 讨论确保正确编码 URI 查询字符串参数值。但就我而言,我使用的是AwsSessionCredentials类。
java - 使用 aws java sdk 创建 mediaconvert 作业时出现 ForbiddenException
我想使用 aws mediaconvert 服务进行视频拼接。拥有一个 AWS 付费账户,可以访问 mediaConvert 服务。能够通过 mediaConvert 控制台创建视频拼接作业。现在我正在尝试使用 AWS java SDK 做同样的事情。将所有权限分配给 IAM 用户并为 mediaConvert 服务创建角色。
这样做时,我收到以下错误
com.amazonaws.services.mediaconvert.model.ForbiddenException:您必须使用订阅 API 为您的帐户订阅服务,然后才能使用此操作。
堆栈跟踪:
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();
有人能告诉我如何避免这个错误吗?
json - 将 Dynamo Document.Item 迁移到 aws-sdk-java-v2
有谁知道“com.amazonaws.services.dynamodbv2.document.Item”、item.fromJSON() 和 Item.toJSON() 在 aws-sdk-java-v2 中的位置?
我正在寻找迁移以下代码:
-- 从 v1 --
-- 到 v2 --