小编hav*_*age的帖子

从 SAS-EG 执行的 SAS 程序中的 SAS 触发器错误

如果不满足某个条件,我需要让 SAS 触发错误我曾尝试使用 abort return n、abort abend 等。语法等

它是一个 SAS 程序,只能在带有提示的交互模式下从 SAS-EG 运行

我的代码:

DATA _NULL_;
IF prxmatch("/^TBDLZL\d{4}_[A-Z]/",&tablename_in) eq 0 then do;
    put "error table name &tablename_in does not match";
    ABORT RETURN 15; 
END;

RUN;
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

sas

7
推荐指数
2
解决办法
477
查看次数

nifi 表达式连接文件名中的文本

我在 nifi 数据流中创建了一个 RouteOnAttribute 处理器,我希望它仅选择某些文件进行解析。在属性中,我使用以下表达式创建了一个属性“filetofetch”

${filename:contains('INCOMING.D151221') 
Run Code Online (Sandbox Code Playgroud)

我需要获取文件名 INCOMING.D< YYYYMMDD> 所以今天 21 MARTS 2017 文件名将是

INCOMING.D20170321
Run Code Online (Sandbox Code Playgroud)

我尝试过使用类似的方法来提取文件名

${filename:contains('INCOMING.D'+ ${now():format('yyyymmdd')} )}
Run Code Online (Sandbox Code Playgroud)

但我无法与日期前缀连接有什么建议吗?

apache-nifi

4
推荐指数
1
解决办法
7859
查看次数

nifi + executescript使用python计算文件中的行

嗨,我需要获取csv文件中的行数,而第一行是标头,我需要将行数存储在属性中,并解析流文件,使其未触及下一个处理器

我当时在考虑使用extracttext,但是我不认为正则表达式可以做到这一点。

因此,下一步将是executeScript处理器。我想到了带有以下模板的python脚本

flowFile = session.get() 
if (flowFile != None):
# All processing code starts at this indent
attrMap = ['numberOflines': '1', 'myAttr2': Integer.toString(2)]
flowFile = session.get()
if(!flowFile) return
#Do something to get numbers of lines in the flow file
i =0;
    for line in flowfile
        i+=1

flowFile = session.putAttribute(flowFile, 'attribute_numberOfLines', i)
if errorOccurred:
    session.transfer(flowFile, REL_FAILURE)
else:
    session.transfer(flowFile, REL_SUCCESS)
Run Code Online (Sandbox Code Playgroud)

最后的隐式收益

这将无法运行

python apache-nifi

1
推荐指数
1
解决办法
459
查看次数

curl 命令在 shell 脚本中不起作用,但在站点上运行良好

我正在努力使用一个小的 bash shell 脚本,该脚本应该列出我的 csv 文件并使用 curl 将它们上传到外部服务。当我将我的命令变量回显到控制台并执行它时,我工作正常,但是当我在我的脚本中执行它时,它会抱怨额外的 qouta “

我的脚本看起来像这样

#!/usr/bin/bash
LOGDIR="/var/log/tyk/"
FILE_EXSTENSION_NAME="*.csv"
CURLCMD="curl -k -i -H"
PORT="9992"
ENDPOINT="/endpoint"
URL="https://localhost"



for i in `ls $LOGDIR$FILE_EXSTENSION_NAME`; do
    filename=`echo $i | awk -F "/" ' { print $5 }'`
    echo $filename
    CMD="$CURLCMD \"filename: $filename\" -F \"data=@$LOGDIR$filename\" $URL:$PORT$ENDPOINT"
    $CMD
done
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下输出

% Total    % Received % Xferd  Average Speed   Time    Time     Time     Current
                             Dload  Upload   Total   Spent    Left  Speed
 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--0curl: (6) Could …
Run Code Online (Sandbox Code Playgroud)

bash shell curl sh

0
推荐指数
1
解决办法
3820
查看次数

步骤中未找到此类 DSL 方法“httpRequest”

我正在尝试从 Jenkins 管道中的 REST API 请求信息,我已经以各种方式尝试了此代码,但我不断收到此错误:

java.lang.NoSuchMethodError: No such DSL method 'httpRequest' found among steps
Run Code Online (Sandbox Code Playgroud)

我开始认为这与我的语法有关,但我不知道是什么。谁能看到我做错了什么吗?

这是代码:

stage('Check Change No'){
    steps{
        script{
                def response = httpRequest contentType: 'APPLICATION_JSON',
                        httpMode: 'GET',
                        validResponseCodes: '100:499',
                        url: "http://info-service-helm-chart-microservice-bin-deploy.apps.c01u.paas.mynet.com/v3/isDeployAlloved/123456"        
                echo response.status.toString()
                if(response.status.toString() != "200"){
                    def jsonSlurper = new JsonSlurper()
                    def responseObject = jsonSlurper.parseText(response.getContent())
                    String errorMsg = responseObject.errors[0]    
                    println "ERROR:"+ errorMsg
                }
                else{
                    println "ALL OK!!!. Change Approved."
                }
                
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

jenkins-pipeline

0
推荐指数
1
解决办法
4149
查看次数

标签 统计

apache-nifi ×2

bash ×1

curl ×1

jenkins-pipeline ×1

python ×1

sas ×1

sh ×1

shell ×1