<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation – EGI Data Transfer</title><link>/users/data/management/data-transfer/</link><description>Recent content in EGI Data Transfer on Documentation</description><generator>Hugo -- gohugo.io</generator><atom:link href="/users/data/management/data-transfer/index.xml" rel="self" type="application/rss+xml"/><item><title>Users: Data Transfer Clients</title><link>/users/data/management/data-transfer/clients/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/users/data/management/data-transfer/clients/</guid><description>
&lt;!--
// jscpd:ignore-start
-->
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>The FTS3 service offers a command-line client to ease the interaction with the
service.&lt;/p>
&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;p>The client software is available for RHEL and derivatives.&lt;/p>
&lt;p>Users from other distributions should refer to the
&lt;a href="../api/#restful-api">RESTFul API section&lt;/a>.&lt;/p>
&lt;h2 id="installation">Installation&lt;/h2>
&lt;p>The CLI can be installed from the EPEL repositories with the following package:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>yum install fts-rest-cli -y
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="commands">Commands&lt;/h2>
&lt;p>This section describes some of the commands that can be issues via the FTS CLI.
As per the API, in order to authenticate to the FTS REST server you need an
X.509 User certificate or an EGI Check-in token, please refer to this
&lt;a href="../api/#authentication--authorisation">section&lt;/a> for more information.&lt;/p>
&lt;p>Please note that when authenticating via EGI-Check-in only https/s3 transfers are supported.&lt;/p>
&lt;p>Check the &lt;a href="https://fts3-docs.web.cern.ch/fts3-docs/fts-rest/docs/cli/index.html">full documentation about the FTS CLI&lt;/a>&lt;/p>
&lt;h3 id="fts-rest-whoami">fts-rest-whoami&lt;/h3>
&lt;p>This command can be used to check, as the name suggests, who are we for the server.&lt;/p>
&lt;h4 id="usage">Usage&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-whoami &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>options&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Options
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-h/--help : Show this &lt;span style="color:#204a87">help&lt;/span> message and &lt;span style="color:#204a87">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-v/--verbose : Verbose output.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-s/--endpoint : Fts3 rest endpoint.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-j/--json : Print the output in json format.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--key : The user certificate private key.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cert : The user certificate.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--capath : Use the specified directory to verify the peer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--insecure : Do not validate the server certificate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--access-token : Oauth2 access token &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>supported only by some endpoints,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> takes precedence&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="example">Example&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>$ fts-rest-whoami --access-token &lt;span style="color:#000">$TOKEN&lt;/span> -s https://fts-egi.cern.ch:8446/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>User DN: 2dee939532f16e482748b6c25f6ebbf2cac57abd28ca98bee06a114393d14a89@egi.eu
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VO: aai.egi.eu
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VO id: 2b4ace55-1b2e-5bf3-837d-03e3b08777d9
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Delegation id: bd9a59d81b2c37ab
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Base id: 01874efb-4735-4595-bc9c-591aef8240c9
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="fts-rest-transfer-submit">fts-rest-transfer-submit&lt;/h3>
&lt;p>This command can be used to submit new jobs to FTS3. It supports simple and bulk
submissions. The bulk format is as follows:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;files&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;sources&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;gsiftp://source.host/file&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;destinations&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;gsiftp://destination.host/file&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;metadata&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;file-metadata&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;checksum&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;ADLER32:1234&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;filesize&amp;#34;&lt;/span>: &lt;span style="color:#0000cf;font-weight:bold">1024&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;sources&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;gsiftp://source.host/file2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;destinations&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;gsiftp://destination.host/file2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;metadata&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;file2-metadata&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;checksum&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;ADLER32:4321&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;filesize&amp;#34;&lt;/span>: 2048,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;activity&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;default&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="usage-1">Usage&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-submit &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>options&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span> SOURCE DESTINATION &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>CHECKSUM&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Options
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-h/--help : Show this &lt;span style="color:#204a87">help&lt;/span> message and &lt;span style="color:#204a87">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-v/--verbose : Verbose output.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-s/--endpoint : Fts3 rest endpoint.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-j/--json : Print the output in json format.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--key : The user certificate private key.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cert : The user certificate.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--capath : Use the specified directory to verify the peer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--insecure : Do not validate the server certificate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--access-token : Oauth2 access token &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>supported only by some endpoints,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> takes precedence&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-b/--blocking : Blocking mode. Wait &lt;span style="color:#204a87;font-weight:bold">until&lt;/span> the operation completes.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-i/--interval : Interval between two poll operations in blocking mode.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-e/--expire : Expiration &lt;span style="color:#204a87">time&lt;/span> of the delegation in minutes.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--delegate-when-lifetime-lt : Delegate the proxy when the remote lifetime
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> is less than this value &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>in minutes&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-o/--overwrite : Overwrite files.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-r/--reuse : Enable session reuse &lt;span style="color:#204a87;font-weight:bold">for&lt;/span> the transfer job.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--job-metadata : Transfer job metadata.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--file-metadata : File metadata.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--file-size : File size &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>in bytes&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-g/--gparam : Gridftp parameters.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-t/--dest-token : The destination space token or its description.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-S/--source-token : The &lt;span style="color:#204a87">source&lt;/span> space token or its description.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-K/--compare-checksum : Deprecated: compare checksums between &lt;span style="color:#204a87">source&lt;/span> and
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>destination.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-C/--checksum-mode : Compare checksums in source, target, both or none.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--copy-pin-lifetime : Pin lifetime of the copy in seconds.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--bring-online : Bring online timeout in seconds.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--timeout : Transfer timeout in seconds.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--fail-nearline : Fail the transfer is the file is nearline.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--dry-run : Do not send anything, just print the json message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-f/--file : Name of configuration file
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--retry : Number of retries. If 0, the server default will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>If negative, there will be no retries.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-m/--multi-hop : Submit a multihop transfer.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cloud-credentials : Use cloud credentials &lt;span style="color:#204a87;font-weight:bold">for&lt;/span> the job &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>i. E. Dropbox&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--nostreams : Number of streams
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--ipv4 : Force ipv4
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--ipv6 : Force ipv6
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="example-1">Example&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-submit -s https://fts-egi.cern.ch:8446 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --access-token&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> https://source.host/file https://destination.host/file
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Job successfully submitted.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Job id: 83ef08a6-1ac7-11f0-ae40-fa163ebe1520
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>$ fts-rest-transfer-submit -s https://fts-egi.cern.ch:8446 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --access-token&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span> -f test.json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Job successfully submitted.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Job id: 9a28d204-d568-11ea-9c80-02163e018681
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="fts-rest-transfer-status">fts-rest-transfer-status&lt;/h3>
&lt;p>This command can be used to check the current status of a given job.&lt;/p>
&lt;h4 id="usage-2">Usage&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-status &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>options&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span> JOB_ID
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Options
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-h/--help : Show this &lt;span style="color:#204a87">help&lt;/span> message and &lt;span style="color:#204a87">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-v/--verbose : Verbose output.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-s/--endpoint : Fts3 rest endpoint.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-j/--json : Print the output in json format.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--key : The user certificate private key.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cert : The user certificate.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--capath : Use the specified directory to verify the peer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--insecure : Do not validate the server certificate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--access-token : Oauth2 access token &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>supported only by some endpoints,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> takes precedence&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="example-2">Example&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-status -s https://fts-cern.cern.ch:8446
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --access-token&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span> 83ef08a6-1ac7-11f0-ae40-fa163ebe1520
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Request ID: 83ef08a6-1ac7-11f0-ae40-fa163ebe1520
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Status: FAILED
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Client DN: 2dee939532f16e482748b6c25f6ebbf2cac57abd28ca98bee06a114393d14a89@egi.eu
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reason: One or more files failed. Please have a look at the details &lt;span style="color:#204a87;font-weight:bold">for&lt;/span> more information
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Submission time: 2025-04-16T13:34:26
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Priority: &lt;span style="color:#0000cf;font-weight:bold">3&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VO Name: aai.egi.eu
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="fts-rest-transfer-cancel">fts-rest-transfer-cancel&lt;/h3>
&lt;p>This command can be used to cancel a running job. It returns the final state of
the cancelled job. Please, mind that if the job is already in a final state
&lt;code>(FINISHEDDIRTY&lt;/code>, &lt;code>FINISHED&lt;/code>, &lt;code>FAILED&lt;/code>), this command will return this state.
You can additionally cancel only a subset appending a comma-separated list of
file IDs.&lt;/p>
&lt;h4 id="usage-3">Usage&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-cancel &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>options&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Options
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-h/--help : Show this &lt;span style="color:#204a87">help&lt;/span> message and &lt;span style="color:#204a87">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-v/--verbose : Verbose output.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-s/--endpoint : Fts3 rest endpoint.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-j/--json : Print the output in json format.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--key : The user certificate private key.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--cert : The user certificate.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--capath : Use the specified directory to verify the peer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--insecure : Do not validate the server certificate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>--access-token : Oauth2 access token &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>supported only by some endpoints,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> takes precedence&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="example-3">Example&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>fts-rest-transfer-cancel -s https://fts3-public.cern.ch:8446 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --access-token&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span> 9a28d204-d568-11ea-9c80-02163e018681
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>CANCELED
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;!--
// jscpd:ignore-end
--></description></item><item><title>Users: Data Transfer API</title><link>/users/data/management/data-transfer/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/users/data/management/data-transfer/api/</guid><description>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>EGI Data Transfer offers Application Programming Interfaces (APIs) for both
regular users and administrator. This page focuses on the user APIs,
available in two favors:&lt;/p>
&lt;ul>
&lt;li>REST API&lt;/li>
&lt;li>Python Easy Bindings&lt;/li>
&lt;/ul>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>
Please check out the
&lt;a href="https://fts3-docs.web.cern.ch/fts3-docs/fts-rest/docs/easy/index.html">documentation&lt;/a>
for more details about the available APIs, their parameters and return values.
&lt;/div>
&lt;h2 id="authentication--authorisation">Authentication &amp;amp; Authorisation&lt;/h2>
&lt;p>Users have to authenticate before they can call the API.&lt;/p>
&lt;!-- markdownlint-disable no-inline-html -->
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Important&lt;/h4>
Authentication requires an
&lt;strong>X.509 user certificate&lt;/strong> or an &lt;a href="../../../../aai/check-in">EGI Check-in&lt;/a> token.
&lt;/div>
&lt;!-- markdownlint-enable no-inline-html -->
&lt;p>During the authentication phase, credentials are delegated to the FTS service,
which will contact the storages to steer the data transfers on behalf of the
users.&lt;/p>
&lt;p>For authentication and authorisation, the FTS service supports both plain X.509 proxies
and
&lt;a href="https://italiangrid.github.io/voms/index.html">X.509 proxies extended with VO information&lt;/a> (VOMS)
You can learn more about
&lt;a href="../../../../aai/check-in/vos/voms#creating-a-proxy">VOMS configuration and proxy creation&lt;/a>.&lt;/p>
&lt;h2 id="restful-api-with-x509-credentials">RESTFul API with X.509 Credentials&lt;/h2>
&lt;p>The User RESTFul APIs can be used to submit transfers jobs (collections of
single transfers), monitor and cancel existing transfers. Please check the CERN
&lt;a href="https://fts3-docs.web.cern.ch/fts3-docs/fts-rest/docs/api.html">documentation&lt;/a>
for the full API details. Here we will provide some examples usage using the
Curl client.&lt;/p>
&lt;h3 id="checking-how-the-server-sees-the-identity-of-the-user">Checking how the server sees the identity of the user&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl --capath /etc/grid-security/certificates -E &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cacert &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> https://fts-egi.cern.ch:8446/whoami
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;dn&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe/CN=proxy&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;vos_id&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;6b10f4e4-8fdc-5555-baa2-7d4850d4f406&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;roles&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;delegation_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;9ab8068853808c6b&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;user_dn&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;level&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;transfer&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;vo&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;is_root&amp;#34;&lt;/span>: false,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;base_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;01874efb-4735-4595-bc9c-591aef8240c9&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;vos&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;dteam&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;voms_cred&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;/dteam/Role=NULL/Capability=NULL&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;method&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;certificate&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="getting-a-list-of-jobs-running">Getting a list of jobs running&lt;/h3>
&lt;p>Filtered by VO&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl --capath /etc/grid-security/certificates -E &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cacert &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> https://fts-egi.cern.ch:8446/jobs?vo_name&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>dteam
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;cred_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;1426115d1660de4d&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;user_dn&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;/DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=ftssuite/CN=737188/CN=Robot:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> fts3 testsuite&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;job_type&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;N&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;retry&amp;#34;&lt;/span>: -1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;job_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;94560e74-7ca3-11e9-97dd-02163e00d613&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;cancel_job&amp;#34;&lt;/span>: false,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;job_state&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;FINISHED&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;submit_host&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;fts604.cern.ch&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;priority&amp;#34;&lt;/span>: 3,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;source_space_token&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;max_time_in_queue&amp;#34;&lt;/span>: null,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;job_metadata&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;test&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;test_bring_online&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;fts3-tests&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;source_se&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;mock://somewhere.uk&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;bring_online&amp;#34;&lt;/span>: 120,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;reason&amp;#34;&lt;/span>: null,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;space_token&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;submit_time&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;2019-05-22T15:09:22&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;retry_delay&amp;#34;&lt;/span>: 0,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;dest_se&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;mock://somewhere.uk&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;internal_job_params&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;nostreams:1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;overwrite_flag&amp;#34;&lt;/span>: false,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;copy_pin_lifetime&amp;#34;&lt;/span>: -1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;verify_checksum&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;n&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;job_finished&amp;#34;&lt;/span>: null,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;vo_name&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;dteam&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="cancelling-a-job">Cancelling a job&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl --capath /etc/grid-security/certificates -E &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cacert &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> -X DELETE &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> https://fts-egi.cern.ch:8446/jobs/a40b82b7-1132-459f-a641-f8b49137a713
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="getting-expiration-time-of-delegated-credentials">Getting expiration time of delegated credentials&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl --capath /etc/grid-security/certificates -E &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cacert &lt;span style="color:#000">$X509_USER_PROXY&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> https://fts-egi.cern.ch:8446/delegation/9ab8068853808c6b
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;voms_attrs&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;/dteam/Role=NULL/Capability=NULL&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;termination_time&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;2020-07-31T22:50:28&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="restful-api-with-egi-check-in">RESTFul API with EGI Check-in&lt;/h2>
&lt;p>&lt;a href="../../../../aai/check-in">EGI Check-in&lt;/a> can be obtained easily via the Token portal &lt;code>https://aai.egi.eu/token/&lt;/code>&lt;/p>
&lt;h3 id="checking-how-the-server-sees-the-identity-of-the-user-1">Checking how the server sees the identity of the user&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl -k -H &lt;span style="color:#4e9a06">&amp;#34;Authorization: Bearer &lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> https://fts-egi.cern.ch:8446/whoami &lt;span style="color:#000;font-weight:bold">|&lt;/span> jq .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;user_dn&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;2dee939532f16e482748b6c25f6ebbf2cac57abd28ca98bee06a114393d14a89@egi.eu&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;dn&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;2dee939532f16e482748b6c25f6ebbf2cac57abd28ca98bee06a114393d14a89@egi.eu&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;base_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;01874efb-4735-4595-bc9c-591aef8240c9&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;voms_cred&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;eduperson_entitlement&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;email&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;openid&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;profile&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;voperson_id&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;vos&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;aai.egi.eu&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;vos_id&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;2b4ace55-1b2e-5bf3-837d-03e3b08777d9&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;roles&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;level&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;transfer&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;vo&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;delegation_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;bd9a59d81b2c37ab&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;method&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;oauth2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;is_root&amp;#34;&lt;/span>: false,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;oauth2_scope&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;eduperson_entitlement email openid profile voperson_id&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;wlcg_profile&amp;#34;&lt;/span>: false,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;get_granted_level_for_overriden&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;get_granted_level_for&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="submitting-a-transfer">Submitting a transfer&lt;/h3>
&lt;p>Example json file to submit a transfer job (e.g. job.json)&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;files&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;sources&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;https://eospublic.cern.ch/eos/opstest/dteam/test.file&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;destinations&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;https://eospps.cern.ch/eos/opstest/dteam/destination.file&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;source_tokens&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;xxxx&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;destination_tokens&amp;#34;&lt;/span> : &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;xxxx&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;checksum&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;ADLER32&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;params&amp;#34;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#34;overwrite&amp;#34;&lt;/span>: &lt;span style="color:#204a87">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl -k -X POST -H &lt;span style="color:#4e9a06">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> -H &lt;span style="color:#4e9a06">&amp;#34;Authorization: Bearer &lt;/span>&lt;span style="color:#000">$TOKEN&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> https://fts-egi.cern.ch:8446/jobs -d @job.json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;job_id&amp;#34;&lt;/span>: &lt;span style="color:#4e9a06">&amp;#34;47b42b78-1ad1-11f0-9cbe-fa163edd14cf&amp;#34;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="python-bindings">Python Bindings&lt;/h2>
&lt;p>The Python bindings for FTS can be installed from the EPEL package repository
with python3 being supported.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>yum install python-fts -y
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Important&lt;/h4>
Authentication requires an
*&lt;em>X.509 user certificate&lt;/em>. &lt;a href="../../../../aai/check-in">EGI Check-in&lt;/a> is not yet supported.
&lt;/div>
&lt;p>For using the bindings, you need to import &lt;code>fts3.rest.client.easy&lt;/code>, although for
convenience it can be renamed as something else:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>import fts3.rest.client.easy as fts3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In the following code snippets, an import as above is assumed.&lt;/p>
&lt;p>In order to be able to do any operation, information about the state of the user
credentials and remote endpoint needs to be kept. That&amp;rsquo;s the purpose of a
Context.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">context&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> fts3.Context&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>endpoint, ucert, ukey, &lt;span style="color:#000">verify&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>True&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The endpoint to use corresponds to the FTS instance REST server and it must have
the following format:&lt;/p>
&lt;p>&lt;code>https://\&amp;lt;host&amp;gt;:\&amp;lt;port&amp;gt;&lt;/code>&lt;/p>
&lt;p>for instance &lt;code>https://fts-egi.cern.ch:8446&lt;/code>&lt;/p>
&lt;p>If you are using a proxy certificate, you can either specify only
&lt;code>user_certificate&lt;/code>, or point both parameters to the proxy. &lt;code>user_certificate&lt;/code>
and &lt;code>user_key&lt;/code> can be safely omitted, and the program will use the values
defined in the environment variables &lt;code>X509_USER_PROXY&lt;/code> or &lt;code>X509_USER_CERT&lt;/code> +
&lt;code>X509_USER_KEY&lt;/code>.&lt;/p>
&lt;p>If verify is &lt;code>False&lt;/code>, the server certificate will not be verified.&lt;/p>
&lt;p>Here are some examples about creating a context, submitting a job with a single
transfer and getting the job status:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># pretty print the json outputs&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; import pprint
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; &lt;span style="color:#000">pp&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> pprint.PrettyPrinter&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#000">indent&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>4&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># creating the context&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; &lt;span style="color:#000">context&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> fts3.Context&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;https://fts-egi.cern.ch:8446&amp;#34;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># printing the whoami info&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; pp.pprint &lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>fts3.whoami&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>context&lt;span style="color:#ce5c00;font-weight:bold">))&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span> u&lt;span style="color:#4e9a06">&amp;#39;base_id&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;01874efb-4735-4595-bc9c-591aef8240c9&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;delegation_id&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;9ab8068853808c6b&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;dn&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span> u&lt;span style="color:#4e9a06">&amp;#39;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe/CN=proxy&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;is_root&amp;#39;&lt;/span>: False,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;level&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span> u&lt;span style="color:#4e9a06">&amp;#39;transfer&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;vo&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;method&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;certificate&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;roles&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;user_dn&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;voms_cred&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>u&lt;span style="color:#4e9a06">&amp;#39;/dteam/Role=NULL/Capability=NULL&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;vos&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>u&lt;span style="color:#4e9a06">&amp;#39;dteam&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">]&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;vos_id&amp;#39;&lt;/span>: &lt;span style="color:#ce5c00;font-weight:bold">[&lt;/span>u&lt;span style="color:#4e9a06">&amp;#39;6b10f4e4-8fdc-5555-baa2-7d4850d4f406&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">]}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># creating a new transfer and submitting a job&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; &lt;span style="color:#000">transfer&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> fts3.new_transfer&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>... &lt;span style="color:#4e9a06">&amp;#39;gsiftp://source/path&amp;#39;&lt;/span>, &lt;span style="color:#4e9a06">&amp;#39;gsiftp://destination/path&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>... &lt;span style="color:#000">checksum&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;ADLER32:1234&amp;#39;&lt;/span>, &lt;span style="color:#000">filesize&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>1024,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>... &lt;span style="color:#000">metadata&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;Submission example&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>... &lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; &lt;span style="color:#000">job&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> fts3.new_job&lt;span style="color:#ce5c00;font-weight:bold">([&lt;/span>transfer&lt;span style="color:#ce5c00;font-weight:bold">])&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; &lt;span style="color:#000">job_id&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> fts3.submit&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>context, job&lt;span style="color:#ce5c00;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; print job_id
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>b6191212-d347-11ea-8a47-fa163e45cbc4
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># get the job status&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&amp;gt;&amp;gt;&amp;gt; pp.pprint&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>fts3.get_job_status&lt;span style="color:#ce5c00;font-weight:bold">(&lt;/span>context, job_id&lt;span style="color:#ce5c00;font-weight:bold">))&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">{&lt;/span> u&lt;span style="color:#4e9a06">&amp;#39;bring_online&amp;#39;&lt;/span>: -1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;cancel_job&amp;#39;&lt;/span>: False,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;copy_pin_lifetime&amp;#39;&lt;/span>: -1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;cred_id&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;9ab8068853808c6b&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;dest_se&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;gsiftp://destination&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;http_status&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;200 Ok&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;internal_job_params&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;nostreams:1&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;job_finished&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;2020-07-31T16:05:55&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;job_id&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;b6191212-d347-11ea-8a47-fa163e45cbc4&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;job_metadata&amp;#39;&lt;/span>: None,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;job_state&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;FAILED&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;job_type&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;N&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;max_time_in_queue&amp;#39;&lt;/span>: None,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;overwrite_flag&amp;#39;&lt;/span>: False,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;priority&amp;#39;&lt;/span>: 3,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;reason&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;One or more files failed. Please have a look at the details for
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> more information&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;retry&amp;#39;&lt;/span>: -1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;retry_delay&amp;#39;&lt;/span>: 0,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;source_se&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;gsiftp://source&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;source_space_token&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;space_token&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;submit_host&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;fts-public-03.cern.ch&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;submit_time&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;2020-07-31T16:05:54&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;user_dn&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;/DC=org/DC=terena/DC=tcs/C=NL/O=Stichting EGI/CN=Jane Doe&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;verify_checksum&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;t&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> u&lt;span style="color:#4e9a06">&amp;#39;vo_name&amp;#39;&lt;/span>: u&lt;span style="color:#4e9a06">&amp;#39;dteam&amp;#39;&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Users: Monitoring Data Transfer</title><link>/users/data/management/data-transfer/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/users/data/management/data-transfer/monitoring/</guid><description>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Each instance of the FTS3 service, offers a Web monitoring interface, that can
be accessed by end users in order to monitor their submitted transfers and
obtain statistics.&lt;/p>
&lt;h2 id="features">Features&lt;/h2>
&lt;p>The Web monitoring can be accessed without user authentication, only access to
the transfer log files needs an X.509 user certificate installed on the browser.&lt;/p>
&lt;h3 id="overview-page">Overview page&lt;/h3>
&lt;p>The Overview page offers a way to access the information about the transfers
submitted and executed in the last 6 hours. Users can filter transfers per
Virtual Organization, source or destination storage or JobId.&lt;/p>
&lt;p>&lt;img src="ftsmon_overview.png" alt="image">&lt;/p>
&lt;h3 id="job-details-page">Job details page&lt;/h3>
&lt;p>By selecting a specific job the information about the job details are displayed.
Each transfer part of the job is listed with his own information. From this page
it&amp;rsquo;s also possible to access the transfer logs (upon authentication).&lt;/p>
&lt;p>&lt;img src="ftsmon_details.png" alt="image">&lt;/p>
&lt;h3 id="optimizer-page">Optimizer page&lt;/h3>
&lt;p>The Optimizer page shows Optimizer information about a specific link, detailing
the throughput evolution and the parallel transfer/stream per link at a given
time.&lt;/p>
&lt;p>&lt;img src="ftsmon_optimizer.png" alt="image">&lt;/p></description></item></channel></rss>