Pandora Pocket

IT系と日常系の備忘録。三日坊主。

名古屋市上下水道代をクレジットカード決済に切り替えた

ほかの地域の方は今更?って感じかもしれないですが、名古屋市はこれまで口座振替か納入通知書による支払でしか上下水道代を支払うことができませんでした。

この度2020年4月からようやくクレジットカード決済に対応したので、さっそく切り替えることに。

続きを読む

「Ok Google,パソコンの電源を入れて」 を実現したい(IFTTT、MQTT、Raspberry Piを用いる方法)

家で仕事をしているのですが、普段寝る前にはパソコンの電源を落としています。
朝起きて身支度をして、仕事部屋に行ってからパソコンの電源を入れて・・・よりはデスクの前に来た段階で電源が入っていてほしい。

というわけで、朝起きたときに枕もとのGoogle Assistantに「パソコン付けて」というだけで電源が入るようにしました。

続きを読む

MQTTのクライアント側処理サンプル(.NET Core 汎用ホスト版)

個人的に作ってるアプリで必要だったので調べた成果。

MQTT BrokerはBeebottleを想定しつつ、一応汎用的に動くはず。

Beebottleの場合、アカウントIDにトークンを指定してください。

内部的にはMQTTのライブラリとして MQTTnet を使用しています。

Visual StudioでのASP.NET Core開発時のスマホ検証用にlocalhost外のアクセスができるようにする

Visual StudioASP.NET Coreの開発をする際、開発マシンでの検証だけでなく、iPhoneAndroidでの表示を確認したい時があります。

標準だと localhost で指定されており、そのままでは外部からアクセスはできないため、設定する必要があるのでメモ。

前提

ファイアーウォールで該当ポートが解放されていること。

launchSettings.jsonでの指定

launchSettings.json のapplicationUrlは初期設定ではlocalhostになっているので、ここを開発マシンのプライベートIPアドレスに変更。

この方法、なぜかlaunchBrowserをtrueにしてるのに起動しない謎。

appsettings.jsonでの指定

こちらのほうがおすすめ。

appsettings.jsonまたはappsettings.Development.jsonurlshttp://*:5000;https://*:5001 を指定。
こちらだとホスト名がlocalhostだろうが開発マシンのIPアドレスだろうが行けるので便利。

そのほか

CreateHostBuilderUseUrlsに指定する方法があるんですが、ソースコードに書くのはちょっと・・・。

Azure Functions v3でCosmosDBの基本処理を実行するためのサンプルプロジェクト

せっかくAzureでCosmosDBの無料枠ができたので、使わない手はないなと思って基本的な挙動確認用のプロジェクトを作成してみました。

CosmosDBのデータベース、コンテナ作成から登録更新検索削除の一通りの基本処理をAzure Functionsのv3環境で実装しています。

学習がてらDI実装。Azure CosmosDB Emulator をインストールすればローカル実行可能です(というよりはまだAzure上で確認してない)。

あくまでサンプルなので異常系の対応とかは特に入ってません。

余談

当初せっかくv3環境なのでNewtonsoft.Jsonを用いず、System.Text.Jsonを利用しようと考えていたのですが、うまくいかず断念しました。
プロパティ名は頭を大文字にするため、Newtonsoft.Jsonだと JsonProperty を用いて別名を指定するわけですが、同じ挙動をするはずのSystem.Text.JsonJsonPropertyName だと

The input content is invalid because the required properties - 'id; ' - are missing

というエラーが出てしまい実行に失敗してしまいます。
どうもCosmosDBのv3SDKはまだNewtonSoft.Jsonにがっつり依存しているため、System.Text.Jsonを使いたいならv4までまて、ということのようです。

余談の追記

Version 3.1.2からSerializerOptionsでcamelCase指定ができるようになってたようです。
これを設定しておけばそもそもJsonPropertyの指定も不要ですね。

参考サイト