Perl Hackers Hub

第54回 サーバレスでもPerl―Microsoft Azure Functionsで動かそう!(2)

この記事を読むのに必要な時間:およそ 3 分

Azure CLIでAzureにログイン

Azure CLIでAzureを操作するためには,次のコマンドでAzureにログインする必要があります。

Azure CLIでAzureにログイン

$ az login

az loginを実行するとブラウザが開き,Azureアカウントでのログインを尋ねられます。アカウントとパスワードを入力してログインしてください。azでは処理成功時に,標準出力にJSONを出力します。ターミナルにJSONが出力されればログイン成功です。

Azureリソースの設定

それでは,図3で示したシステム構成をAzure上に設定します。

リソースグループの作成

始めにリソースグループを作成します。次のコマンドを実行すると,Azureの東日本リージョンにfacedetectリソースグループが作成されます。

東日本リージョンにリソースグループを作成

$ az group create --name face-detect --location japaneast

ストレージアカウントの作成

次はストレージアカウントを作成します。図3にはストレージアカウントが描かれていませんが,Functionsを動作させるために必要です。ストレージアカウントは,次のコマンドで作成できます。

ストレージアカウントの作成

$ az storage account create \
  --resource-group face-detect \
  --name facedetectstorage \
  --sku Standard_LRS

--resource-groupには先ほど作成したリソースグループ名を,--nameには新規作成するストレージアカウント名を指定します。--skuはStock Keeping Unitの略で,ここではストレージアカウントのパフォーマンスレベルとレプリケーションオプションの組み合わせを意味します。FunctionsではパフォーマンスレベルがStandardかつ,レプリケーションオプションがLRS(ローカル冗長ストレージ)の組み合わせだけが利用可能ですので,この組み合わせを意味するStandard_LRSを指定しておいてください。

Functionsリソースの作成

続いてFunctionsリソースを作成します。

Functionsリソースの作成

$ az functionapp create \
  --resource-group face-detect \
  --name face-detect-app1001 \
  --storage-account facedetectstorage \
  --consumption-plan-location japaneast

--resource-groupにはリソースグループ名を,--storage-accountにはストレージアカウント名を,--consumption-plan-locationにはリソースグループと同じリージョンを指定します。

重要なのは--nameです。ここにはリソース名を指定します。ここで指定した名前はhttps://リソース名.azurewebsites.net/の形式でURLに影響し,Azure全体でグローバルな名称となりますので,ほかと衝突しない名称に適宜置き換えてください。

ランタイムバージョンをv1に変更

できたばかりのFunctionsリソースは,ランタイムバージョンがv2ですのでv1に変更します。

ランタイムバージョンは,Functionsリソースのアプリケーション設定にある設定値FUNCTIONS_EXTENSION_VERSIONで定義されています。デフォルトでは~2となっていますので,~1に変更します。

Functionsリソースにおけるアプリケーション設定値の変更は,次のコマンドで行います。

Functionsリソースのランタイムバージョンをv1に変更する

$ az functionapp config appsettings set \
  --resource-group face-detect \
  --name face-detect-app1001 \
  --settings FUNCTIONS_EXTENSION_VERSION=~1

--resource-groupにはリソースグループ名を,--nameにはリソース名を指定します。

--settingsは設定値の変更内容です。ここではFUNCTIONS_EXTENSION_VERSION=~1を指定してください。

Face APIの設定

Face APIの設定では,Cognitive Servicesアカウントが必要です。

次のコマンドで,Cognitive Servicesアカウントの作成とFace APIの設定を行います。

Cognitive Servicesアカウントの作成とFace APIの設定

$ az cognitiveservices account create \
  --resource-group face-detect \
  --name face-detect-test \
  --sku F0 \
  --kind Face \
  --location eastus

--resource-groupにはリソースグループ名を,--nameにはCognitive Servicesアカウント名を指定します。--skuにはFace APIの価格プランを指定します。価格プランはF0(無料プラン)とS0(スタンダードプラン)を選ぶことができますが,ここでは無料プランのF0を指定します。--locationにはリソースグループと同じリージョンを指定します。

--kindがCognitive Serviceアカウントで利用するサービスの種類の設定です。今回はFace APIを利用したいのでFaceとします。

これで,Azureリソースの設定は完了です。

<続きの(3)こちら。>

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.111

2019年6月24日発売
B5判/160ページ
定価(本体1,480円+税)
ISBN978-4-297-10657-7

  • 特集1
    新機能の数々をコミッターが最速解説!
    詳解Rails 6
    新コンポーネント,複数DB対応,並列テスト,オートロード刷新
  • 特集2
    動的かつ高速!
    はじめてのJulia
    科学技術計算のための新言語
  • 特集3
    見える化大作戦
    進捗,成果,無理/ムダ,個人の気持ち……
  • 一般記事
    Elm入門
    型安全な関数型言語によるフロントエンド開発