0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Azure] Functions 機能x実装

Last updated at Posted at 2023-07-07

Azure Functionsの概要

Azure Functionsは、イベント駆動型のコンピューティングサービスであり、
コードの実行を要求トリガーに実行することができる。Azure Functionsを使用することで、
サーバーレスコンピューティングの利点を生かすことができ、
アプリケーションの機能を構築し、スケーリングするための効果的な方法を提供してくれる。

Azure Functionsの機能

Azure Functionsには以下のような特徴。

  • イベントドリブン: イベントに応じてコードを実行できる。
  • ユーザーフレンドリー: 誰でも簡単に使い始めることができる。
  • 言語の選択肢: 複数のプログラミング言語をサポートしている。
  • スケーラビリティ: 自動スケールが可能で、トラフィックの変動に対応できる。
  • リアルタイム: すばやい反応性を備えている。
  • モジュール: 既存のサービスとの統合が容易。

サンプルコード

Java

import com.microsoft.azure.functions.*;
import org.springframework.cloud.function.adapter.azure.FunctionInvoker;

import java.util.*;

public class MyFunctionClass extends FunctionInvoker<String, String> {

    public MyFunctionClass() {
        super();
    }

    @FunctionName("myFunction")
    public HttpResponseMessage run(
            @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {
        
        context.getLogger().info("Java HTTP trigger processed a request.");

        String name = request.getBody().orElse("Stranger");
        return request.createResponse(HttpStatus.OK, "Hello, " + name + "!");
    }
}

Go

package main

import (
    "github.com/Azure/azure-functions-go/azfunc"
    "net/http"
)

func main() {
    azfunc.HandleHTTPTrigger(HandleHello).ListenAndServeEnv(":8080")
}

func HandleHello(w http.ResponseWriter, req *http.Request) azfunc.HTTPResponse {
    name := req.URL.Query().Get("name")
    if name == "" {
        name = "Stranger"
    }
    return azfunc.HTTPResponse{
        Body:       []byte("Hello, " + name + "!"),
        StatusCode: http.StatusOK,
    }
}

C#

using System;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;

namespace MyProject
{
    public static class MyFunctionClass
    {
        [FunctionName("myFunction")]
        public static IActionResult Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string name = req.Query["name"];
            if (string.IsNullOrEmpty(name))
            {
                name = "Stranger";
            }

            return new OkObjectResult($"Hello, {name}!");
        }
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?