Translate

2010年4月15日木曜日

AndroidアプリからAmazon S3へファイルを格納する

Amazon S3上にAndroid側で作成したファイルをおきたくて、
S3のAPIドキュメントをよんでRESTClientでナントカつなげようとしたけど
うまくいかない..
たぶんAutorizationに設定する値が生だとだめなのかな..

で、なにか方法はないかなと調べてみると、

Amazon S3 Library for REST in Java

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=132

を見つけた。

これを使えばいいけど

をAndroidManifest.xmlに登録しないといけない。

そうしたらうまくいった。

AWSAuthConnection conn = new AWSAuthConnection(
ACCESSKEYID,
SECRETACCESSKEY,
false, ←trueだとhttps
"s3.amazonaws.com", ←
CallingFormat.getSubdomainCallingFormat());

Response res = conn.put(
BUCKETPATH,←トップのバケット名
"hogehoge/test.txt",
new S3Object(imageData(バイト配列), null),
null);

これでOK。

2 件のコメント:

Unknown さんのコメント...

はじめまして。androidでS3を使うことになり、こちらのアーティクルを拝見しました。

securityKeyをアプリに入れた場合、逆コンパイルしてその情報がもれてしまうと悪意のあるユーザーから勝手にbucketを作られたりしないですか?

まだ、S3を学びはじめの為、的外れだったらすみません :)

ton さんのコメント...

実際に活用する場合は
たしかに注意しないといけないですね。
携帯端末IDを送信して
暗号化したキーを送り返したり
携帯端末IDで暗号化するといった方法はよく使われているようですので
そういった対策をするとか
必要だと思います。

簡単な方法だと、
ユーザビリティを下げてしまいますが、
メニューで登録画面から入力してもらう
という方法もありますね。

o1-previewにナップサック問題を解かせてみた

Azure環境上にあるo1-previewを使って、以下のナップサック問題を解かせてみました。   ナップサック問題とは、ナップサックにものを入れるときどれを何個入れればいいかを計算する問題です。数学では数理最適化手法を使う際の例でよく出てきます。 Azure OpenAI Se...