クラウドストレージ(Amazon S3)に画像をアップロード、参照する

tips
  • 2017.06.28
  • 技術情報

Visual Studio 2017とAWS SDK for .NETAWS Toolkit for Visual Studioを使用して、LEADTOOLSのRasterImageViewerで表示した画像をAmazon S3へアップロードします。その後アップロードした画像をダウンロードしてLEADTOOLSのRasterImageViewerで表示します。

はじめにAWS 認証情報を設定します。こちらのページに記載されている以下のガイドラインに従って認証情報を設定します。

「アプリケーション開発時に認証情報を管理するための推奨される手法は、IAM ユーザー認証情報のセットごとのプロファイルを SDK ストアに置くことです。プレーンテキストの認証情報ファイルを使用して、認証情報を含むプロファイルを保存することもできます。次に、プロジェクトファイルに認証情報を格納する代わりに、プログラムで、またはアプリケーションの App.config または Web.config ファイルで特定のプロファイルを参照することができます。意図せずに認証情報を公開してしまうリスクを抑えるために、SDK ストアまたは認証情報ファイルはプロジェクトファイルとは別に保存しておく必要があります。」

まずAWS Toolkit for Visual Studioを使ってSDK ストアにプロファイルを追加します。Visual StudioからAWS Explorerを開き、「New Account Profile」をクリックします。

aws-explorer

ダイアログが表示されるのでアクセスキー ID とシークレットアクセスキーを入力します。

new-account-profile

作成したアプリケーションで使用するバケットを作成します。Visual StudioからAWS Explorerを開き、Amazon S3を右クリックして「Create Bucket」を選択します。バケット名は「ltimagestorage」で作成します。

s3-bucket-create

Visual StudioでWindows Forms アプリケーションを作成します。RasterImageViewerとButtonを追加します。

winforms-design

Nuget Package マネージャーでAWSSDK.CoreとAWSSDK.S3を追加します。

nugetpackagemgr-awssdk

App.configにAWS 認証情報を含んだプロファイルとAWS リージョンを参照する設定を追加します。

app-config

認証処理は以上です。続いて画像を扱う処理を実装していきます。まず、LEADTOOLSのライセンスを設定して、RasterImageViewerに画像を表示します。

setlicense-load-aws

続いてRasterImageViewerで表示した画像をAmazon S3へアップロードする処理と、アップロードした画像をダウンロードしてRasterImageViewerで表示する処理を実装します。AWS SDK for .NETを使用してAmazon S3 APIのアップロードダウンロードを実装しています。

putandget-aws

ビルドして実行してみます。Loadボタンで画像をRasterImageViewerに読み込んだ後にUploadボタンでAmazon S3に画像をアップロードできます。同様にDownloadボタンでAmazon S3にアップロードした画像をダウンロードしてRasterImageViewerに読み込むこともできます。

upload-aws

以上です。今回作成したサンプルはこちらです。

トピックス一覧に戻る