gpt4 book ai didi

rest - 如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP

转载 作者:行者123 更新时间:2023-12-03 19:07:06 25 4
gpt4 key购买 nike

我正在尝试使用选项背景通过 proc http 从 SAS 调用存储过程 (STP),以确保我的主进程不会等待 STP 完成。我确实使用以下代码:

filename resp "<path to response file>";
%let url = https://<ServerName>:<port>/SASStoredProcess/do;
%let question_mark = ?;

proc http
url="%str(&url.)&question_mark.%nrstr(_action=background&_program=<path to STP>&num1=11&num2=22)"
out=resp
http_tokenauth;
HEADERS "Content-Type"="application/x-www-form-urlencoded" "Accept"="application/json";
quit;
不幸的是,在我的响应文件中,我总是收到 SAS 登录页面。
将用户名/密码作为我的 URL 的一部分发送确实有效,但出于安全原因不希望这样做。因此我需要使用 http_tokenauth,它适用于非背景 STP。
此外,当我将 URL 粘贴到浏览器时,它确实有效。
我如何确保它也可以使用 proc http 和 http_tokenauth 工作?
附加信息:
设置:
我确实有一个 STP,它由流程引擎通过 REST 调用,并期望立即得到包含 ID 的答案。(主 STP)
这个主 STP 然后需要调用一个包含一个进程的子 STP,这将大约需要一小时才能完成。因此,我不希望主 STP 等待子 STP 完成。
因此子 STP 应该在后台调用。

最佳答案

token 认证仅在使用“do 1 ”而不是“do”时有效。
引用文档:
https://documentation.sas.com/?docsetId=stpug&docsetTarget=n0ax7wadghvldwn1bbarfuly6adl.htm&docsetVersion=9.4&locale=en
此外,我使用查询来传递我的参数,这使它更加清晰。
所以这现在确实有效:

%let url = https://<ServerName>:<port>/SASStoredProcess/do1;

proc http
url="%str(&url.)"
query=("_action" = "background"
"_program" = "<path to STP>"
"num1" = "1"
"num2" = "2"
)
ct="application/x-www-form-urlencoded"
http_tokenauth
out=resp;
quit;

关于rest - 如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63336796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com