当前位置:网站首页 > Java教程 > 正文

aws-java-sdk教程



完成设置中的步骤后SDK,您就可以向诸如 Amazon S3、DynamoD IAM B、Amazon EC2 等 Amazon 服务提出请求了。

要向发出请求 Amazon Web Services 服务,必须先使用静态工厂方法为该服务实例化服务客户端。该 方法返回一个允许您自定义服务客户端的 对象。常用的 setter 方法会返回 对象,由此可以将方法调用组合起来,这样不仅方便而且代码更加便于阅读。在配置了所需属性后,可以调用 方法创建客户端。

例如,以下代码段将对象实例化为 Amazon 的服务客户端。EC2

客户端生成器包含名为 的另一个工厂方法。此方法将使用默认配置创建服务客户端。该客户端使用默认提供程序链加载凭证和 Amazon Web Services 区域区域。如果不能根据运行应用程序的环境确定凭证或区域,则对 的调用失败。有关如何SDK确定证书和要使用的区域的更多信息,请参阅使用证书和区域选择。

例如,以下代码段将 对象实例化为 Amazon DynamoDB 的服务客户端。

要自定义服务客户端的配置,请使用 工厂方法上的 setter。为了方便起见并创建更具可读性的代码,请将方法链接起来以设置多个配置选项。

以下示例显示了配置了多个自定义设置的 。

作为**实践,您应该在应用程序的生命周期内使用API服务客户端进行多个服务调用。但是,如果您需要一次性使用服务客户端,或者不再需要该服务客户端,请将其关闭。

当不再需要服务客户端时,请调用 方法,以释放资源。

如果您需要一次性使用服务客户端,则可以通过 -with-resources 语句将服务客户端实例化为资源。服务客户端实现接口,因此会在语句末尾JDK自动调用该方法。

以下示例演示如何使用服务客户端进行一次性调用。调用 Amazon Security Token Service 的,将在返回账户 ID 后关闭。

使用服务客户端向对应的发出请求 Amazon Web Services 服务。

例如,以下代码段展示了如何创建对象以创建新的 Amazon EC2 实例:

与其创建请求并在实例中传递,不如SDK提供流畅API的方法供您创建请求。使用 fluent,API你可以使用 Java lambda 表达式 “内联” 创建请求。

以下示例使用通过生成器创建请求的 方法版本重写了前面的示例。

尽管服务客户端是不可变的,但你可以在请求级别覆盖它的许多设置。在构建请求时,您可以提供一个AwsRequestOverrideConfiguration实例来提供被覆盖的设置。可以用来覆盖客户端设置的一些方法有:

有关使用请求覆盖客户端设置的示例,假设您有以下 S3 客户端使用默认设置。

你想下载一个大文件,并要确保在下载完成之前请求不会超时。为此,请仅增加单个请求的超时值,如以下代码所示。

Standard API
Fluent API

SDK返回大多数服务操作的响应对象。您的代码可以根据需要处理响应对象中的信息。

例如,以下代码片段打印出上一个请求中随对象返回的第一个实例 ID。

但是,并非所有操作都会返回包含服务特定数据的响应对象。在这些情况下,您可以查询HTTP响应状态以了解操作是否成功。

例如,以下代码段中的代码会检查HTTP响应,以查看 Amazon 简单电子邮件服务的操作是否成功。

SDK使用运行时(或未选中)异常,为您提供对错误处理的精细控制,并确保异常处理会随着您的应用程序而扩展。

A 或其子类之一,是遗SDK嘱抛出的最常见的异常形式。这些异常表示来自 Amazon 服务的响应。您还可以处理在客户端(即开发或应用程序环境中)出现问题(例如网络连接故障)时发生的

此代码段演示了将文件上传到 Amazon S3时处理服务异常的一种方法。该示例代码可捕获客户端和服务器异常,记录详细信息并退出应用程序。

有关更多信息,请参阅处理异常。

有些请求需要时间才能处理,例如在中创建新表 DynamoDB 或创建新 Amazon S3 存储桶。要确保资源在代码继续运行之前准备就绪,请使用 Waiter

例如,以下代码片段在中创建了一个新表 (” myTable “) DynamoDB,等待表处于状态,然后打印出响应:

有关更多信息,请参阅使用 waiter。

您可以使用和的设置器为每个服务客户端配置超时。该设置是允许客户端完成API呼叫执行的时间长度。该设置是在放弃之前等待每个HTTP请求(重试)完成的时间量。

以下示例为 S3 客户端设置了两个超时时间。

您还可以在请求级别设置超时,方法是配置并使用方法将其提供给请求对象。

以下示例对 S3 操作使用相同的超时设置,但处于请求级别。

您可以编写代码,在请求/响应生命周期的不同阶段拦截API请求和响应的执行情况。这使您能够发布指标、修改正在进行的请求、调试请求处理、查看异常等。有关更多信息,请参阅《 Amazon SDK for Java API参考》中的接口

  • 上一篇: java技巧视频教程
  • 下一篇: java makefile教程
  • 版权声明


    相关文章:

  • java技巧视频教程2024-12-17 11:58:02
  • redis教程java代码2024-12-17 11:58:02
  • 网上java教程2024-12-17 11:58:02
  • java 系列教程2024-12-17 11:58:02
  • java项目教程视频2024-12-17 11:58:02
  • java makefile教程2024-12-17 11:58:02
  • 尚学堂java入门教程2024-12-17 11:58:02
  • java爬虫高级教程2024-12-17 11:58:02
  • 微信公众号开发教程 java2024-12-17 11:58:02
  • 免费领java全套教程2024-12-17 11:58:02