Viyaのログの調査の効率を上げるためにSAS Studioからクエリを投入できないか思案しています。できたのが以下のコードです。
- /* Sample code to search OpenSearch by PROC HTTP. */
- filename myresult temp;
- data _null_;
- attrib code length=$64;
- /* Change the following user name (admin) and password (hogehoge) to match your environment. */
- code=put("admin:hogehoge", $base64x64.);
- put code=;
- call symputx('code', compress(code), 'G');
- run;
- proc http url="https://v4m-search.logging.svc.cluster.local:9200/_search"
- in='{ "query": { "simple_query_string": { "query": "setinit", "fields": [ "message" ], "default_operator": "and" }}}'
- out=myresult
- timeout=30
- /* clear_cache*/;
- sslparms "SSLREQCERT"="allow" SSLCERTLOC="/opt/sas/viya/home/SASSecurityCertificateFramework/tls/certs/ca-bundle.pem";
- headers "content-type"="application/json" "authorization"="Basic &code.";
- debug level=0;
- run;
- data _null_;
- infile myresult;
- input;
- put _INFILE_;
- run;
CURLの--insecureに相当するのが、SSLREQCERTのオプションです。それだけだとエラーが出るので、SSLCERTLOCでPEMファイルを指定しています。
私は全く知らなかったのですが、これでPROC HTTPを実行すると接続とCOOKEの情報が保持されるそうです。それをクリアするのがコメントアウトしてある CLEAR_CACHEです。その接続とCOOKIEがあれば、毎回SSLSERTLOCを指定する必要はありません。