yotiky Tech Blog

とあるエンジニアの備忘録

Azure Functions

ASP.NET Core と Azure App Service のアップロードのサイズ制限

目次 目次 検証環境 ASP.NET Core App Service ホスト リクエスト本文のサイズ制限 IIS Kestrel マルチパート本文のサイズ制限 おまけ (Azure Functions) 参考 検証環境 APS.NET Core 5.0 Web アプリ(MVC) Azure App Service ASP.NET Core APS.NET Core で…

Application Insights に出力された例外を検知する

目次 目次 検証環境 概要 設定 通知 参考 検証環境 Azure Functions v3 Application Insights 概要 Azure Monitor はクラウドおよびオンプレミス環境のアプリケーションとサービスのテレメトリを収集、分析し、問題に対応するための包括的なソリューションで…

Azure Functions で FunctionExceptionFilter を使って例外を処理する

目次 目次 検証環境 概要 実装 FunctionExceptionFilter IFunctionExceptionFilter FunctionExceptionFilterAttribute FunctionInvocationFilter IFunctionInvocationFilter FunctionInvocationFilterAttribute 実行結果 参考 検証環境 Azure Functions v3 …

Azure Functions で アップロードした ZIP ファイルの中身を列挙する

目次 目次 検証環境 実装 エンコード 参考 検証環境 Azure Functions v3 実装 using System.IO.Compression; foreach (var file in form.Files) { using (var stream = file.OpenReadStream()) using (var zip = new ZipArchive(stream, ZipArchiveMode.Read…

Azure Functions INDEX

Visual Studio で Azure Functions に HttpTrigger のAPIを作成する Visual Studio で Azure Functions に QueueTrigger のAPIを作成する Azure Functions を Visual Studio で発行する際に発生したエラーの解決方法 HttpRequest のQueryとBodyから値を取得…

Azure Functions 備忘録

目次 目次 AuthorizationLevel リクエストのサイズ制限 AuthorizationLevel 値 説明 Anonymous API キーは必要ありません。 User *EasyAuth で使われる予定らしいが未だサポートされていないらしい Function 関数固有の API キーが必要です。 何も指定されな…

Azure Functions で 複数ファイルをアップロードする

目次 目次 検証環境 サーバーサイド クライアントサイド webkitdirectory 属性 Postman 検証環境 Azure Functions v3 Postman Chrome Edge (Chromium) サーバーサイド クライアントからは、multipart/form-data 形式で POST してもらう想定。 [FunctionName(…

Azure Functions で Swagger UI

NSwag は NSwag.SwaggerGeneration.AzureFunctionsV2 が更新されておらず、V3ではエラーが出て動かなかったため、Swashbuckle を使用する。 目次 目次 検証環境 実装 参考 検証環境 Azure Functions v3 AzureExtensions.Swashbuckle v3.2.2 古いライブラリに…

Azure Functions で Azure Cosmos DB (Table) を操作する

目次 目次 検証環境 実装 テーブル作成 挿入 取得 削除 補足 参考 関連記事 検証環境 Azure Functions v3 Microsoft.Azure.Cosmos.Table v1.0.8 古いライブラリに注意 WindowsAzure.Storage は非推奨 Microsoft.Azure.CosmosDB.Table はまもなく非推奨 実装 …

Azure Functions で Azure Queue Storage を操作する

目次 目次 検証環境 実装 キューの作成 メッセージの追加 メッセージの表示 メッセージの更新 メッセージの受信 メッセージの削除 キューの削除 その他 メッセージのエンコード 関連記事 検証環境 Azure Functions v3 Azure.Storage.Queues v12.6.0 実装 NuG…

Azure Functions で Azure Table Storage を操作する

目次 目次 検証環境 実装 挿入 取得 削除 参考 関連記事 検証環境 Azure Functions v3 Microsoft.Azure.Cosmos.Table v1.0.8 古いライブラリに注意 WindowsAzure.Storage は非推奨 Microsoft.Azure.CosmosDB.Table はまもなく非推奨 実装 NuGet でライブラリ…

Azure Functions で Azure Blob Storage にファイルを保存する

目次 目次 検証環境 実装 関連記事 検証環境 Azure Functions v3 Azure.Storage.Blobs v12.8.0 実装 Azure Functions のプロジェクトに NuGet で「Azure.Storage.Blobs」をインストールする。 using Azure.Storage.Blobs; using Azure.Storage.Blobs.Models;…

Azure Functions で Shared Access Signatures (SAS) を発行する

目次 目次 検証環境 概要 実装 コンテナの SAS トークン Blob の SAS トークン 参考 関連記事 検証環境 Azure Functions v3 Azure Storage Blobs v12.8.0 概要 Shared Access Signatures (SAS) は、リソースへのアクセス権に制限を付けてトークンを生成し、S…

Azure Managed ID を利用する

目次 目次 概要 Azure Functions にアクセスを割り当てる場合 関連記事 参考 概要 Managed ID は、 Azure Active Directory (Azure AD) で提供されるリソースに割り当てられた ID 。 Managed ID を有効にすることで Azure AD による管理と資格情報を使わない…

Azure Functions で Azure App Configuration から設定を読み込む

Azure App Configuration は複数のアプリケーションで、アプリケーション設定と機能フラグを一元に管理し共有するサービス。 目次 目次 App Configuration を設定する App Configuration ストアに接続する 接続文字列 実装 エンドポイント Azure Functions …

Azure Functions で Startup クラスを定義して DI を利用する

Azure Functions は、v2 で DI を正式にサポート。 Startup クラスを(自分で)定義し、 DI を設定することで Azure Functions にインジェクションすることができるようになる。 目次 目次 検証環境 インストール 使い方 基本的な使い方 環境変数を設定する …

Azure Functions で Azure Key Valut から設定を読み込む

Azure Key Valut は、トークン、パスワード、証明書、API キー、接続文字列、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できるサービス。(参考) 目次 目次 Azure Functions に Managed Id を設定 Azure Key Vault を設定 アプリ…

Azure Functions で Azure Storage への接続情報

目次 目次 検証環境 直書き 設定情報から取得 設定 実装 参考 関連記事 検証環境 Azure Functions v3 Azure Blob Storage Azure.Storage.Blobs v12.8.0 (ライブラリ) 直書き サンプルコード向けなら直書き。 var blobServiceClient = new BlobServiceClient(…

Azure Functions で Azure Blob Storage からファイルを取得する

目次 目次 検証環境 実装 関連記事 検証環境 Azure Functions v3 Azure.Storage.Blobs v12.8.0 実装 Azure Functions のプロジェクトに NuGet で「Azure.Storage.Blobs」をインストールする。 using Azure.Storage.Blobs; private static string connectionS…

Azure Functions で MeCab.DotNet を使って形態素解析

目次 目次 概要 インストール サンプル実装 プロジェクト設定 Azure Blob Storage にアップロード 実行 概要 Azure Functions で形態素解析を行うため MeCab.DotNet を使用します。こちらのライブラリはローカルディレクトリから辞書ファイルを読み込むため…

Azure Functions プロジェクトの .gitignore ファイル

github.com

HttpRequest のQueryとBodyから値を取得する拡張メソッド

Azure Functions でクラスを追加するとテンプレートについてくる例のやつをやるのが面倒になったのでサンプルコード置いておきます。 パフォーマンス無視したコードになるので利用する際は自己責任で。 あとDynamicJson使ってるので適宜。 github.com before…

Azure Functions を Visual Studio で発行する際に発生したエラーの解決方法

環境 Windows 10 Visual Studio 2019 問題1 Visual Studio で発行を実行すると以下のエラーが出て失敗する。(エラー内容はうろ覚え) 'Error generating extension metadata: System.IO.DirectoryNotFoundException: The path '[...]\bin\Debug\netcoreapp2…

Visual Studio で Azure Functions に QueueTrigger のAPIを作成する

TL;DR Visual Studio でQueue Triggerを使ったAzure Functions のAPIを実装します。 開発環境の準備は含まれないため、Visual Studio を使用する Azure Functions の開発 などを参考にしてください。 目次 TL;DR 開発環境 プロジェクトを作成する ローカルで…

Visual Studio で Azure Functions に HttpTrigger のAPIを作成する

TL;DR Visual Studio でAzure Functions のAPIを実装します。その後、Visual StudioからAzure App Serviceを新規作成し発行します。 また、PostmanおよびPowershellを使ってローカルでの確認とAzureで動作確認します。 APIはHttpTrigger(GET/POST)で、リク…