はじめに
ちょっと、組み込み装置でamazon S3へのRESTアクセスの調査が必要となった。
RaspberryPiなどの組み込みLinuxでやるのであれば、割と簡単かもしれないが、ガチな組み込み機器であるため、Ethernetドライバ、TCP/IP、HTTP、TLS、RESTみたい感じできっちり理屈で組み上げる必要がある。
どうやらawscli もREST でS3 と通信しているらしく、どんな感じかパケットキャプチャしてみていったという話。
注意点
- リクエストはキャプチャのしやすさからHTTPSからHTTPに変更。
- アクセスキーやら日時やらKeyやらtagやらは個人情報保護の観点からいろいろと加工している。
リスト取得
リスト取得(max-key付き)
Download
Upoad
まとめ
ストレージとしてはの機能は上記で凡そ網羅しているが、これ以外にUAC的なことも仕様上は存在する。
基本的にはFTPっぽいが、リスト取得の検索性の高さがFTPよりも高速な理由な可能性が高い。
あとはそもそもFTP のようなファイルシステム系サービスとは異なる構造を取っているのもあるが。
ちなみに、
AWSアクセス用のSDKは各種メジャー言語用は揃っているので、PCでやる場合はRESTを意識する必要はない。
「なぜかアクセスできない」という問題にぶち当たった時はどうなるか知らないが。
基本、RESTを意識するのは汎用OS未搭載なガチ組込み系のみ。
IoTデバイスのように非ガチ組込みの場合はエージェントライブラリが揃っててこれも苦労はしない。
というわけで、かなりニッチな領域の話となった。
コメント