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

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

  • 特集1
    接続エラー,性能低下,権限エラー,クラウド障害
    AWSトラブル解決
    原因調査・対応・予防のノウハウ
  • 特集2
    Ruby書き方ドリル
    要点解説と例題で身に付く!
  • 特集3
    体験
    ドメイン駆動設計
    モデリングから実装までを一気に制覇
  • 一般記事
    FigmaによるUIデザイン
    デザイナーとエンジニアがオンラインで協業できる!
  • 一般記事
    入門
    SwooleによるPHP非同期処理
    高速化のための並列実行はどのように書くのか