BEACHSIDE BLOG

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

Azure

Azure のリソースの命名規則: 2020年版

ちょいちょい使う Azure のリソースの命名規則に関するドキュメント、ちょいちょいググるがめんどくなったのでリンクをメモしておきます(ブックマークとかする気はないのだ)。 docs.microsoft.com ドキュメント後半の"名前の例" にあるように、このドキュ…

Azure Active Directory の AppRoles で認可 - 3: ASP.NET Core の実装

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

Azure Active Directory の AppRoles で認可 - 2: SPAで認証トークンの取得

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

Azure Active Directory の AppRoles で認可 - 1: Azure AD の設定

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

Azure AD B2C の ID プロバイダー ( IdP ) に AWS Cognito を追加する

Azure AD B2C は ID プロバイダー(Identity Provider, IdP, また OpenID Provider, OP)として使うことができます。 雑にいうとユーザーのパスワードは AAD B2C で管理されている状態です。 また、Azure AD B2C を Relying Party (RP) として使うこともでき…

Azure AD B2C のカスタム属性を Graph API で管理する (後編)

前回は AAD B2C の設定をするだけで力尽きました。今回は Console App を使って、前回設定した Azure AD B2C のユーザーの情報やカスタム属性を取得・変更してみましょう。 カスタム属性は、前回 Tenant という名前の属性を追加したってことを前提に、Tenant…

Azure AD B2C のカスタム属性を Graph API で管理する (前編)

Azure AD B2C では、ユーザーの情報として Email や表示名、姓、名といったの一般的な Claim があります。それに加えて独自の Claim を追加することができます。 それがカスタム属性です。 Azure Portal からでは、カスタム属性を作成することがはきますが、…

Azure の Computer Vision まとめ ( Azure Cognitive Services: Vision 編 2020-03版 )

Cognitive Services のブログはしばらく書いてなかったし仕事でも使ってなかったので、そろそろ一通りのおさらいしようと思っています。 ということでまずは Azure の Cognitive Services の中で Vision 系のサービスのひとつ、Computer Vision API から始め…

Azure Data Studio で LocalDB に接続して SQL Notebook を実行する

Azure Data Studio から LocalDB に接続するときは何の値を入れればいいのかなーのメモ。 接続するだけだと寂しさを感じたので知名度が低い SQL Notebook でクエリを実行してみましょう。これは Jupyter Notebook のカーネルが SQL のやつです。 Local DB に…

Cosmos DB の Change Feed 機能と使い方 ( Azure )

Azure Cosmos DB の Change Feed は、データの変更を検知してイベントを発火できる超便利な機能です。Azure Functions の Cosmos DB Trigger を使うことで超簡単に利用できます。 個人的には近年 RDB はほぼ使ってなくて Cosmos DB ばっか使ってるわりに Cha…

Slack 通知用の Azure Functions の Custom Bindings を作る (2)

前回 Slack 側の準備と送信したいメッセージの json フォーマットを作りました。 blog.beachside.dev 今回は本題の Azure Functions の Custom Bindings を実装します。 作った順にコードを解説していきますが、コード全部は下の方にリンク張ってます。 Azur…

Slack 通知用の Azure Functions の Custom Bindings を作る (1)

自分のアプリから Slack への通知を、Azure Functions の Custom Bindings を使って作ります。 Slack の Incoming Webhook を使うことで簡単に Slack へ送信できるため、Logic Apps ...いやそれより Functions で HTTP Request 投げた方が早いですが、時間を…

Azure Database for PostgreSQL の入門 Tips と Data Studio を使って接続

Azure Database for PostgreSQL を作って Azure Data Studio でアクセスしてみようってお話です。 SQL Database と Cosmos DB ばかり触っているので、PostgreSQL をいじったり参考ドキュメントの整理にメモしてみました。 Azure Database for PostgreSQL (Si…

Azure のアイコン ( svg ) を取得する

資料作成時に利用する Azure の svg のアイコンの一覧記載のサイトってどこだっけ?ってなるのがめんどくさいのでメモしておきます。 サイトからダウンロード(イマイチ) Chrome の拡張で取得(おすすめ) サイトからダウンロード(イマイチ) Icons 以前の…

Azure Machine Learning の Workspace アクセス時に認証エラー

Azure Machine Learning ( ml.azure.com ) では、Workspace で NotebookVM を作りそのVM上で Jupyter Notebook を起動できます。 ちなみに Azure AI Advent Calendar 初日の投稿です!まだ空きがありますよ! qiita.com 一応説明しておくと、Azure Machine L…

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

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

Easy Auth の App Service Token Store

前回 App Service の Authentication / Authorization feature (a.k.a. Easy Auth ) のアーキテクチャーに関する Chris さんのブログの意訳をしましたが、その続編の Chris さんのブログを今回も意訳します。2016年の記事ですが、参考になります。 オリジナ…

Easy Auth のアーキテクチャ ( Azure App Service Authentication / Authorization )

App Service には、ポチポチーしただけでコードを変更することなく認証ができてしまう Easy Auth という素晴らしい機能があります。 公式ドキュメントはこちら。 docs.microsoft.com 公式ドキュメントの内容は十分に充実してますが、作ったChris Gillum さん…

Azure Storage の 冗長性 のまとめ

Azure の Storage の冗長化をする際のレプリケーションの構成や、余談で Blob のアクセス層に関して簡単にまとめます。Data Lake storage Gen2 には触れません。 冗長化の構成 冗長化のオプションのキーワード L: Local Z: Zone G: Geo RA: Read Access 冗長…

GitHub のコードを Azure Pipelines 使って Azure Artifacts へ公開 (NuGet パッケージ, Azure DevOps )

前回は NuGet パッケージの作る際の注意点と手作業での Azure Artifacts への発行をメモしましたが、 今回は Azure Pipelines で CICD します。 公式ドキュメントの左側のメニューで "classic" と記載のある古い時代の Release pipelines ではなく、Multi st…

NuGet パッケージ 作成と Azure Artifacts へ公開 ( Azure DevOps )

今回は .NET Standard のライブラリを NuGet パッケージ化して手作業で AzureDevOps の Artifacts への発行をします。次回 Azure DevOps の Pipelines を使って発行を自動化します。 また NuGet Package を作成するの備忘録として、バージョン管理とかライセ…

MS Teams 通知用の Azure Functions の Custom Bindings を作る

Azure Functions には、バインディング ( bindings ) という仕組みがあります。これを使うことでいちいち細かいコードを書かなくても設定と少量のコードで、Queue トリガーを指定したり、Cosmos DB からデータを取得したり登録したりできます。 bindings の…

Durable Functions の状態管理と起動の基本 ( Azure Functions / C# )

Durable Functions を使うと、基本的に Azure の Storage で状態が管理されますが、久ぶりに使ったときに基本的な内容が改めて全く記憶がなかったのでメモしました。 状態管理 Table Queue 起動 Durable Functions の基本構成 starter の起動 Orchestrator …

Durable Functions: Human interaction pattern ( 人による操作 pattern )

Azure Functions の拡張機能である Durable Functions にはいくつかの実装パターンがありますが、ここでは Human interaction pattern を取り上げます。 今年の1月頃に書きかけてから、書くほどのことでもないなーと放置してたブログを更新しました...あの頃…

Azure のコストが一定額に達したら Slack とか Teams に通知する

Azure ではいくつかのコスト管理と通知に関する設定があります。 制限の手段として、何らかの特典でクレジットカードを登録したけど無料の範囲でしか使わない場合は、Azure Portal ではなく、アカウントポータル: https://account.azure.com/Subscriptions/…

Azure Pipelines で Multi-stage 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 のメニューが…

QnA Maker の Web API を Ptyhon + Azure Functions でアクセス

前回は ヨガのポーズとその説明のデータを準備しました。続編の今回は、QnA Maker を使ってヨガのポーズを質問したらポーズの特性を答えてくれる Knowledge Base (KB、質問投げたら回答してくれるFAQチャットみたいなもの) をノーコーディングで作成します。…

QnA Maker でヨガのポーズからその特徴を調べる( Python でスクレイピングしてデータ準備編 )

もし、ヨガのレクチャーを受けたとき、そのポーズがなんの効果があるか知りたいと思うだろうと妄想したので QnA Maker などを使って解決しようと思いました。 (ヨガのレクチャー受けてるときはポーズになんの効果あるかとか説明ありそうですけどね、まだ受…

Speech Service の Speech To Text で音声をコンソールに表示する ( Azure Cognitive Services )

Microsoft Inspire で HoloLends 使った翻訳デモがあったりして盛り上がりを感じたので久々に触ってみようと思いました。 今回は、話した音声を Speech to Text でテキスト化して表示するコンソールアプリを作ります。 プロジェクト作成と Nuget のインスト…