Microsoft Flow の自動タスクでCData API Server およびJSON ADO.NET Provider を使う

コンタクト先へのE メール送信、SNS へのポスト、CRM やERP の同期などを自動化。

Microsoft Flow は、オンプレやクラウドの複数のシステムからのデータを含むタスクを自動化することができます。CData API Server およびJSON ADO.NET Provider (200+ の他のADO.NET Providers) を使えば、Microsoft Flow を使ったデータ連携が可能になります。API Server は、Microsoft Flow などのクラウドサービスからJSON services への連携をOData やSwagger などの標準インターフェースで実現します。本記事では、Microsoft Flow のウィザードを使って、JSON データ統合します。

API Server のセットアップ

Follow the steps below to begin producing secure and Swagger-enabled JSON APIs:

Deploy

The API Server runs on your own server. On Windows, you can deploy using the stand-alone server or IIS. On a Java servlet container, drop in the API Server WAR file. See the help documentation for more information and how-tos.

The API Server is also easy to deploy on Microsoft Azure, Amazon EC2, and Heroku.

JSON への連携設定

After you deploy, provide authentication values and other connection properties by clicking Settings -> Connections in the API Server administration console. You can then choose the entities you want to allow the API Server access to by clicking Settings -> Resources.

See the Getting Started chapter in the data provider documentation to authenticate to your data source: The data provider models JSON APIs as bidirectional database tables and JSON files as read-only views (local files, files stored on popular cloud services, and FTP servers). The major authentication schemes are supported, including HTTP Basic, Digest, NTLM, OAuth, and FTP. See the Getting Started chapter in the data provider documentation for authentication guides.

After setting the URI and providing any authentication values, set DataModel to more closely match the data representation to the structure of your data.

The DataModel property is the controlling property over how your data is represented into tables and toggles the following basic configurations.

  • Document (default): Model a top-level, document view of your JSON data. The data provider returns nested elements as aggregates of data.
  • FlattenedDocuments: Implicitly join nested documents and their parents into a single table.
  • Relational: Return individual, related tables from hierarchical data. The tables contain a primary key and a foreign key that links to the parent document.

See the Modeling JSON Data chapter for more information on configuring the relational representation. You will also find the sample data used in the following examples. The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

You will also need to enable CORS and define the following sections on the Settings -> Server page. As an alternative, you can select the option to allow all domains without '*'.

  1. Access-Control-Allow-Origin: Set this to a value of '*' or specify the domains that are allowed to connect.
  2. Access-Control-Allow-Methods: Set this to a value of "GET,PUT,POST,OPTIONS".
  3. Access-Control-Allow-Headers: Set this to "x-ms-client-request-id, authorization, content-type".

Authorize API Server Users

After determining the OData services you want to produce, authorize users by clicking Settings -> Users. The API Server uses authtoken-based authentication and supports the major authentication schemes. You can authenticate as well as encrypt connections with SSL. Access can also be restricted by IP address; access is restricted to only the local machine by default.

For simplicity, we will allow the authtoken for API users to be passed in the URL. You will need to add a setting in the Application section of the settings.cfg file, located in the data directory. On Windows, this is the app_data subfolder in the application root. In the Java edition, the location of the data directory depends on your operation system:

  1. Windows: C:\ProgramData\CData
  2. Unix or Mac OS X: ~/cdata
[Application] AllowAuthtokenInURL = true

Add JSON Services to a Flow

You can use the built-in HTTP + Swagger connector to use a wizard to design a JSON process flow:

  1. In Microsoft Flow, click My Flows -> Create from Blank.
  2. Select the Recurrence action and select a time interval for sending emails. This article uses 1 day.
  3. Add an HTTP + Swagger action by searching for Swagger.
  4. Enter the URL to the Swagger metadata document: https://MySite:MyPort/api.rsc/@MyAuthtoken/$swagger
  5. Select the "Return people" operation.
  6. Build the OData query to retrieve JSON services. This article defines the following OData filter expression in the $filter box:

    [ personal.name.last ] eq 'Roberts'

    See the API Server help documentation for more on filtering and examples of the supported OData.

Trigger an Action

You can now work with people entities in your process flow. Follow the steps to send an automated email:

  1. Add an SMTP - Send Email action.
  2. Enter the address and credentials for the SMTP server and name the connection. Be sure to enable encryption if supported by your server.
  3. Enter the message headers and body. You can add JSON columns in these boxes.
 
 
ダウンロード