首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFTP客户端列表服务参数"ModificationTime“

SFTP客户端列表服务参数"ModificationTime“
EN

Stack Overflow用户
提问于 2021-01-21 16:37:14
回答 1查看 387关注 0票数 0

要求:-从5分钟前修改过的服务器中选择文件,然后移动到本地服务器。

我想了解Sterling B2B Integrator中的SFTP客户端列表服务,它有一个参数B2B,我想使用它来查找最后修改的文件,5分钟后,它才会被选择并传输到本地服务器。这个参数有帮助吗。

这就是我正在尝试的

代码语言:javascript
复制
    <operation name="SFTP Client LIST Service">
        <participant name="SFTPClientList"/>
        <output message="SFTPClientListServiceTypeInputMessage">
            <assign to="RemoteFileName" from="/ProcessData/Interface/REMOTEFILEPATTERN/text()"/>
            <assign to="ModificationTime">300</assign>
            <assign to="ResponseTimeout">120</assign>
            <assign to="WF_RUNTIME_OVERRIDE_PERSISTENCE_LEVEL">PERSISTENCE_FULL</assign>
            <assign to="." from="*"/>
        </output>
        <input message="inmsg">
            <assign to="." from="*"/>
        </input>
    </operation>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 19:12:29

ModificationTime是一个输出参数,它是远程sftp命令的结果。

参见示例BP,它列出了TXT (*.txt)文件:

代码语言:javascript
复制
<process name = "Demo_BP_SFTP_List"> 
    
<sequence name="Demo_BP_SFTP_List">

    <!-- Begin Session -->
    <operation name="SFTP Client Begin Session Service">
      <participant name="SFTPClientBeginSession"/>
      <output message="SFTPClientBeginSessionServiceTypeInputMessage">
        <assign to="SFTPClientAdapter">SFTPClientAdapter</assign>
        <assign to="RemoteHost">127.0.0.1</assign>
        <assign to="RemotePort">22</assign>
        <assign to="RemoteUserId">Demo_Remote_SFTP</assign>
        <assign to="RemotePasswd">passw0rd</assign>
        <assign to="PreferredAuthenticationMethod">password</assign>
        <assign to="KnownHostKeyId">442297176384f4ba2node1</assign>
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="SFTPClientBeginSessionServiceResults" from="*"></assign>
      </input>
    </operation>

    <operation name="SFTP Client LIST Service">
        <participant name="SFTPClientList"/>
        <output message="SFTPClientListServiceTypeInputMessage">
            <assign to="RemoteFileName">*.txt</assign>
            <assign to="SessionToken" from="SFTPClientBeginSessionServiceResults/SessionToken/text()"></assign>
            <assign to="." from="*"/>
        </output>
        <input message="inmsg">
            <assign to="SFTPClientLISTServiceResults" from="*"></assign>
        </input>
    </operation>
                      
    <operation name="SFTP Client End Session Service">
        <participant name="SFTPClientEndSession"/>
        <output message="SFTPClientEndSessionServiceTypeInputMessage">
            <assign to="SessionToken" from="SFTPClientBeginSessionServiceResults/SessionToken/text()"></assign>
            <assign to="." from="*"></assign>
        </output>
        <input message="inmsg">
            <assign to="SFTPClientEndSessionServiceResults" from="*"></assign>
        </input>
    </operation>

</sequence>
</process>

产出如下:

代码语言:javascript
复制
</ProcessData>
....
  </SFTPClientLISTServiceResults>
....
    <Files>
      <File>
        <Name>testdata01.txt</Name>
        <Size>11</Size>
        <Type>Regular</Type>
        <Permissions>-rw-rw-r--</Permissions>
        <ModificationTime>1611017370</ModificationTime>
        <Owner>Demo_Remote_SFTP</Owner>
        <Group>Demo_Remote_SFTP</Group>
      </File>
      <File>
        <Name>testdata02.txt</Name>
        <Size>11</Size>
        <Type>Regular</Type>
        <Permissions>-rw-rw-r--</Permissions>
        <ModificationTime>1611017385</ModificationTime>
        <Owner>Demo_Remote_SFTP</Owner>
        <Group>Demo_Remote_SFTP</Group>
      </File>
      <File>
        <Name>testdata03.txt</Name>
        <Size>12</Size>
        <Type>Regular</Type>
        <Permissions>-rw-rw-r--</Permissions>
        <ModificationTime>1611017399</ModificationTime>
        <Owner>Demo_Remote_SFTP</Owner>
        <Group>Demo_Remote_SFTP</Group>
      </File>
    </Files>
  </SFTPClientLISTServiceResults>
</ProcessData>

您需要创建一个循环,并检查ModificationTime是否减少了当前时间-5分钟,并执行SFTP客户端获取服务

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65831818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档