Logic AppsとAzure Functions(Java)を連携する


Azureのノーコードツール「Logic Apps」を触っていて、Azure FunctionsやAzure App Servicesなどと連携できることを知りました...(今更)!これは便利そう。Azure FunctionsはJavaでも書けるので、基本はノーコードで組み立てて、難しい処理だけJavaで書くみたいなことが簡単にできそうです。ということで早速、連携を試してみました。

あるツイートを検知したら、それに対する情報をつぶやくというものを(かなり雑に)作りました。

まずはLogic AppsのデザイナーでTwitterのコネクタを作って、Azure Functionsを呼び出します。

デプロイしたFunctionが見えるのでポチポチと選んでいくだけです。

最後にFunctionsの結果をツイートします。本文をそのまま出すだけです。

ちなみに今回のFunctionsの処理はこれだけです。

@FunctionName("HttpExample")
public HttpResponseMessage run(
     @HttpTrigger(
            name = "req",
            methods = {HttpMethod.GET, HttpMethod.POST},
            authLevel = AuthorizationLevel.ANONYMOUS)             
            HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {
    return request.createResponseBuilder(HttpStatus.OK).body("桃ちゃんのブログはこちらです https://blog.nogizaka46.com/momoko.oozono/").build();
}

実際にツイートしてみました。

しばらくするとFunctionsの応答内容がちゃんとツイートされました。

今回の例はFunctionsの処理がシンプルでしたが、Logic Appsで実現しにくい処理やJavaでゴリゴリ書きたい処理などを書いて連携すればノーコードベースでも複雑な処理を実現できそうです。