Azure Logic Apps
新着メールをトリガーにペイロードを変換し、Azure SQL Database にレコードを書き込むノーコードの統合ワークフローを Logic Apps で構築します。
「Azure Logic Apps」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
Azure Logic Apps とは
Azure Logic Appsは、ドラッグ アンド ドロップ デザイナーを使って自動化されたワークフローを視覚的に構築できる、ローコード/ノーコードの統合プラットフォームです。各ワークフローは、ワークフローを開始するイベントであるトリガーと、順番に実行される 1 つ以上のアクションで構成されます。Logic Apps には、事前構築済みのコネクタを通じて、Office 365、Salesforce、ServiceNow、Azure SQL、Blob Storage など数百のサービスを接続できます。統合コードを最初から記述する必要はありません。
Logic Apps と Azure Functions の比較
Logic Apps と Azure Functions はどちらもイベント駆動型のサーバーレス自動化を実現しますが、対象とするユーザーは異なります。Logic Appsは、エンタープライズコネクタを利用した視覚的なノーコードワークフローを好む統合スペシャリストやビジネスアナリスト向けに設計されています。Azure Functionsは、プログラミング言語を完全に制御し、カスタムビジネスロジックや低レイテンシを必要とする開発者向けに設計されています。複雑な条件分岐やパフォーマンスが重要な処理には Azure Functions が適しており、SaaS 統合やビジネスプロセスの自動化には Logic Apps が適しています。
Logic Apps のホスティング:Consumption と Standard
Logic Apps には 2 つのホスティングプランがあります。Consumption(クラシック)は共有マルチテナントインフラストラクチャ上でワークフローを実行し、アクションの実行ごとに課金されます。実行頻度の低い自動化に適しています。Standardは専用のシングルテナント App Service インフラストラクチャ上で実行され、VNet 統合、マネージド API を使用したカスタムコネクタ、Logic App あたりの複数ワークフローをサポートします。Standard は App Service と同様に、プランの時間単位で課金されます。コンプライアンス上の分離や VNet 接続が必要なエンタープライズワークフローには Standard を選択してください。
# Create a Consumption Logic App
az logic workflow create \
--name MyLogicApp \
--resource-group MyRG \
--location eastus \
--definition @workflow-definition.json
# Create a Standard Logic App (requires an App Service plan)
az logicapp create \
--name MyStandardLogicApp \
--resource-group MyRG \
--plan MyAppServicePlan \
--storage-account mystorageaccountトリガー:ワークフローの開始
Logic Apps のワークフローは、特定のイベントが発生したときに起動するトリガーから始まります。ポーリングトリガーは、一定の間隔でサービスを確認します(たとえば Outlook の「新しいメールを受信したとき」は 1 分ごとに確認します)。プッシュトリガーは Webhook を使用し、イベントが発生するとすぐに起動します(たとえば「HTTP 要求を受信したとき」)。繰り返しトリガーはスケジュールに従って起動します。トリガーの出力データ(メール本文や HTTP ペイロード)は、ワークフロー内の後続するすべてのアクションで使用できます。
// Workflow definition snippet: HTTP trigger
{
'definition': {
'triggers': {
'manual': {
'type': 'Request',
'kind': 'Http',
'inputs': {
'schema': {
'type': 'object',
'properties': {
'customerName': { 'type': 'string' },
'orderTotal': { 'type': 'number' }
}
}
}
}
}
}
}アクションとコネクタ
アクションは、トリガーの後に実行されるステップです。各アクションでは、特定のサービスまたはプロトコル用に事前構築された統合アダプターであるコネクタを使用します。Logic Apps には、Office 365 Outlook、SharePoint、Azure SQL Database、Salesforce、Slack、Twitter/X、SAPのほか、汎用的な HTTP、SFTP、FTP コネクタなど、400 種類を超える組み込みコネクタとマネージドコネクタがあります。マネージドコネクタでは、認証と接続管理が自動的に処理されます。
// Workflow: send an email via Office 365 after HTTP trigger
// Actions section of the workflow definition:
{
'Send_an_email': {
'type': 'ApiConnection',
'inputs': {
'host': { 'connection': { 'name': '@parameters("$connections")["office365"]["connectionId"]' } },
'method': 'post',
'path': '/v2/Mail',
'body': {
'To': 'manager@contoso.com',
'Subject': 'New Order from @{triggerBody()["customerName"]}',
'Body': 'Order total: @{triggerBody()["orderTotal"]}'
}
}
}
}制御フロー:条件とループ
Logic Apps は標準的な制御フロー構造をサポートしています。Condition アクションは、式に基づいてワークフローを分岐させます(例:orderTotal > 1000)。Switch アクションは、値に基づいて異なる分岐へ振り分けます。For Each ループは配列を反復処理します(例:メールの各添付ファイルを処理する)。Until ループは、条件が true になるまでアクションを繰り返します。これらの構造はすべて、デザイナー上で視覚的に設定することも、ワークフロー定義内の JSON として設定することもできます。
// Condition action in workflow definition
{
'Check_order_value': {
'type': 'If',
'expression': {
'and': [{
'greater': ['@triggerBody()["orderTotal"]', 1000]
}]
},
'actions': {
'Notify_Manager': { /* send email action */ }
},
'else': {
'actions': {
'Auto_Approve': { /* approve action */ }
}
}
}
}式と関数
Logic Apps では、アクション間でデータを変換したり参照したりするために式言語を使用します。式は @{...} で囲み、文字列(concat、toLower)、配列(length、first、filter)、日付(utcNow、addDays)、JSON 操作、ワークフロー参照(triggerBody()、outputs('ActionName'))用の組み込み関数をサポートします。これらの関数は、ステップの実行時に実行時評価されます。
// Expression examples in Logic Apps actions
// Reference trigger data
'@triggerBody()["customerName"]'
// String manipulation
'@toUpper(triggerBody()["customerName"])'
// Date operations
'@addDays(utcNow(), 7)' // One week from now
// Reference previous action output
'@outputs("Get_customer")["body"]["email"]'
// Conditional expression
'@if(greater(triggerBody()["total"], 1000), "VIP", "Standard")'エラー処理:Run After と再試行
Logic Apps の各アクションには、実行タイミングを制御するRun After 設定があります。前のステップが成功した後、失敗した後、タイムアウトした後、またはスキップされた後のいずれかを指定できます。これにより、堅牢なエラー処理が可能になります。たとえば、前のステップが失敗した場合にのみ補償処理やアラート処理を実行するアクションを追加できます。各アクションには、下流サービスからの一時的な障害を自動的に処理するための再試行ポリシー(固定間隔、指数バックオフ)も設定できます。
// Action that runs only when a previous action fails
{
'Send_failure_alert': {
'type': 'ApiConnection',
'runAfter': {
'Process_order': ['Failed', 'TimedOut']
},
'inputs': { /* Teams notification */ },
'operationOptions': 'DisableAsyncPattern',
'runtimeConfiguration': {
'staticResult': null
}
}
}Azure サービスとの統合
Logic Apps は、主要な Azure サービスとトリガーおよびアクションの両方として直接統合できます。ストレージコンテナーに Blob が追加されたときにワークフローを起動し、結果をAzure SQL Databaseに書き込み、Azure Service Busにメッセージを送信し、カスタムロジックのためにAzure Functionを呼び出し、結果をLog Analytics ワークスペースに記録できます。このため Logic Apps は、カスタムコードなしで特殊な Azure サービスをつなぎ合わせる効果的なオーケストレーション層として機能します。
// Azure Blob trigger + SQL Database action pattern
// Trigger: 'When a blob is added or modified'
// Action 1: Read blob contents
// Action 2: Parse CSV/JSON body
// Action 3: 'Insert row' into Azure SQL Database
// Action 4: 'Delete blob' from source container
// Action 5: Send success notification email
//
// No custom code required for this common ETL pattern監視と実行履歴
Logic Apps のすべてのワークフロー実行は実行履歴に記録され、Azure portal からアクセスできます。各実行について、個々のアクションレベルで入力、出力、実行時間、エラーメッセージを確認できるため、デバッグが容易です。診断ログを有効にすると、実行履歴とトリガーログを Log Analytics ワークスペースに送信して、長期的な分析やアラートに利用できます。RunsFailed メトリックに対する Azure Monitor アラートを設定し、ワークフローの障害を検出してください。
# Enable diagnostic logging for a Logic App
az monitor diagnostic-settings create \
--resource '/subscriptions/.../providers/Microsoft.Logic/workflows/MyLogicApp' \
--name 'LogAnalyticsLogs' \
--workspace /subscriptions/.../workspaces/MyLogAnalytics \
--logs '[{"category": "WorkflowRuntime", "enabled": true, "retentionPolicy": {"days": 30, "enabled": true}}]'Logic Apps を選ぶ場面
次の用途にはLogic Appsを選択します。SaaS とエンタープライズ アプリケーションの統合(Salesforce、SAP、ServiceNow)、承認ワークフローを含む業務プロセスの自動化、ファイルのアップロードをトリガーとする ETL パイプライン、通知およびアラートのワークフロー、また、開発者ではない利用者(ビジネス アナリスト)がコードを書かずにワークフローの手順を変更する必要があるシナリオです。高頻度かつ低レイテンシーが求められるシナリオ(代わりに Azure Functions を使用します)や、式言語では利用できない複雑なプログラミング構造が必要な場合は、Logic Apps の使用を避けてください。
簡単な確認
このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、Azure Logic Appsが 400 以上の事前構築済みコネクタによるローコードのワークフロー自動化を提供すること、Run After の設定によってアクションごとにきめ細かなエラー処理を実現できること、そして開発者ではない利用者がワークフローを変更する必要があるSaaS 統合および業務プロセスの自動化に Logic Apps が適していることを学びました。次は Event Grid とイベント駆動アーキテクチャについて説明します。
AI チューターと学ぶ Cloud & IT Cert Prep — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 150
- レッスン
- 600
よくある質問
「Azure Logic Apps」レッスンは無料ですか?
はい。「Azure Logic Apps」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Azure Logic Apps」で何を学びますか?
新着メールをトリガーにペイロードを変換し、Azure SQL Database にレコードを書き込むノーコードの統合ワークフローを Logic Apps で構築します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Azure Logic Apps」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Azure Functions のトリガーとバインド
- ステートフル ワークフロー向け Durable Functions
- Azure Logic Apps
- Event Grid とイベント駆動型アーキテクチャ