aws-cli で、 `aws s3 ls` や `aws s3 cp` を利用すれば、  
原理的には tramp に乗せることができるような気がします。

内部で aws-cli をたたくことによって、 s3 へのアクセスを tramp で実現することはできますか？  
できる場合、どうやったらこれは実現できますか？

* * *

(できる場合について、どう実現するのか、について)  
もしこれが広すぎる質問ならば、次について聞きたいです。

tramp のメソッドを追加するにあたっては、 `tramp-method`
に、新しいメソッドの定義を追加すれば、これが実現できるのではないか、と考えています。tramp-method は、しかし例えば `tramp-remote-
shell` のような、今回のケースでは使わないであろう項目があったりするので、結局、何を指定すればいいのかがわかっていません。

Q.

  1. tramp-method に s3 用のエントリを追記すれば実現できる、という想定は正しいですか？
  2. その場合、エントリの項目は何を記述する必要がありますか？

* * *

`aws s3 ls` は、 s3 の場所を指定すると、そこのファイル一覧を文字列として取得するコマンドです。 `aws s3 cp` は、 scp
のように、 s3 へファイルをアップロードするためのコマンドです。
CC BY-SA 3.0
2016-09-16T10:08:57.767
28927
2020-04-13T09:01:35.223
2016-10-07T01:21:58.177
754
754
question
emacs elisp amazon-s3
s3 に tramp で接続できるようにするには？
s3edという、EmacsからAmazon
S3上のファイルを編集するためのラッパー的ツールがあります。これは、（trampではなく）/tmp/s3ed/というディレクトリに一旦ファイルをダウンロードして、保存時にS3にアップロードするようです。

>   * S3ed will use /tmp/s3ed/ as scratch space
>

>
> [mattusifer/s3ed: An interface to s3 from
> emacs](https://github.com/mattusifer/s3ed)

s3edはtrampを利用していませんが、内部的に `aws s3 ls` や `aws s3 cp` を使っています。  
<https://github.com/mattusifer/s3ed/blob/13503cb057bed29cb00a14dffe4472b5cb7748ad/s3ed-
io.el>

このコードを元にtrampと組み合わせることが可能かもしれません。ご参考になれば幸いです。
CC BY-SA 4.0
2018-08-26T15:24:23.177
47826
2018-08-26T15:24:23.177
29826
28927
answer