スクレイピングバッチアプリをAWS Lambdaへアップロードしてみた。
はじめに
スクレイピングバッチアプリをAWS Lambdaへアップロードしてみました。
今回はその手順を備忘録として残しておこうと思います。
AWS Toolkit for Visual Studioのインストール
こちらからダウンロード&インストールを行います。
既存のASP.NET Coreプロジェクトのフレームワークを.NET 5から.NET Core 3.1へ変更する
調べた感じですと、まだAWS Lambdaでは.NET 5がサポートされていないようだったので.NET Core3.1へフレームワークを変更しました。
既存のASP.NET CoreプロジェクトファイルへAWS情報を入れる。
PropertyGroup要素へ以下を追加します。
<AWSProjectType>Lambda</AWSProjectType> <!-- This property makes the build directory similar to a publish directory and helps the AWS .NET Lambda Mock Test Tool find project dependencies. --> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
上記の設定後、プロジェクトを右クリックするとLambdaへの公開オプションが見れるようになります。
AWS Explorerの設定
"表示" > "AWS Explorer"を選択すると画面左側にAWS Explorerが表示されるので赤枠部分をクリックします。
アカウント情報を入力します。 ProfileNameは任意の値を入れ、Access Key IDやSecret Access Keyは任意のIAMユーザの情報を入れて"OK"ボタンを押します。
AWS Lambdaへアップロードする
プロジェクトを右クリックし、"Publish to AWS Lambda..."を選択します。
選択後、以下の画面が出てくるかと思います。 それぞれの項目へ値を入れていきます。
ラベル名 | 説明 |
---|---|
Package Type | Lambdaへのアップロード形式 |
Lambda Runtime | ランタイム情報 |
Function Name | Lambda関数の名前(任意の名前を入力) |
Description | Lambda関数の説明 |
Configuration | Release |
Framework | netcoreapp3.1 |
Assembly | アセンブリ名(デフォルトではプロジェクト名になっていると思います) |
Type | プロジェクト名.エントリーポイントのクラス名 |
Method | エントリーポイント |
"Next"をクリックすると以下の画面が表示されます。 Role Nameには任意のRoleを割り当てます(ない場合は作成する必要があります。) "Memory"項目ではLambda 関数が使用できるメモリの量を設定し、"Timeout"項目ではタイムアウトさせる時間を設定します。
設定完了後、"Upload"ボタンをクリックします。
アップロードが完了するまで待ちます。
完了したらAWS Lambdaへアップロードされていることが確認できます。
おわりに
今回はAWS Lambdaへアップロードした内容のみですが、以下の記事にてAmazon EventBridgeと組み合わせて定期的に動くようにしてみました~!