この記事は 富士通クラウドテクノロジーズ Advent Calendar 2018 の 16 日目の記事です。 昨日は YoshidaY さんの gRPCのシナリオテスト用コードを生成するprotocプラグインを作ってみた でした。
こんにちは! FJCT で主に PaaS 系サービスの開発・運用をしている id:alice02san です。 今日は私が関わっているプロダクトの一つである、 Data-driven NIFCLOUD SDK for Python (Developer Preview) の裏側について少しお話しようと思います。
NIFCLOUD SDK for Python
2018 年 4 月 にリリースされた、NIFCLOUD SDK for Python (Developer Preview) をご存知でしょうか? 従来、ニフクラSDK として、 Java SDK が主なものとして存在していましたが、そこに Python SDK が加わった形となります。 (まだ Developer Preview 版ですが…)
この Python SDK の特徴としては下記が挙げられます。
使い方等は ニフクラ SDK for Python (Developer Preview) のご紹介 や リポジトリの README、簡単なドキュメント (Read the Docs) に記載されているので、適宜御覧ください。
さて、この NIFCLOUD SDK for Python ですが、ソースコードを見てみると、とても実装が少ないことがわかります。基本的には AWS の Python SDK である、 botocore をラップしたものになっているからです。 勘が鋭い方はお気づきかもしれませんが、ニフクラの API リファレンスを見ると AWS の API 仕様ととても似ていることがわかります。特にリクエスト形式や認証系はかなり互換性があります。この互換性を利用し、 AWS SDK の仕組みに乗っかることで、 NIFCLOUD SDK for Python が実装されています。
そこで、今回はこの SDK の裏側の仕組みについて少し解説できればなと思います!!
続きを読む