ふと思い立って、Azure Functionsのドキュメントを読みながら使ってみました。
ドキュメントに沿って進めた上で、おそらく不具合と思われる部分がありましたので、Issueを出してみました。
FacebookのJAZUG(Japan Azure Users Group)ページでフィードバック方法を教えて頂きました。ありがとうございます。
Azure Functions
Azure Functionsとは、サーバーレスな環境でコードを実行できるMicrosoft Azure上のサービスです。
似たようなサービスで、AWS Lambdaがあります。
プレビューリリースされた時にちょろっと使って以来、放置していましたが、復習がてらドキュメントを読みながら使ってみました。
Azure Functionsのトリガー
Azure Functionsは実行トリガーとして下記が提供されています。
- cronライクなタイマー
- HTTPやWebhook
- Azureの他サービスとの連携(Event Hubsなど)
Github Webhookのサンプルを試してみた
このドキュメントではGithubのWebhookをトリガーとして、Azure Functionsを実行するというサンプルが紹介されています。
- Azure Functionsのアプリケーションを作成する。
- GitHub Webhookの新しい関数を作成する。
- 2の関数のURLとシークレットキーをコピーしておく。
- GitHubのリポジトリに、Issueにコメントが投稿された際に動作するWebhookを作成し、3を貼り付ける。
- 4のリポジトリにIssueを作成し、コメントを投稿する。
- 5をトリガーとしてAzure Functionsが動作する。
ざっくりこのような手順ですが、なぜかWebhookが動作しません。
どうやらWebhookの疎通テストに失敗しているもよう。
問題は3のコピー機能
関数のURLとシークレットキーをコピーしておく。
この操作を行った際、私はAzure Functionsのポータル画面のコピーボタンでコピーしました。
コピーボタンでコピーされたURLやシークレットキーをテキストエディタに貼り付けてみると、余計な改行が含まれていました。
5pexxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
シークレットキーの文字列の前に2つの改行、後ろに1つの改行が含まれています。
このままGitHubに貼り付けていたため、本来のシークレットキーと異なってしまい、疎通を行うことができませんでした。
改行を取り除いてあげればGitHubからAzure Functionsへの疎通も行われるようになりました。
まぁ、余計な改行が含まれるのはおそらく不具合でしょうから、上記の内容をIssueとして出してみました。初めてのIssueです。