Azure Functions の概要An introduction to Azure Functions

Azure Functions は、小規模なコード ("関数") をクラウドで手軽に実行できるソリューションです。Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. 目の前の問題に必要なコードだけを記述すればよく、アプリケーション全体や、コードを実行するインフラストラクチャのことを考える必要がありません。You can write just the code you need for the problem at hand, without worrying about a whole application or the infrastructure to run it. Functions は開発の生産性をさらに向上させることができ、またユーザーは C#、F#、Node.js、Java、PHP などの任意の開発言語を使用できます。Functions can make development even more productive, and you can use your development language of choice, such as C#, F#, Node.js, Java, or PHP. コードが実行された時間に対してだけ料金を支払えばよく、必要に応じてスケールできます。Pay only for the time your code runs and trust Azure to scale as needed. Azure Functions を使用すると、Microsoft Azure でサーバー不要のアプリケーションを作成できます。Azure Functions lets you develop serverless applications on Microsoft Azure.

このトピックでは、Azure Functions の概要について説明します。This topic provides a high-level overview of Azure Functions. Functions の利用をすぐに開始する場合は、「 初めての Azure 関数の作成」を参照してください。If you want to jump right in and get started with Functions, start with Create your first Azure Function. Azure Functions の詳細な技術情報をお探しの場合は、 開発者向けリファレンスを参照してください。If you are looking for more technical information about Functions, see the developer reference.

Features (機能)Features

Functions の主要な機能を次に示します。Here are some key features of Functions:

  • 言語の選択 - C#、F#、Node.js、Java、PHP、Batch、Bash、その他実行可能な言語を使って関数を記述できます。Choice of language - Write functions using C#, F#, Node.js, Java, PHP, batch, bash, or any executable.
  • 従量課金制の価格モデル - コードの実行に要した時間に対してのみ課金されます。Pay-per-use pricing model - Pay only for the time spent running your code. 価格に関するセクションにある従量課金ホスティング プラン オプションを確認してください。See the Consumption hosting plan option in the pricing section.
  • 独自の依存関係を使用 - Azure Functions では NuGet と NPM をサポートしているので、お気に入りのライブラリを使用できます。Bring your own dependencies - Functions supports NuGet and NPM, so you can use your favorite libraries.
  • セキュリティの統合 - Azure Active Directory、Facebook、Google、Twitter、Microsoft アカウントなどの OAuth プロバイダーにより、HTTP によってトリガーされる関数を保護できます。Integrated security - Protect HTTP-triggered functions with OAuth providers such as Azure Active Directory, Facebook, Google, Twitter, and Microsoft Account.
  • 簡単な手順で統合 - Azure サービスと、サービスとしてのソフトウェア (SaaS) のプランを簡単に活用できます。Simplified integration - Easily leverage Azure services and software-as-a-service (SaaS) offerings. 例については、「統合」セクションをご覧ください。See the integrations section for some examples.
  • 柔軟な開発 - 関数をポータル内で直接作成することも、継続的インテグレーションを設定し、GitHubVisual Studio Team Services などの サポート対象開発ツールを使ってコードをデプロイすることもできます。Flexible development - Code your functions right in the portal or set up continuous integration and deploy your code through GitHub, Visual Studio Team Services, and other supported development tools.
  • オープン ソース - Azure Functions ランタイムはオープン ソースであり、 GitHubで提供されています。Open-source - The Functions runtime is open-source and available on GitHub.

Functions でできることWhat can I do with Functions?

Functions は、データの処理、システムの統合、モノのインターネット (IoT) の操作、単純な API とマイクロサービスの構築に適した優れたソリューションです。Functions is a great solution for processing data, integrating systems, working with the internet-of-things (IoT), and building simple APIs and microservices. 画像処理や注文処理、ファイルの保守、スケジュールに従って実行するタスクに Functions を利用することを検討してください。Consider Functions for tasks like image or order processing, file maintenance, or for any tasks that you want to run on a schedule.

Functions には、次のような主要なシナリオを開始するためのテンプレートが用意されています。Functions provides templates to get you started with key scenarios, including the following:

  • HTTPTrigger - HTTP 要求を使用して、コードの実行をトリガーします。HTTPTrigger - Trigger the execution of your code by using an HTTP request. 例については、最初の関数の作成に関するページをご覧ください。For an example, see Create your first function.
  • TimerTrigger - 事前定義されたスケジュールに従ってクリーンアップなどのバッチ タスクを実行します。TimerTrigger - Execute cleanup or other batch tasks on a predefined schedule. 例については、タイマーによってトリガーされる関数の作成に関するページをご覧ください。For an example, see Create a function triggered by a timer.
  • GitHub webhook - GitHub リポジトリで発生するイベントに応答します。GitHub webhook - Respond to events that occur in your GitHub repositories. 例については、「GitHub webhook でトリガーされる関数の作成」を参照してください。For an example, see Create a function triggered by a GitHub webhook.
  • 汎用 webhook - webhook をサポートする任意のサービスからの webhook HTTP 要求を処理します。Generic webhook - Process webhook HTTP requests from any service that supports webhooks. 例については、「ジェネリック webhook でトリガーされる関数の作成」を参照してください。For an example, see Create a function triggered by a generic webhook.
  • CosmosDBTrigger - Azure Cosmos DB ドキュメントが NoSQL データベースのコレクションに追加されたか更新されたときに、それらを処理します。CosmosDBTrigger - Process Azure Cosmos DB documents when they are added or updated in collections in a NoSQL database. 例については、「Azure Cosmos DB によってトリガーされる関数を作成する」をご覧ください。For an example, see Create a function triggered by Azure Cosmos DB.
  • BlobTrigger - Azure Storage BLOB がコンテナーに追加されたときに、それを処理します。BlobTrigger - Process Azure Storage blobs when they are added to containers. この関数は、画像のサイズ変更に利用できます。You might use this function for image resizing. 詳細については、Blob Storage のバインディングに関するページをご覧ください。For more information, see Blob storage bindings.
  • QueueTrigger - Azure Storage キューにメッセージが配信されたときに応答します。QueueTrigger - Respond to messages as they arrive in an Azure Storage queue. 例については、「Azure Queue Storage によってトリガーされる関数の作成」をご覧ください。For an example, see Create a function triggered by Azure Queue storage.
  • EventHubTrigger - Azure イベント ハブに送信されたイベントに応答します。EventHubTrigger - Respond to events delivered to an Azure Event Hub. アプリケーションのインストルメンテーション、ユーザー エクスペリエンスやワークフローの処理、モノのインターネット (IoT) のシナリオで、特に役立ちます。Particularly useful in application instrumentation, user experience or workflow processing, and Internet of Things (IoT) scenarios. 詳細については、Event Hubs のバインディングに関するページをご覧ください。For more information, see Event Hubs bindings.
  • ServiceBusQueueTrigger - メッセージ キューをリッスンし、コードを他の Azure サービスまたはオンプレミスのサービスに接続します。ServiceBusQueueTrigger - Connect your code to other Azure services or on-premises services by listening to message queues. 詳細については、Service Bus のバインディングに関するページをご覧ください。For more information, see Service Bus bindings.
  • ServiceBusTopicTrigger - トピックをサブスクライブすることで、コードを他の Azure サービスまたはオンプレミスのサービスに接続します。ServiceBusTopicTrigger - Connect your code to other Azure services or on-premises services by subscribing to topics. 詳細については、Service Bus のバインディングに関するページをご覧ください。For more information, see Service Bus bindings.

Azure Functions は、コードの実行を開始する機能である "トリガー" と、データの入出力用コードを単純化する機能である "バインド" をサポートしています。Azure Functions supports triggers, which are ways to start execution of your code, and bindings, which are ways to simplify coding for input and output data. Azure Functions のトリガー機能とバインド機能について詳しくは、「 Azure Functions のトリガーとバインドの開発者用リファレンス」をご覧ください。For a detailed description of the triggers and bindings that Azure Functions provides, see Azure Functions triggers and bindings developer reference.

統合Integrations

Azure Functions は、さまざまな Azure サービスや サード パーティのサービスと統合されます。Azure Functions integrates with various Azure and 3rd-party services. これらのサービスは、関数をトリガーとして実行を開始したり、コードの入出力として利用したりできます。These services can trigger your function and start execution, or they can serve as input and output for your code. 次のサービス統合が Azure Functions でサポートされます。The following service integrations are supported by Azure Functions:

  • Azure Cosmos DBAzure Cosmos DB
  • Azure Event HubsAzure Event Hubs
  • Azure Event GridAzure Event Grid
  • Azure Mobile Apps (テーブル)Azure Mobile Apps (tables)
  • Azure 通知ハブAzure Notification Hubs
  • Azure Service Bus (キューとトピック)Azure Service Bus (queues and topics)
  • Azure Storage (BLOB、キュー、テーブル)Azure Storage (blob, queues, and tables)
  • GitHub (webhook)GitHub (webhooks)
  • オンプレミス (Service Bus を使用)On-premises (using Service Bus)
  • Twilio (SMS メッセージ)Twilio (SMS messages)

Azure Functions の価格How much does Functions cost?

Azure Functions には、2 種類の価格プランがあります。Azure Functions has two kinds of pricing plans. ニーズに最適なものを以下から選択します。Choose the one that best fits your needs:

  • 従量課金プラン - 関数が実行されるときに、必要なすべてのコンピューティング リソースが Azure から適用されます。Consumption plan - When your function runs, Azure provides all of the necessary computational resources. リソースの管理について考慮する必要がなく、コードを実行した時間に応じた料金のみを支払います。You don't have to worry about resource management, and you only pay for the time that your code runs.
  • App Service プラン - 関数を Web アプリ、モバイル アプリ、API アプリと同様に実行できます。App Service plan - Run your functions just like your web, mobile, and API apps. 既に App Service を他のアプリケーションに使用している場合、追加コストなしで、同じプランで関数を実行できます。When you are already using App Service for your other applications, you can run your functions on the same plan at no additional cost.

ホスティング プランの詳細については、Azure Functions のホスティング プランの比較に関するページをご覧ください。For more information about hosting plans, see Azure Functions hosting plan comparison. 価格の詳細については、 Functions の価格のページをご覧ください。Full pricing details are available on the Functions Pricing page.

次のステップNext Steps