Azure App サービスでSharePoint IFTTT フローをトリガー
Azure Logic Apps は ノーコードでアプリを構築できるクラウドサービスです。さらにCData Connect AI と連携することで、ノーコードアプリ開発用のSharePoint のデータへのクラウドベースのアクセスをノーコードで追加できます。本記事では、CData Connect AI 経由でAzure Logic Apps からSharePoint 連携を実現する方法を紹介します。
SharePoint データ連携について
CData を使用すれば、SharePoint のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:
- Windows SharePoint Services 3.0、Microsoft Office SharePoint Server 2007 以降、SharePoint Online を含む、幅広い SharePoint バージョンのデータにアクセスできます。
- 非表示カラムとルックアップカラムのサポートにより、SharePoint のすべてにアクセスできます。
- フォルダを再帰的にスキャンして、すべての SharePoint データのリレーショナルモデルを作成できます。
- SQL ストアドプロシージャを使用して、ドキュメントや添付ファイルをアップロード・ダウンロードできます。
多くのお客様は、SharePoint データをデータベースやデータウェアハウスに統合するために CData ソリューションを活用していますが、Power BI、Tableau、Excel などのお気に入りのデータツールと SharePoint データを統合しているお客様もいます。
お客様が CData の SharePoint ソリューションで問題を解決している方法については、ブログをご覧ください:Drivers in Focus: Collaboration Tools
はじめに
Connect AI を構成
Azure Logic Apps でSharePoint のデータを操作するには、Connect AI からSharePoint に接続し、コネクションにユーザーアクセスを提供してSharePoint のデータのOData エンドポイントを作成する必要があります。
SharePoint に接続したら、目的のテーブルのOData エンドポイントを作成します。
(オプション)新しいConnect AI ユーザーの追加
必要であれば、Connect AI 経由でSharePoint に接続するユーザーを作成します。
- 「Users」ページに移動し、 Invite Users をクリックします。
- 新しいユーザーのE メールアドレスを入力して、 Send をクリックしてユーザーを招待します。
- 「Users」ページからユーザーを確認および編集できます。
パーソナルアクセストークン(PAT)の追加
OAuth 認証をサポートしていないサービス、アプリケーション、プラットフォーム、またはフレームワークから接続する場合は、認証に使用するパーソナルアクセストークン(PAT)を作成できます。きめ細かなアクセス管理を行うために、サービスごとに個別のPAT を作成するのがベストプラクティスです。
- Connect AI アプリの右上にあるユーザー名をクリックし、「User Profile」をクリックします。
- 「User Profile」ページで「Access Token」セクションにスクロールし、 Create PAT をクリックします。
- PAT の名前を入力して Create をクリックします。
- パーソナルアクセストークン(PAT)は作成時にしか表示されないため、必ずコピーして安全に保存してください。
Connect AI からSharePoint に接続
CData Connect AI では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。
- Connect AI にログインし、 Add Connection をクリックします。
- 「Add Connection」パネルから「SharePoint」を選択します。
-
必要な認証プロパティを入力し、SharePoint に接続します。
Microsoft SharePoint への接続
URL の設定:
Microsoft SharePoint では、2つの範囲でデータを操作できます。グローバルなMicrosoft SharePoint サイト全体を対象にするか、個々のサイトのみを対象にするかを選択できます。
グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作したい場合は、URL 接続プロパティをサイトコレクションURL に設定しましょう。以下のような形式です。
https://teams.contoso.com
個々のサイトのリストおよびドキュメントのみを扱いたい場合は、URL 接続プロパティを個々のサイトURL に設定してください。以下のような形式です。
https://teams.contoso.com/TeamA
続いて、お使いの環境に適した認証プロパティを設定していきましょう。詳細な設定手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご参照ください。
Microsoft SharePoint Online
SharePointEdition を"SharePoint Online" に設定し、User およびPassword にはSharePoint へのログオンで使用するクレデンシャル(例:Microsoft Online Services アカウントのクレデンシャル)を設定します。
Microsoft SharePoint Online は様々なクラウドベースアーキテクチャをサポートしており、それぞれ異なる認証スキームが利用できます。
- Microsoft Entra ID(Azure AD)
- ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
- Azure MSI
- Azure パスワード
- OAuthJWT
- SharePointOAuth
Microsoft SharePoint オンプレミス
Microsoft SharePoint オンプレミスでは、多くのオンプレミス環境に対応した認証方式をサポートしています。
- Windows(NTLM)
- Kerberos
- ADFS
- 匿名アクセス
まずSharePointEdition を"SharePoint On-Premises" に設定しましょう。
Windows(NTLM)認証
これは最も一般的な認証方式です。そのため、CData 製品ではNTLM をデフォルトとして使用するよう事前設定されています。Windows のUser およびPassword を設定するだけで接続できます。
- Create & Test をクリックします。
- 「Add SharePoint Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。
Connect AI にSharePoint OData エンドポイントを追加する
SharePoint に接続したら、目的のテーブルのOData エンドポイントを作成します。
- OData ページに移動し、 Add をクリックして新しいOData エンドポイントを作成します。
- SharePoint 接続(例:SharePoint1)を選択し、Next をクリックします。
- 使用するテーブルを選択し、「Confirm」をクリックします。
コネクションとOData エンドポイントを設定したら、Azure Logic Apps からSharePoint のデータに接続できます。
Logic App でSharePoint にアクセス
Logic App でCData Connect AI を使用し、SharePoint の周りにプロセスフローを作成できます。HTTP + Swagger アクションは、SharePoint に対して実行する操作を定義するためのウィザードを提供します。以下のステップでは、Logic App でSharePoint を取得する方法を説明しています。
テーブルにレコードの作成日を含むカラムがある場合は、以下のステップに従って新しいレコードのカラム値をチェックする関数を作成できます。それ以外の場合は、[Create a Logic App]セクションにスキップし、フィルタに一致するエンティティにメールを送信します。
新しいSharePoint エンティティを確認
特定の新しいSharePoint エンティティを見つけるために、インターバルの開始日時の値を取得する関数を作成できます。
- [Azure Portal]で、[New]->[Function App]->[Create]と進みます。
- 名前を入力し、サブスクリプション、リソースグループ、App Service プラン、そしてストレージアカウントを選択します。
- Function App を選択し、Webhook + API シナリオを選択します。
- 言語を選択します。この記事では、JavaScript を使用します。
- 以下のコードを追加し、JSON オブジェクトで前の時間を返します。
module.exports = function (context, data) { var d = new Date(); d.setHours(d.getHours()-1); // Response of the function to be used later. context.res = { body: { start: d } }; context.done(); };
トリガーにSharePoint を追加
以下のステップに従って、フィルタに一致する結果をSharePoint で検索するトリガーを作成します。上記の関数を作成した場合は、返されたインターバルの開始後に作成されたオブジェクトを検索できます。
- Azure Portal で[New]をクリックし、[Web + Mobile]セクションで[Logic App]を選択してリソースグループとApp Service プランを選択します。
- これで、Logic App Designer で使用可能なウィザードが使用できます。このウィザードには、Logic App の設定ブレードからアクセスできます。Blank Logic App templateを選択します。
- SharePoint オブジェクトをポーリングするRecurrence アクションを追加します。この記事では、一時間ごとにポーリングします。タイムゾーンを選択します。デフォルトはUTC です。
- 関数アクションを追加します。[Add Action]ダイアログのメニューを展開し、リジョンにAzure 関数を表示するオプションを選択します。先に作成したFunction App を選択し、インターバル開始を返す関数を選択します。
- からの中括弧のペア({})を入力し、からのペイロードオブジェクトを関数に渡します。
- HTTP + Swagger アクションを追加し、CData Connect AI のOData エンドポイントを入力します。
http://MySite:MyPort/api.rsc/@MyAuthtoken/$oas
- [Return MyCustomList]操作を選択します。
各プロパティの説明を使用して、取得する列やフィルターなどの追加パラメータを指定します。以下はフィルタの一例です。
Location eq 'Chapel Hill'
getInterval 関数から返された日時値を使用するには、MyCustomList テーブルの日時列で[ge]演算子を使用し、ダイアログでBody パラメータを選択します。日時値を囲むには、クォーテーションを使用する必要があることに注意して下さい。
[Code View]に切り替え、$filter 式を変更してインターバルの開始を含むプロパティを抽出します。'@{body('MyFunc')['MyProp']' 構文を使用します。
"getAllAccount": { "inputs": { "method": "get", "queries": { "$filter":"CreatedDate ge '@{body('getInterval')['start']}'" }, "uri": "https://MySite:MyPort/api.rsc/@MyAuthtoken/MyCustomList" }
これで、ワークフローのデータソースおよび宛先としてSharePoint にアクセスできます。
新しレコードをメールで送信
以下のステップに従って、新しいMyCustomList エンティティを含むレポートをメールで送信します。
- [Logic Apps Designer]で[SMTP - Send Email]アクションを追加します。
- SMTP サーバーに必要な情報を構成します。
- From、To、Subject、Body を構成します。返されたSharePoint 列からパラメータを追加できます。
[Save]をクリックし、[Run]をクリックして過去一時間に作成されたSharePoint レコードに関する電子メール通知を送信します。
クラウドアプリケーションからSharePoint のデータへのライブ接続
Azure Logic Apps からSharePoint のリアルタイムデータに直接接続できるようになりました。これで、SharePoint のデータを複製せずにより多くの接続とアプリを作成できます。
クラウドアプリケーションから直接100を超えるSaaS 、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、CData Connect AI を参照してください。