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】URLスキームのアプリ間連携について

1 はじめに2 アプリ間連携とは2.1 URLスキーム2.2 App Groups3 URLスキームの実装方法について3.1 URLスキームの設定3.2 カスタムURLスキームの設定4 URLスキーム ...

swift

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

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

[iOS15]StoreKit2で課金処理をより簡単に

1 はじめに2 StoreKit2になって主に変更された箇所3 実装3.1 Product(課金アイテム)の取得方法3.2 Product(課金アイテム)の購入方法3.3 Product(課金アイテム ...

【Swift】FabricからFirebase CrashLyticsのアップデート

1 はじめに2 FabricとFirebase3 FabricからFirebase CrashLyticsのアップデート方法3.1 Fabricの削除3.2 Firebase CrashLyticsの ...

UserNotificationsの使い方について

1 はじめに2 UserNotificationsフレームワーク3 基本実装3.1 デリゲートの設定3.2 ユーザー許可3.3 デバイストークン取得後3.4 バックグラウンドで通知受信3.5 フォアグ ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

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