Ruby 云时代,没有 Ruby 的 SDK,各位怎么破?

milk · 2023年01月31日 · 最后由 hsw15192617273 回复于 2023年06月12日 · 873 次阅读

好久没用 ruby 写点什么了,最近心血来潮,想在新项目中使用 ruby,结果在调研阶段又放弃了

现在云时代,各类基础服务都在云上,比如我习惯的阿里云,存储用 OSS,数据库用 OTS,结果发现一个尴尬的问题,作为小语种的 ruby,云厂商显然不重视,并没有提供相关的 SDK,要使用这些产品的话,只能使用 API 自己写了。

各位在实际项目中使用 ruby 的大佬,都是怎么应对这样问题的?倒不是不能写,可是用 ruby 是因为“make programmers happy”,自己写就不 happy 了😂

oss 有 sdk 的

其实还好啦 拿 restapi 搞一搞 难度不大

不行就照着 python 的代码抄一抄

这点确实不太友好,这么多年项目中涉及到的第三方接口,都是拿 restapi 自己封装,不过大多情况也没啥难度

自己写一个开源,然后大家都可以用了。

如果自己用 ruby 写起来复杂的话,找 Java 版的 SDK,然后二开封装成 jar 包,然后 ruby 里反撇

`java -cp #{Rails.root.join("bin", "xxxx.jar")} ......`

期待轮子

业务和某家云服务绑死本身就是一个极大的风险,建议使用通用服务

我记得阿里云和腾讯云都有 ruby 的 sdk,不过腾讯云对 ruby 的支持貌似更多一点

我感觉国外的大厂都是有 Ruby SDK 的,比如 AWS;国内的云服务商就比较看脸来了,aliyun-oss 是有 sdk 的,其他的比较时髦的,比如又拍云和七牛都有 Ruby SDK 吧,但像金山云这种就没官方的 Ruby SDK,rubygems 也只搜到了一个很多年没维护的。

实在没有就评估一下难易程度,一般尝试自己写一写,百度网盘我就在自己正在写,感觉纯工时应该在 2 天之内吧。不过,也是因为我并不需要所有的功能 😂

可以自己封装,主要麻烦的都是自己定义的协议,基础的 grpc 和 http 好做,也可以用其他语言封装个 api 也是个办法,比如 go 写个 api,我也建议你多用通用基础设施

阿里云 OTS 的 SDK 可以试一下这个:https://github.com/zhaoxl/ali_ots 不过其引用的 protobuf 是 ruby 实现的而不是 google-protobuf,如果项目中混用的话可能会有冲突

顺便自荐一下之前写的阿里云 Opensearch SDK:https://github.com/rccgroup/aliyun-opensearch-client 欢迎 issue 和 mr

需要 登录 后方可回复, 如果你还没有账号请 注册新账号