技術

SwfitでS3からファイルをダウンロードする方法

どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。

Swiftを使ってS3からファイルをダウンロードしたい。

よくあることだと思います。

しかし、ググってもなかなかわかりやすい答えが見つからないので、最速・簡単に「Swiftを使ってS3からファイルをダウンロード」する方法を載せておきます。

では、ぱぱっとやってみましょう。

環境は以下の通りです。

・Swiftバージョン:5
・Xcodeバージョン:12.2
・使用デバイス:iPhone8(14.2)

事前にいろいろ準備が必要

前提として、S3の該当するプレフィックスにアクセス許可を与えておく必要があります。

サーバ開発者に依頼しましょう。

自分でサーバ開発もやっている場合は、自分で権限を付与しましょう。

それにSwift用のS3ライブラリも入れておく必要があります。

あとでちょっと触れますが、Cognito認証をやっておきましょう。

S3からダウンロード

以下がS3から任意のファイルをダウンロードするコードの本体。

少し解説しておくと、後半部分がダウンロードの処理です。

ここで注意点としては、事前にCognitoによる認証をしている必要があります。

ここでやってもいいのですが、通常はログインなどでやっておくことになるかと。

bucketはそれぞれの環境に合わせたものを指定してください。

keyはS3のプレフィックスを指定します。

urlはデバイス側の保存したい場所を指定します。

ここが間違いやすいので、注意してください。

そして、前半部分が完了のコールバックですね。

正常系、異常系でそれぞれ後続処理をここに書きます。

最後に呼び出し側です。

以上、楽しい開発ライフを!

-技術

© 2021 Kerubitoのブログ