BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

ASP.NET Core

GitHub Actions で Azure API Management の CI/CD (ASP.NET Core 6)

Azure API Management の裏に Web API があると、Web API の CI/CD と一緒に API Management の APIs も更新したいですよね。 公式ドキュメント ではめんどくさそうな実現方法が書かれていますが、APIs だけ更新したいなら Azure CLI で実現するのがシンプル…

ASP.NET Core 6 で Open API (Swagger) の定義ファイルを CLI で出力する (ローカル環境で実行編)

今回は ASP.NET Core 6 で Swashbuckle.AspNetCore の CLI を使って json または YAML で定義ファイルを出力するポイントを書いていきます。 ASP.NET Core 6 と書きましたが 3系や5系も基本的には一緒です。2系だと多少異なりますがもう使ってないと思うので…

Swagger UI の相対パスをカスタマイズする ( ASP.NET Core, OpenAPI, Swashbuckle )

最近 OpenAPI ( Swagger ) を設定するのに Swashbuckle の使い方を書いてましたが、その流れで相対パスの変更方法をメモしておきます。 相対パスの変更には2つのポイントがあります。 Swagger UI の相対パス swagger.json の相対パス それぞれ見てきます。 …

Swagger UI で Azure AD の認証をする (ASP.NET Core, Authorization Code Flow with PKCE)

前回は Open API の基本的な設定をしましたが、今回のゴールはこんな感じ。 Swagger UI の Authorize ボタンから Azure Active Directory (Azure AD) のサインイン画面にとんで、サインインできたらトークンを取得する Swagger UI で認証が必要な API を Aut…

ASP.NET Core で Open API ( Swagger ) の設定の基礎 (.NET Core 3.1 と .NET 5)

OpenAPI の tool set である Swagger の設定、しばらくしてなかったので改めてメモしていきます。 まず余談ですが、ASP.NET Core の Web API で Swagger を利用するときに使う NuGet package は、現時点では主にこの2つって感じです。 Swashbuckle.AspNetCor…

ASP.NET Core 5 のルーティングの基本

ASP.NET Core のルーティングについての簡単な自分用メモです。ようは Endpoint Routing についてです。 タイトルでは ASP.NET Core 5 と書きましたが Endpoint Routing は v2.2 で追加されて以前の Routing 機能よりパフォーマンスの向上もしているので使わ…

アダプティブダイアログ を使って Echo Bot を作ってみる (Bot Framework, C#)

先日 Cogbot でお話しした際にコーディングだけですましてしまったので、そのフォローアップとして話した内容やコードをまとめました。 はじめに Echo Bot の作成 EchoBot の Adaptive dialog を書いてみる root.dialog の追加 出力ディレクトリに常にコピー…

ASP.NET Core でセキュアな レスポンスヘッダー を設定する

Web を扱ってると「レスポンスヘッダー"ちゃんと"しましょう」ってやつはいつの時代でもあるものですが、それ系をあまりアウトプットしてなかったので書いておこうと思います。 ちなみに ASP.NET Core 3.1、動作確認した環境は個人的な興味のある Azure の W…

Azure AD の AppRoles ( アプリ ロール ) で認可 - 3: ASP.NET Core の実装

Azure AD で AppRoles を使って認証・認可をするのも、ようやく今回 ASP.NET Core (3.1)で Web API を作り、認証・認可を実現するターンです。 過去2つのブログでは 前々回、Azure AD の設定と AppRoles を定義 前回は、フロント側のサンプルコードで認証を…

Azure AD の AppRoles ( アプリ ロール ) で認可 - 2: SPAで認証トークンの取得

前回 AzureAD で AppRoles で権限を作って、ユーザーに割り当てました。 blog.beachside.dev 続編の今回は、フロントエンドのサンプルアプリで認証するメモです。 Azure AD を設定する上で一番重要と思っている Azure AD の "サポートされているアカウントの…

Azure AD の AppRoles ( アプリ ロール ) で認可 - 1: Azure AD の設定

例えば ASP.NET Core の Web API を Azure Active Directory ( Azure AD ) で認証をするとき、Azure AD の アプリの登録 ってメニューから登録をします( Web API が Azure AD を使いますっていうサービスプリンシパルの登録っすな)。 今回は Azure AD B2C …

Azure Web Apps の環境変数の管理の基本 ( Key Vault と User Secrets )

ASP.NET Core で Azure の Web Apps といった App Service にホストするアプリを作る際の接続族文字列の管理について整理しておきましょう。今回は SQL Database の接続文字列というソースコード管理上におきたくない情報を管理することを例にして進めます。…

Azure Pipelines で YAML を テンプレート 化する ( Web Apps / ASP.NET Core )

前回はシンプルに1ファイルで ASP.NET Core の Web アプリを Azure の Web Apps にデプロイする Multi-stage pipeline を作りましたが、今回は再利用できるようにテンプレートするという、自分用メモです。 それにしても、このブログ書きかけてから2週間ほっ…

Multi-stage pipelines で Azure Pipelines を構築する ( Web Apps 編 / Azure DevOps )

Azure DevOps の Azure Pipelines は、今までの作り方から新しくなり Multi-stage pipelines と呼ばれるものになりました(2019年5月の話ですが..)。 Release pipeline も Yaml できっちりかけるようになりました。以前の Builds と Releases のメニューが…

TensowFlow の学習モデルを C# で読み込む( ASP.NET Core 編)

犬種の画像分類の学習モデルを ASP.NET Core に組み込みんで画像分類できるようにします。 Azure の Custom Vision で画像の分類器を秒殺で作成することで(盛りました、作成に数分くらいです)、TensorFlow の画像分類のモデル作成のターンでは、機械学習の…

ASP.NET Core の インメモリー キャッシュ 機能を使う ( in-memory cache )

ASP.NET Core 2.2 で In-Memory にデータをキャッシュしておくための専用の機能のひとつ、System.Runtime.Caching/MemoryCache の使い方について軽く整理してみました。 In-Memory キャッシュの利用ガイドライン コーディング Nuget Package のインストール …

Azure Functions V2 の Startup.cs で appsettings.json を読み込む(2019年5月バージョン)

前回書いた Azure Functions の DI の方法だと、ASP.NET Core ではよく使う appsettings.json の読み込みがデフォルトで設定されていません。 local.setting.json ローカルデバッグ用の環境変数の設定はできるけど、 で困るのは Array とか object に対応し…

Azure Functions V2 での DI ( Dependency Injection ) : 2019年5月編

気づけば Azure Functions V2 のC#で DI ( Dependency Injection )が正式にサポートされましたね。依存性の注入とか依存関係の注入とか、MSのドキュメントだと依存関係の挿入とかってやつです。 実装のざっくりな要点は以下だと思ってます。 Startup.cs で D…

Azure Cosmos DB の一意キー制約(Unique Key Constraints)

Cosmos DB の一意キー制約(Unique Key Constraints)について、実装方法やエラー時の挙動を調べたメモです。 いきなり余談ですが、 一昔前に Cosmos DB で Collection と呼ばれていたものは、Azure の Portal だとまだ "Collection" と表現されていますが、…

Bot Builder V4 開発入門 : C# : 会話ログ を Blob Storage に保存

Bot Builder V4 での会話ロギングを、Nuget パッケージ: Microsoft.Bot.Builder.Azure でサクッと実装する方法のメモです。

Botファイル と botFileSecret : デバッグ時の例外 の 対応方法 ( Bot Builder V4 )

9月にフロリダで行われた Microsoft Ignite 2018 で、Bot Builder V4 (正確には v4.0.7 以降が対象)も大きな変更になり、私の過去のBotV4(4.0.1)ブログは無意味な情報になった今日この頃です。 Bot ファイル(拡張子が .bot のファイル)の Secret 関連も…

Bot Builder V4 (4.0.1-preview) 開発入門 : C# : Azure へ デプロイ

2019-10追記: 2018年9月末に GA したバージョン V4.0.7 で、破壊的変更が多かったためこのバージョンと互換の無い部分があります。バージョンにご注意くださいね。 Bot Builder V4 で開発した Bot を Azure にデプローイして動かそうってお話です。前回から…

Bot Builder V4 (4.0.1-preview) 開発入門 : C# : 準備編(Azure Bot Service / Microsoft Bot Framework)

2019-10追記: 2018年9月末に GA したバージョン V4.0.7 で、破壊的変更が多かったためこのバージョンと互換の無い部分があります。バージョンにご注意くださいね。 2018年7月時点で Bot Builder v4 は プレビュー中(Microsoft.Bot.Builder.Core v4.0.1-prev…

ASP.NET Core 起動時 の CreateDefaultBuilder() がやってくれること( ASP.NET Core 2.0 ~)

CreateDefaultBuilder メソッド ASP.NET Core 2.0 からはプロジェクトを作成すると、エントリーポイントとなる Program.cs > Main メソッドで WebHost.CreateDefaultBuilder メソッドが書かれています。 これは、ASP.NET Core 1系のアプリ起動時に毎回書いて…

ASP.NET Core の TempData (ASP.NET Core 2.1 ~)

ASP.NET Core(2.1)で TempData の動作確認しようと思った際のにメモです。

ASP.NET Core の SPA の Template が動かない(dist のフォルダーが作られない)

事象の再現方法は、 ASP.NET Core の SPA の Tempates から Angular のプロジェクトを作成(ここでは正常に動きます) GitHubやVSTSにPushする。 (別の人が)リモートからクローンしたソースをデバッグでエラーが出て動かない というものです。 ちなみに.NET…

Visual Studio 2017 リリース記念勉強会 で登壇させて頂きました♪

2017年3月11日に行われた「Visual Studio 2017 リリース記念勉強会」にて、ASP.NET Core の概要についてお話させて頂きました♪ csugjp.connpass.com 私の資料は… ASP.NET Core 概要(2017年3月時点) from BEACHSIDE (yokohama atsushi) www.slideshare.net …

React も Angular も ASP.NET Core で Get Started♪

2017年2月の .NET Core SDK が 1.0 RC4 に更新 されたことで、プロジェクトを作成するコマンド dotnet new がちょっと変わりました。 dotnet new コマンドで今まで作れたプロジェクトテンプレートに加えて、以下のSingle-Page Applications(SPA)のカスタム…

DocumentDB - リソーストークンを使ったアクセス - 2/2 ( Access to DocumentDB with resource tokens )

前回から引き続きで、以下のイメージを実装したものを動かしてみるところからです。(図はこちらから引用)。 結局のところ、今回書いた認証サーバーの役割をするAzure Functionsの実装と、最後に載せてるクライアント側を想定したコンソールアプリクラスが…

Azure DocumentDB のEmulatorを使って Quick Start

AzureのNoSQLサービス DocumentDB を、ローカル環境エミュレーターが2016-11月に発表されました。ブログは見てましたが全く試していなかったので、Quick Start用のサンプルコードを使って動かしてみます。 azure.microsoft.com 今回は、.NET Coreのサンプル…