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.112

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

  • 特集1
    React/Vue.jsで実践!
    コンポーネント設計
    モダンフロントエンドの構造化と分割の新提案
  • 特集2
    RDBMS徹底比較
    PostgreSQL,MySQL,SQL Server,Oracle Database
  • 特集3
    実践Scala
    オブジェクト指向×関数型
  • 一般記事
    自作キーボードのススメ
    デザイン,配列,打鍵感……自由自在