问题标签 [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 回答
559 浏览

java - 模拟 aws-sdk-java 2.0

我正在尝试测试我的 AWS Lambda 函数,但我不知道如何使用 Mockito 模拟 2.0 SDK。基本上,我想要的只是创建几个 DBSnapshot 模拟并在它们上设置一些测试信息(快照名称和创建时间对于我的目的来说已经足够了)。

如果我使用“new”运算符创建一个新的 DBSnapshot,我似乎无法在其上设置任何参数,甚至无法模拟构建器并请求创建一个。

在 1.0 SDK 中,我可以模拟一个 DBSnapshot 并设置各种“.withBlah”参数,如下所示:

但这里似乎不可能,因为 2.0 重写通过构建器强制所有内容,我现在不知道如何模拟它。谷歌搜索没有特别针对 2.0 SDK/RDS 的任何代码示例。

有任何想法吗?

0 投票
1 回答
490 浏览

java - AsyncFutureCompletionExecutor vs Netty 事件循环

我正在使用适用于 Java 2.0 的 AWS 开发工具包以及 Netty HTTP 客户端,我注意到有两个不同的线程池可以有效地处理响应。第一个是 ThreadPoolExecutor,可以像这样作为服务客户端本身的一部分被覆盖

第二个是 Netty HTTP 客户端的事件循环。根据我加入线程的位置,我可以看到它要么由线程池处理,要么由aws-java-sdk-NettyEventLoop线程sdk-async-response池处理。

如果我打电话dynamoClient.query(request).join(),我可以看到aws-java-sdk-NettyEventLoop继续任何进一步的处理,而dynamoClient.query(request).whenComplete(...)意味着sdk-async-response线程正在执行处理。

有推荐的方法吗?我应该更喜欢在一个线程池中进行处理而不是在另一个线程池中进行处理吗?

0 投票
1 回答
289 浏览

amazon-web-services - 如何在 java sdk v2 中向正在运行的 EMR 集群提交新步骤

我正在尝试使用 java sdk v2 将 HadoopJarStep 提交到正在运行的 EMR 集群。通过阅读 api 文档/示例,我似乎无法弄清楚如何引用正在运行的集群而不是启动一个新集群。

谁能指出我正确的构建器方法来指定要提交的现有集群?到目前为止,我拥有的 Scala 代码:

0 投票
2 回答
525 浏览

spring-boot - 将数据索引到 AWS elasticsearch 服务时 Elasticsearch resthighlevelclient Noclassfound 错误

我正在尝试将文档索引到我的弹性搜索服务 aws,但我收到 NoClassDeffounderror。我在下面给出了我的代码库,请帮助我解决这个问题。

弹性搜索版本:7.1(在 aws 中)

pom依赖:

代码库

运行主要功能时出现以下错误:

有人可以帮我解决这个问题吗,因为我必须将它作为一个 java 服务,但如果我单独执行它,它甚至不能在我的主要功能中工作。

0 投票
1 回答
1530 浏览

java - AWS SDK 2 代入角色

出错

引起:org.springframework.beans.BeanInstantiationException:无法实例化[software.amazon.awssdk.services.dynamodb.DynamoDbClient]:工厂方法'amazonDynamoDB'抛出异常;嵌套异常是 java.lang.NullPointerException:STS 客户端不能为空。在 spring.beans@5.2.7.RELEASE/org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) 在 spring.beans@5.2.7.RELEASE/org.springframework.beans.factory。 support.ConstructorResolver.instantiate(ConstructorResolver.java:650) ... 58个普通帧省略原因:java.lang.NullPointerException:STS客户端不能为空。

0 投票
2 回答
3722 浏览

java - 如何检查 AWS S3 中是否已存在存储桶

如何使用 Java SDK 检查存储桶是否已存在于我的 Aws S3 账户中?

使用下面的代码

检查存储桶的全局存在,如果具有此名称的存储桶全局存在,则返回 true,即使我不是该存储桶的所有者或者我无权访问该存储桶。

我理解以这种方式制作此方法的意图,以便它允许我们确定存储桶名称的可用性,但这不是我所需要的。当然,它会抛出我以后无法访问它的异常,但它会返回说明具有此名称的存储桶存在。

我想检查我的 S3 帐户中是否存在具有给定名称的存储桶,以便我可以对其执行操作。

一种可能的解决方案是list搜索所有存储桶并在返回的列表中搜索我的存储桶,我认为这在性能方面不是很好(如果我错了,请纠正我),因为可能有数十万个存储桶并在其中搜索他们效率不高。

如何确定我的 S3 帐户中是否存在未检查全局存在的存储桶

0 投票
1 回答
148 浏览

amazon-web-services - 如何在启动 AWS 实例时创建用户和密码

Azure 允许在创建虚拟机期间创建用户和密码,该虚拟机以后可用于通过 SSH 连接到该 VM。

如何run instance在 AWS 中使用可用于 SSH 的 Java SDK 创建用户和密码。

目前我 laucnh Vm as

我想添加这样的东西

我知道 AWS 有基于 AMI 的默认用户名和密码,但我想在启动 VM 时创建自己的自定义用户名和密码。

编辑

另外,如何通过 SSH 连接到 Windows 实例?RDP 是唯一的选择吗?如何通过密钥对和 SSH 连接?如何获取它的管理员密码。

0 投票
1 回答
1426 浏览

amazon-web-services - 如何使用 Java sdk describe instances api 获取给定操作系统的 AWS EC2 AMI 映像 ID

如何使用describe instanceJava SDK api 为给定的操作系统获取 AWS Ec2 映像 ID,该操作系统也是给定区域的免费套餐?我尝试使用,describe Instance api但我不知道如何使用Filters.

我正在努力获取图像 ID,它仅使用is-public过滤器返回大量图像。我只想获得符合条件的免费层级核心操作系统实例,没有安装额外的软件,如 SQL 服务器等。我尝试了这个文档,但不太了解。

确切地说,我想在启动标记为符合条件的免费套餐的实例时获取在 AWS 控制台上提供的图像的 AMI id,如下图所示

aws控制台中的ec2 amis

请给我一个示例代码片段,用于获取ubuntu 18.04 LTS上图中显示的此免费套餐合格图像的 ami-id,即ami-02d55cb47e83a99a0。并建议我如何更改它以获取其他图像(如 Suse、debian 或 redhat 等)的 AMI id。

PS

我想即使对于相同的操作系统,每个区域的这些 AMI id 也是不同的,我认为解决方案应该包括region在该区域中获取图像 id 之类的东西。在解决方案中,请包括解决方案,ap-south-1因为此屏幕截图适用于该地区。

编辑 1

我知道这与过滤namedescription. 我可以在 中使用通配符withValue(),就像我想搜索 AMI 一样new Filter().withName("description").withValue("*ubuntu-18.04*")*通配符在哪里。但它会返回ubuntu-18.04描述中包含的所有 AMI,包括所有已安装现有软件的付费 AMI 。如何过滤以仅获取符合免费层级条件的基本默认 ubuntu 映像。

0 投票
1 回答
2957 浏览

java - 如何使用@DynamoDbTable 注释动态传递 aws dynamodb 表名

我创建了一个 java 服务来从 dynamodb 获取详细信息,它工作正常,但我的挑战是我将表名硬编码到类文件@DynamoDbTable注释中,以便与不同的环境一起工作,我觉得这不是正确的方法。我在下面给出了我的代码,有人可以帮我解决这个问题。

代码示例

我的 DynamoDB 配置

我的 dynamodb 服务中的错误

构造函数 DynamoDBMapper(DynamoDB, DynamoDBMapperConfig) 未定义

我无法找出问题所在。如果我在类文件中使用表名,如果我尝试使用代码替换表名,它会正常工作,但最终会出错。

0 投票
1 回答
433 浏览

spring-boot - 如何使用 DynamoDB 表注释在 AWS DynamoDB 读/写操作中创建布尔数据类型

我在 java 中创建了一个 pojo 类来在 aws dynamodb 中创建/更新项目,当我尝试在 dynamodb 中创建/更新项目时它工作正常,但是在 dynamodb 数据类型中创建的列似乎是字符串而不是布尔值。我试过下面的注释,但每当行创建的数据类型似乎是字符串而不是布尔值。

DynamoDb 类.java

我已经给出了在我的类文件中使用的注释和示例属性以供参考。