Now and Nawoo

NFTの制作記録、技術メモ → C#, Solidity, Blockchain, Bitcoin, Ethereum, NFT

Azure Functions 使い方メモ (VS2019)

ひさびさにAzure Functionsを使おうとしたら、すごくハマったので、手順をメモしておきます。

(重要) 先にAzureアカウントを確認すること

Azureアカウントはかなり前に作ったまま放置していたのですが、 知らない間にアカウントが停止されていたようで、 VS2019でAzureに発行しようとログインしても、真っ白なウィンドウが出て閉じる、の繰り返しで次に進めませんでした。

MicrosoftアカウントとAzureアカウントは扱いが異なるようです。 Microsoftアカウントを作って、さらにAzureアカウントに登録(電話番号やクレジットカードが必要)ということで、 私の場合は、Microsoftアカウントは生きているけど、Azureアカウントが停止されている状態だったようです。

結局、Azureアカウントを再登録して、なんとか使えるようになりました。 先に確認しておけばよかったです。

プロジェクトを作成

一番シンプルな Http triggerの関数を作っていきます。

  • VS2019で新しいプロジェクトを追加
  • Azure Functions を選択して[次へ]
  • プロジェクト名(Test1)と場所を設定して[作成]
  • 新しいAzureFunctionsアプリケーションの作成
    • .NET Core 3 (LTS)
    • Http trigger
    • ストレージアカウント →なし
    • Authorization level →Annonymous

これで関数が作成され、エディタ画面で編集できるようになります。 (エラーの赤線が消えるまでかなり時間がかかります。)

Functionを書いていく

省略

とりあえずデフォルトのコードのままで発行してみます。

Azureに発行

  • ビルド>Test1の発行
    • ターゲット : Azure
    • 特定のターゲット : Azure Function App (Windows)
    • Functionsインスタンス
      • サブスクリプションを選択(無料試用版)
      • 関数アプリの横の+ボタンで作成(内容はデフォルトのまま)
      • 作成した関数アプリを選択
      • 完了をクリック

しばらく待って「正常に公開されました。」と出ればOK。

Azureポータルにログイン

Microsoft Azure

  • すべてのサービス>関数アプリ>Test1***(アプリ名) を選択
  • 左ペインの関数を選択
  • Function1 (関数名)を選択
  • 関数のURLの取得 をクリック

関数(Function1)のURLは、https://(app_name).azurewebsites.net/api/Function1? のようになっているはずです。

ブラウザでURLを確認

取得したURLにブラウザでアクセスすると、

This HTTP triggered function executed successfully. ... 

と表示されていればOK

また、URLにnameパラメータを追加してアクセスしてみます。 https://(app_name).azurewebsites.net/api/Function1?name=nawoo

Hello, nawoo. This HTTP triggered function executed successfully.

と表示されていればOK

完了

おつかれさまでした。

いやー、ここまで2時間ぐらいかかりました。 慣れれば10分ぐらいでできると思います。