iOS

SwiftでS3への画像アップロード

投稿日:2017年3月25日 更新日:

はじめに

こんにちは、初iOSの記事になります!

今回はSwiftでAWSのS3へ画像をアップロードする方法について、ブログを書きたいと思います。

AWS Cognitoでの認証が本来は望ましいのですが、今回は簡単にIAMユーザを作成し、ACCESS KEYとSECRET ACCESS KEYを利用した方法で紹介したいと思います。

アプリをリリースする場合は、AWS Cognitoを利用するか、IAMユーザの場合はアクセス権限を十分に絞ってください。

AWS上での事前準備

AWS上での準備については、省略しますが下記の2つを準備してください。

IAMユーザについては、作成したS3のバケットへアップロード(PutObject)できる権限を付与しておく必要があります。

  • S3にバケットを作成
  • IAMユーザの作成(上記のバケットへの「s3:PutObject」権限あり)

CocoaPodsでAWS SDKをインストールをする

Podfileに下記を記載して、インストールします。

認証の設定をする

冒頭で記載したとおり、今回はIAMユーザでの認証を行います。

accessKeyとsecretKeyにはAWSで作成したIAMユーザのものを設定してください。

下記の処理は、S3で画像などをアップロードする前に1度だけ実行するようにします。

UIImageを保存して、URLを取得する

S3へ投稿するファイルは、一時的に端末内に保存して、そのURLをS3のSDKに指定する必要があります。

下記のメソッドで、S3へのアップロードする画像が保存されているURLを取得できます。

S3へアップロードする

下記のメソッドでS3へアップロードができます。

下記のメソッドを呼ぶ前には、上記で記載している認証の設定を事前に実行する必要があります。

また、「 uploadRequest?.bucket 」にはAWS上で作成したバケット名を指定し、「 uploadRequest?.key 」にはS3上に保存したいファイル名を指定します。

なお、ファイル名はtest/hello.jpgとするとAWSコンソールなどから見た際にtestフォルダ内にhello.jpgファイルが保存されているように見えるので、ファイルをまとめて管理したい場合には、「test/」などのプレフィックスをつけるとよいでしょう。

さいごに

直近のプロジェクトで、S3へ画像をアップロードする必要があったので調べてみました。

ぜひ、ご参考にしていただければと思います。

blog-page_footer_336




blog-page_footer_336




-iOS
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

Swift ChartsライブラリとCryptowatchAPIでローソク足を描画してみる。

1 はじめに2 CryptoWatchについて2.1 OHLC3 リクエスト方法3.1 CryptoWatchのAPI3.2 Swiftでの実装方法4 さいごに5 おすすめ書籍 はじめに こんにちは鈴 ...

Apple製のフレームワークCombineを触ってみた

1 はじめに2 Combineとは3 Publishers3.1 Future4 Subscribers4.1 sink4.2 assign5 Operators5.1 Prepend5.2 Appe ...

【Swift】インスペクタを利用してWKWebViewの表示内容を確認

1 はじめに2 アプリの設定2.1 開発用のビルドであること2.2 WebViewの設定でインスペクタの利用3 インスペクタ3.1 Safariの設定3.2 インスペクタの利用4 さいごに5 おすすめ ...

[Swift4]ライブラリをやめてCodableでJSONを取り扱う

1 はじめに2 Codableとは2.1 Codable使いたい理由3 実装3.1 とりあえずJSONを読み込む3.2 ObjectMapperの場合3.3 ネスト配列に対応してみよう3.4 JSON ...

【Swift】MemoryLeakの簡単な確認方法

1 はじめに2 テストの準備3 開発中のテスト4 テストコードの作成5 さいごに6 おすすめ書籍 はじめに こんにちは、suzukiです。前回の記事で循環参照について触れました。今回は問題の発見に役立 ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。