1923

都内と業界の隅っこで生活しているエンジニアのノート

Azure

Azure Container Apps と Dapr と Go のサンプル

Azure Container Apps で動かす Goアプリから Dapr 経由でHTTPとかSMTPのサービスを使ってみます。合わせて、よく使いそうなSendGridでメール送信、Cronで定期実行も試したので記載。 まずは単純にnet/httpパッケージで、サンプルコードを実行するHTTPサーバ…

Go で Azure App Configuration を使う

Go で Azure App Configuration。REST API を使って値を取得してみます。 docs.microsoft.com 認証 何はともあれ認証です。HMAC と Azure Active Directory (Azure AD) がサポートされていますので両方試してみます。 docs.microsoft.com HMAC コードはHMAC …

Go の gRPC サーバーで Azure AD B2C の JWT 使ってみる

Go で gRPC サーバーを実装して、Azure AD B2Cで認証を試してみます。チュートリアルを参考に Azure AD B2C を準備します。 チュートリアル:Azure Active Directory B2C テナントの作成 チュートリアル:Azure Active Directory B2C に Web アプリケーション…

Azure Functions カスタム ハンドラー + Golang で Event Grid トリガーを試してみる

Azure Functions custom handler in Go に EventGridTrigger がなかったので試してみました。 カスタム ハンドラーの説明、その他のサンプルは以下にありますので、設定とコードのみざっくりと。 Azure Functions のカスタム ハンドラー GitHub - Azure-Samp…

Golang + SQLBoiler で Azure SQL Database を使ってみる

GoのORM、SQLBoilerを紹介して頂いたのでSQL Databaseで試してみます。 試した環境がAzure+SQL Databaseですが、特にローカルなどでSQL Serverを使った場合と同じかと思います。 Quickstart: Create an Azure SQL Database single databaseを参考にSQL Datab…

Azure Container Instances のGoアプリから Fluentd 経由で Azure Monitor にログ出力

Azure Container Instances(ACI)で動いているGoアプリのログをAzure Monitorに送信してみます。今回はGoアプリから直接送らずに同じコンテナグループ内のFluentd経由でAzure Monitorにログを転送しています アプリの準備 fluent-logger-golangを使って、Goア…

Azure Functions カスタム ハンドラー + Golang でマネージド ID を使用して Azure Database for MySQL に接続する

Azure Functions のカスタム ハンドラー の Timer trigger で Golang のプログラムを実行。 マネージド IDを使用して、Azure Database for MySQL のデータベースへの接続を試してみます。 Function App と MySQL のデータベースは作成済み。MySQLのファイア…

Azure Functions カスタム コンテナーで Golang を使う

Azure Functions のカスタム ハンドラーが GA です。カスタム ハンドラーを使うと Golang でもで関数アプリを実装することができます。 ですが・・・今回は、Azure Functions カスタム コンテナーです。Azure Functions Core Tools 使って function app と D…

Golang で Azure Blob Storage

Go 始めてみようと Tour of Go を終えた後、Azure Blob Storage を使った簡単なサンプルWebサイトを作った備忘録です。 Webフレームワークは最初に見かけた Gin を使って、Blobの操作は クイック スタート: Go を使用して BLOB をアップロード、ダウンロード…

Azure IoT Hub でメッセージの送信と受信を試してみた

IoT Hubでメッセージの送信と受信を試したメモです。 UWPアプリからIoT Hubにメッセージを送信して、 Functions で受信したメッセージをそのままデバイスに送信しているだけです。 公式サイトのドキュメントや、サンプルも豊富にあるので簡単に試すことでき…

Azure Pipelines で Expo にデプロイ

Expo公式サイトの Setting up Continuous Integration に Azure Pipelines の設定なかったので記載。 やってることは同じですし、他とちょっとタスク名が違う程度です。 Jestでテスト Expoのユーザー名とパスワードを Key Vault から取得 expo-cli で login …

React Native (Expo) から Azure Functions と SignalR Service のクイック スタートのサンプルアプリを試してみた

クイック スタート:C# を使用した Azure Functions と SignalR Service によるチャット ルームの作成のクライアントテストアプリケーションを Expoで作成して試してみます。 docs.microsoft.com 記事の中で紹介されている サンプルのシングル ページ Web ア…

GraphQL for .NET で Azure Functions + Cosmos DB を試してみた

Azure Functions で .NET を使って GraphQL の QueryとMutation を試してみました。 以下のブログと紹介されているコードを読めば特に説明不要ですね。 www.tpeczek.com www.tpeczek.com 追加するするパッケージも以下の3つだけ。 GraphQL.Server.Core Micr…

gRPC-Web for .NET のサービスを Azure App Service にデプロイしてブラウザからアクセスする

gRPC-Web for .NETが正式リリースされましたので、簡単なアプリを Azure App Service にデプロイしてWebブラウザからアクセスしてみます。 詳しい手順が書かれた公式ドキュメントが揃っていますのでメモ程度です。 環境 - Windows 10 / Visual Studio 2019 S…

MSAL.js(v2) で取得したトークンを使用して JavaScript 用 Azure Blob Storage v12を使う

Azure Functions や Web Apps を使わず静的なサイトでBlobを扱いたかったので、前回試していたMSAL.js(v2)のトークンを使って試しにBlobのコンテナ一覧を取得してみます。 REST APIを直接呼ぶ場合は、acquireTokenSilent で取得した accessToken を Bearer …

MSAL.js(v2)をTypeScriptで試してみる

MASL.js(V2)を使用してみます。まだ動いたので Azure Management Service API使ってサブスクリプションの一覧を取得してみます。 Microsoft ID プラットフォームのコード サンプル (v2.0 エンドポイント) の 認証コード フローと PKCE を使用した Microsoft …

Azure Storage での静的 Web サイト ホスティング

前回作ったD3.jsの世界地図をベースに簡単な地図の色塗りサイト作りましたので、Azure Storage + Azure CDN の静的 Web サイトでホスティングします。 もともとAzure Repos でソース管理していましたので、Azure Pipelines でビルドからデプロイの自動化まで…

RBAC を使って Azure Monitor の Azure Storage メトリックからBLOBストレージの容量を取得

Azure Monitor から 使用しているBLOB ストレージの容量を取得してみます。今回は .NET SDK で取得しますので以下とほぼ同じです。 Azure Monitor の Azure Storage メトリック- .NET SDK でメトリックにアクセスする 上記を参考に、今回は RBAC を使って取…

Azure CDNで動的サイトをまるっと配信

今年の2月にAzure CDNでカスタムドメインがサポートされたこともあり、WebサイトをまるっとCDN経由にする場面も増えているような気もします。 ということで、各地域からアクセスがあるような動的サイトをまるっとCDN経由にして高速化してみます。 今回は、画…

Cosmos DBでバルクアップデート

追加でCosmos DBのバルクアップデート。 複数のidに対して同じ値で更新する簡単なストアドです。取得・更新を1件ごとにREST APIで処理すると12RU/件前後(IDで取得=1, 更新=11)。10件程度をストアドで一括更新したときは75.18でした。やはりお得ですね。 bulk…

Cosmos DBにストアドプロシージャでバルクインサート

前回は1ドキュメント/APIでインポートしました。 Cosmos DBはJavaScriptでストアドプロシージャを記述することができますので、ストアドプロシージャを使って一括でインポートしてみます。 今回290件ほどデータを追加していますが、個別追加はRUが6.2-6.6/件…

Cosmos DBにSQL Serverのデータをインポート

Cosmos DBのDocumentDB APIで使用するデータをインポートします。今回はローカルSQL Serverのデータ(AdventureWorks2016CTP3)がソースです。 方法はいろいろありますが、今回試したのは簡単にできるツールとPowerShellの2つ。 データ移行ツールを使う デ…

Cosmos DB はじめました

Cosmos DB をちょっと使い始めてみたので書き付け。 最初にCosmos DBはAzureのNoSQLデータベースサービスという程度の知識しかないので、以下のサイトでお勉強。 Azure Cosmos DB Documentation Azure Cosmos DB入門 - ryuichi111stdの技術日記 Azure Cosmos…