rest - 亚马逊 S3 : SDK or REST API

标签 rest sdk amazon-web-services amazon-s3

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

3年前关闭。




Improve this question




我必须使用 Amazon S3 在 Java 中以编程方式上传一些静态内容。
当我开始阅读时,我发现这样做的方法是通过他们的 SDK(REST API 包装器)或使用 REST API。从亚马逊的 AWS 网站上,发现了这个:

“您可以使用 REST API 或 AWS 开发工具包向 Amazon S3 发送请求”。

想了解哪种方法更好。我认为使用 SDK 肯定会让编程更容易,但是直接使用 SDK 与 Rest API 的优缺点是什么。

出于某种原因,我发现直接使用 REST API 比使用 SDK 更困难。
我能够使用 SDk 做一些基本的事情——创建存储桶、列出对象、获取对象、使缓存无效等。
但是在为 REST API 编写代码时遇到了一些困难——尤其是生成签名。

如果我最终使用 SDK,可能没什么关系,但我仍然想知道如何使用 REST API 来做到这一点。如果有人在 Java 中有一些关于添加对象、获取对象、获取列表等的好的代码示例,那将非常有帮助。

谢谢!

最佳答案

如果您已经拥有您所用语言的 SDK,那就去吧;从项目的角度来看,这很简单。 SDK 是他们已经为您完成和测试的额外工程,无需额外费用。换句话说,SDK 已经为您将 HTTP REST API 转换为应用程序域/语言。

将 REST API 视为 AWS 必须支持的最低公分母,并将开发工具包(可能)视为在其下方实现 REST API。在某些情况下(例如:某些 Windows Azure SDK),SDK 实际上更高效,因为它们切换到基于 TCP 的通信 channel 而不是 REST(TCP 加 HTTP),这消除了一些 HTTP 开销

除非你的整个目标是花费额外的时间(开发 + 测试)来学习底层的 REST API,否则我会投票给 SDK。

关于rest - 亚马逊 S3 : SDK or REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15754449/

相关文章:

javascript - Axios.js 和 RestFul API 有什么区别?

iphone - 我可以垂直显示 UISegmentedControl 对象吗?

amazon-web-services - 通过 terraform 的客户输出

amazon-web-services - Spark/Hadoop 不支持 AWS S3 上的 SSE-KMS 加密

rest - 如何对 REST URI 进行版本控制

java - 如何在 Java POJO 中使用 @OPTIONS 注释调用 JAX-RS Web 服务进行模型化

spring-boot - Spring Boot使用ControllerAdvice中的自定义错误处理所有错误

javascript - 动态确定项目的迭代 - Rally SDK 1.33

facebook - 这是什么? (Facebook Offline Conversions API)错误#21009 - 数据集上传暂时未准备好

node.js - npm install 安装 package.json 中未指定的额外包