新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Azure

JavaScriptでMicrosoft SQL Serverを使う方法

JavaScriptでMicrosoft SQL Server(MSSQL)を使う方法メモです。 ライブラリはMicrosoftも推奨しているtediousを使い、あまり凝ったことはせず、必要最低限の機能に絞ってまとめました。 tediosはコールバックスタイルのライブラリなのですが、今風にasync…

Microsoft Graph (Office365) API の、管理者アクセスできる、ユーザーなしトークンを取得して使用する方法

Microsoft Graph (Office365) APIの、管理者トークンの取得と使い方に関するメモです。 きっかけ Azure Active Directoryのユーザー・グループの追加・削除を、APIを使って行おうとしました。 Azure Active DirectoryのAPIは、Microsoft Graph (Office365) A…

Azure Active Directoryのシングルサインオン(SSO)で、アプリにログインできない時の対処方法

シングルサインオン(SSO)サービスに興味があって、一時期色々サービスを試していました。 www.kwbtblog.com Office365のユーザーをキーとしてログインしたかったので、結局Azure Active DirectoryのSSOを使うことにしました。用途としては、主にTableauのロ…

Google Cloud Storageでファイルとディレクトリを区別する方法

Google Cloud Storageで、サブディレクトリ内のファイル一覧を取得して、それらのファイルの処理をしようとしました。 しかし、ファイルがおかしいとエラーが出るので見てみたら、取得したファイル一覧に、サブディレクトリが含まれていました。 原因 前に勘…

Google Cloud Storageのサブディレクトリ一覧をNode.jsで取得する方法

以前、Google Cloud Storageのサブディレクトリ一覧を、GCP Pyhtonライブラリを使って取得したのですが、そのNode.jsバージョンです。 Pythonバージョンはこちら www.kwbtblog.com 手順 GCP Node.js SDKのドキュメントにサンプルがあるので親切ですね。 http…

クラウドを利用するということは、常時メンテコストが発生するということ

Google Cloud Platformからメールが来ていました。 Gooble Cloud Functionsで、当初作ったFunctionのNode.jsのバージョンが6だったのですが、今回バージョン6のサービスが終わるので、そのバージョンアップ要請のメールでした。 薄々意識はしていたのですが…

Microsoft Graph (Office365) API のトークンを取得して更新する方法

Web版のOffice365を操作する方法の1つに、Microsoft Graph (Office365) APIというものがあります。 例えば、Microsoft Graph (Office365) APIを使えば、Office365の外部から OutLookからメール送信 Excel Onlineのファイル編集 SharePointのファイル取得 な…

SQL Server(Azure SQL Database)に読み取り専用ユーザーを追加する方法

SQL Serverのデータを、BIツールで読み込んでグラフを作ったりしています。 その場合、データは読み取りしかしないし、色んな人がグラフを作るので、書き込み権限を持ったユーザーは使いたくなく、共有用に読み取り専用ユーザーを作成しました。 今回、SQL S…

Azure SQL Databaseで、データベースをまたいだクエリは書かない方がいい

SQL Serverを使うのは、Azure SQL Databaseが初めてだったので知らなかったのですが、SQL Serverでは、データベースをまたいだクエリは、下記のように、データベースを指定することによって簡単に書けます。 SELECT * FROM [<db_name>].dbo.test_table しかし、Azure </db_name>…

SSO(シングルサインオン)サービスを色々試してみる

SSO(シングルサインオン)に興味があって、SSOサービスを色々試してみた感想です。SSOは全く初めてで、SSOとは?から使い勝手までを簡単にまとめました。 動機 色々なウェブサービスを使っているのですが、それぞれにIDとパスワードがあって、とてもじゃな…

SQL Server で月・週ごとに集計する方法

データを月・週ごとに集計するには、まず日付の月・週の頭の日付を求め、その頭の日付でGROUPします。 Google BigQueryなど、頭の日付取得にDATE_TRUNC()関数が使える場合は、下記のような感じで集計できます。 SELECT DATE_TRUNC(dt, MONTH) AS dt_month ,S…

Microsoft(Office365)Flowから、Slackにファイルをアップロードする方法

メールが届いたら、そのメールの添付ファイルをSlackにアップロードしたいことがあって、そのタスク実行にMicrosoft(Office365)Flowを使おうとしました。 Microsoft(Office365)FlowにはSlackコネクターがあるので、それを使えば簡単に作れるかなと思った…

SQLでグループの最後のレコードを取得する方法

「ユーザーのイベントログで、ユーザーが一番最後に行ったイベントを抽出する」など、 グループで分けたデータの最後のレコードを取得したい時があります。 ウィンドウ関数を使うと、下記のような形で求めることができます。 WITH tbl AS ( SELECT * ,ROW_NU…

Spark(Google Dataproc)からMicrosoft SQL Server(Azure SQL Database)にアクセスする方法

Spark(Google Dataproc)から、Microsoft SQL Server(Azure Database)にアクセスする方法です。 手順 Spark設定 下記のSparkの設定をすると、SparkからSQL Serverのデータの読み書きができるようになります。 MS SQL ServerのJDBCのjarファイルをダウンロ…

SQL Server でカレンダーテーブルを作る方法

SQL Server(Azure SQL Database)で、カレンダーテーブルが欲しかったので作成方法メモです。 ググったところ、「WITH」でテーブルを作成し、そのテーブル定義の中の「UNION ALL」から再帰呼び出しして作るようです。 WITH _calendar AS ( SELECT CAST(N'20…

Microsoft (Office365) Flow のデータの参照方法について整理する

Microsoft Flowは、基本型・配列・マップ(オブジェクト)などのデータ種類があるのですが、操作はGUIでラップされているため、どうすればデータから目的の要素の値にたどりつけるのかが、とても理解しづらいです。 値への参照方法を知っていれば簡潔に書け…

Microsoft (Office365) Flow でエラーをキャッチする方法

Microsoft Flowを普通に使っていると、途中で何かエラーが発生すると、そこでアクションが止まってしまいます。 例えば、SQL Serverからユーザーリストを取得し、そのユーザーに対してSlackを送るFlowがあったとします。 ユーザーリストにユーザーがある場合…

Azure Functions の初回起動が遅すぎて何だかなぁという話

Azure Functionsという、AWS LambdaのAzure版的なサービスがあります。 MS FlowからAzureを操作したいことがあり、MS FlowにAzure Functionsのコネクタがあるので、Azure FunctionsでAzureを操作するFunctionを書けば、サーバーレスでできるのではと試してみ…

Azure Data Factory のパイプラインにAzure Node SDKからパラメータを渡す方法

Azure Node SDKを使って、Azure Data Factoryのパイプラインにパラメータを指定して実行しようとしてハマことのメモ書きです。 Data Factoryのパイプライン実行は、「DataFactoryManagemantClinet」オブジェクトの「pipelines」メンバーの「createRun」メソ…