2017年1月10日火曜日

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

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

  1. filename response 'c:\temp\response.xml';  
  2.   
  3. proc http   
  4.  url='http://hogehoge.com:7080/hqu/hqapi1/user/list.hqu'  
  5.  method="get"   
  6.  out=response;  
  7.  headers "Authorization"="Basic c2FzZXZzQHNhc3B3OntzYXMwMDJ9OTdFQ0U0NEIxMDVGNEM5NzNDN0U5MDc1"  
  8.     "User-Agent"="Apache-HttpClient/4.1.1 (java 1.5)"  
  9.     "Connection"=" Keep-Alive"  
  10.     "Host"="hogehoge.com:7080"  
  11.  ;  
  12. 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から、データを引っ張るための予習みたいなものです。
  1. filename myfile '/tmp/foo.txt';  
  2.   
  3. proc http  
  4.  method="get"  
  5.  url="http://www.yahoo.co.jp/"  
  6.  out=myfile;  
  7. run;  
  8.   
  9. data _null_;  
  10.  infile myfile;  
  11.  attrib buf length=$4096;  
  12.  input buf $4096.;  
  13.  put buf=;  
  14. run;