読者です 読者をやめる 読者になる 読者になる

Lotus1-2-365 blog

遅れてきたNotesエンジニアがクラウド活用について思いを巡らすブログ

統合サーバーへのCSVアップロードを自動化する -前編-

前回は、SCNotesのプロビジョニングを一括で行うための「統合サーバー」機能について説明し、開設の手順から、使い方の流れを見てきました。

しかしながら一括でできる方法が分かった、よし、と思う一方で、「なら、CSVファイルのアップロードも自動化して、ID管理システムと連携させて、ユーザー管理を完全自動化したい」と思われるのではないでしょうか?そんなこと思わないでください。あ、思いましたか、仕方ないのでその方法について今回は書いていきたいと思います。

 

 

ユーザープロビジョニング用CSVの作成

前回もファイル名と書式について記載しましたが、今回は実際に検証環境で登録の成功したサンプルファイルを紹介したいと思います。以下のようなCSVファイルとしました。

 

<ファイル名>

2230XXXX_PRV_1260226233.csv

 

<中身>

emailAddress,action,subscriptionId,subscriptionId2,givenName,familyName,language,timeZone,password,altEmailAddress,notesTemplate,notesDN,assignTo,department,jobTitle,country,telephone,mobile,fax,address,suppressInvitation,federationType
kagita.saburo@sample.com,Add,65XXXX,,saburo,kagita,ja_JP,Asia/Tokyo,password!,,StdR9Mail,,,,,,,,,,,

 

中身についてですが、「federationType」までがヘッダー行になります。ヘッダー行は消すと処理されないので、残したままにします。

「kagita~」からが実際の登録内容です。わかりやすいように、列単位で何を入れているか書いてみましょう。

 

emailAddres: kagita.saburo@sample.com

action: Add

subscriptionId: 65XXXX (このIDはConnections Cloudのサブスクリプション管理画面で確認できます)

subscriptionId2: <空欄>

givenName: saburo

familyName: kagita

language: ja_JP

timeZone: Asia/Tokyo

password: <指定したいパスワード>

altEmailAddress: <空欄>

notesTemplate: StdR9Mail

そのあとの列はすべて空欄です。

 

 

WinSCPを使った統合サーバーへのFTP接続

今回は、CSVファイルの転送にWinSCPを使用してみます。なぜなら最終的にはFTP転送を自動化したいので、コマンドベースでも利用できるFTPツールがよいからです。もし他に好みのツールがあるようでしたらそちらを使ってください。

 

まずはWinSCPをサイトからダウンロードします。適当にググって見つけてください。ここで私は、インストールなしで動かせる「WinSCP-5.9.3-Portable」の方をダウンロードしました。インストール版でもよかったのですが、この後FTP転送をバッチ化する中で、インストール版を使うとセッション切断時にアプリケーションエラーが出てしまい気持ち悪かったからです。ポータブル版はUIが英語ですが、さほど難しい設定はないのでこちらを採用してみます。

 

今回、FTPクライアントを配置するマシンですが、あくまで検証なので、Softlayer上にあるメールサーバーをそのまま使いました。実環境で使う場合は、ファイアウォール等でFTPの通信がブロックされない環境にあるマシンを使用してください。

使用するポート番号などは以下のヘルプに記載されています。

 

<変更ファイルと結果ファイルの FTP ファイル転送>

http://www.ibm.com/support/knowledgecenter/ja/SSL3JX/admin/IntegrationServer/llis_config_llims_c.html

 

では、さっそくWinSCPを起動してみましょう。ローカルに配置したポータブル版WinSCPの「WinSCP.exe」をダブルクリックして起動します。

以下のような画面が表示されますので、統合サーバー開設時にアナウンスされたurlとアカウント情報を入力します。ポートは990で、自動的に変わりますがEncryptionは画面の通りのものを選択してください。

 

 

f:id:gotus456:20170210160926j:plain

 

次に「Advanced」ボタンから詳細設定に移ります。

 

まず「Directories」ですが、Remoteディレクトリは、統合サーバー側の最初に開くパス、Localディレクトリは作業マシン側の最初に開くパスです。

統合サーバーへCSVを配置する際は、「/」ルートに置く必要がありますので、ルートを指定しておきます。Localディレクトリは、任意の場所でOKですが、今回は「C:\LLIS」フォルダに一通り必要なファイルを集めることにします。

 

下の方にあるキャッシュを残す/残さないのチェックボックスもOFFにし、ファイルの配置先がルートから外れないようにします。

 

f:id:gotus456:20170210160948j:plain

 

次に、「FTP」の設定からパッシブモードをONにします。以上で設定は完了です。「OK」ボタンで閉じて設定を保存してください。この時、このプロファイルに名前を付けられますので「collabserv」としておきます。後でこの名前を使ってコマンドでFTP接続を行います。

 

f:id:gotus456:20170210161006j:plain

 

プロファイルができたら、最初の画面に戻って「Login」ボタンをクリックしてみましょう。接続が成功すると以下の通り、統合サーバー上のディレクトリが表示されます。

 

f:id:gotus456:20170210161505j:plain

 

この画面ショットは、何度かファイルを配置しているため、「_error」「_processed」「_report」ディレクトリがありますが、初回接続時は何もありません。なのでちょっと接続できたか心配になりますが、接続時にエラーが出なければOKです。

 

この状態で、事前に用意したCSVファイルを右にドラッグすれば、ファイルが転送され、15分程度でクラウド側に反映されます。まずは手動で確認してみるとよいでしょう。CSVの処理はエラーになると「_error」に、うまくいくと「_processed」に移動します。「_report」には処理結果の入ったテキストが入りますので、エラーの内容などを見たい時に使用します。

 

次回は、ファイル転送を自動化する方法について見ていきます。