2017年1月10日火曜日

PROC HTTPでSAS Environment Managerに接続して情報を取得

前回はYahooのサイトから動くサンプルでしたが、今回は特定の環境で動くPROC HTTPのサンプルです。これはSAS Environment Managerに接続して、ユーザ一覧のXMLファイルを出力するサンプルコードです。実行した後に、C:\temp\response.xmlをブラウザで開いて取得されている中味を見てください。

filename response 'c:\temp\response.xml';

proc http 
 url='http://hogehoge.com:7080/hqu/hqapi1/user/list.hqu'
 method="get" 
 out=response;
 headers "Authorization"="Basic c2FzZXZzQHNhc3B3OntzYXMwMDJ9OTdFQ0U0NEIxMDVGNEM5NzNDN0U5MDc1"
    "User-Agent"="Apache-HttpClient/4.1.1 (java 1.5)"
    "Connection"=" Keep-Alive"
    "Host"="hogehoge.com:7080"
 ;
run;


response.xmlをIEで開くとこんな具合に見えます。

AuthorizationのBasic認証のコードは、Environment Managerのログに出力されているものをコピペしました。 同じようにUser-Agent, Connection, Hostの値もログから拾っています。 urlにある、"user/list.hqu" の部分は、vFabric Hyperic Web Services APIらしい。 試しに"user/delete.hqu?name=foo"とやったらユーザを削除できた。 今後、Environment Managerの機能が拡充される気配あるので、ちょっと下準備で触ってみました。 リソースの検索で、APM ETLのパラメータを取得できるようですが、どうやって仕事に使うかはのんびり考えます。

2017年1月5日木曜日

PROC HTTPの動くサンプル

Webページを読み込むサンプルです。PROC HTTPを使って、Yahoo Japanのページを読み込み、ログに出力しています。これはSAS Environment Managerから、データを引っ張るための予習みたいなものです。
filename myfile '/tmp/foo.txt';

proc http
 method="get"
 url="http://www.yahoo.co.jp/"
 out=myfile;
run;

data _null_;
 infile myfile;
 attrib buf length=$4096;
 input buf $4096.;
 put buf=;
run;