Transferring to ATS using SOAP API

Summary
This article covers how to transfer to ATS using a SOAP API.

 

 

Details - Transfer Authorization

Step 1: Query /files/upload_setup on ATS to get a valid token

  1. Use Access Key

Step 2: Initiate transfer on local server using SOAP API

  1. Use SOAP API user to initiate  /services/soap/JobNET-200601
  2. SOAP Job order should include the token from step #1

Example 1 - Transfer Authorization

Query Node API on ATS for transfer auth

  1. Key: KGKCI0Va5Ljr9DOA-Feddf-X
  2. Secret: pZ1ak3oAK4wSEQD3eVIGILfZl7R4g4QYK0W7ZKi8cPWs
  3. URL: ats-aws-us-east-1.aspera.io
  4. REST API:   https://ats-aws-us-east-1.aspera.io/transfer/upload_setup

JSON Payload:

{
 "transfer_requests": [
   {
     "transfer_request": {
      "create_dir": true,
      "overwrite": "always",
       "destination_root": "/TEST/",
      "paths": [
         {
           "source": "/100MB"
         }
       ]
     }
   }
 ]
} 

Full response (token bolded):

 "transfer_specs": [
   {
     "transfer_spec": {
       "paths": [
         {
           "source": "/100MB"
         }
       ],
       "source_root": "",
       "destination_root": "/TEST/",
       "token": "ATB3_AEAmtYyLJqPYNQh82tadrL2R-icJv5oTrMODut9xCyqb-ajWDfSHpsWFPWCh5501z4bAAGO3TN3AX2TOuB7Ob_s7xE1_3BTA",
       "direction": "send",
       "cipher": "aes-128",
       "tags": null,
       "rate_policy_allowed": "fixed",
       "rate_policy": "fair",
       "target_rate_kbps": 10000,
       "min_rate_kbps": 0,
       "create_dir": true,
       "remote_host": "ats-aws-us-east-1.aspera.io",
      "remote_user": "xfer",
       "sshfp": null,
       "ssh_port": 33001,
       "fasp_port": 33001,
       "http_fallback": true,
       "http_fallback_port": 8443
     }
   }
 ]
}

POST to  SOAP API on Server to initiate transfer

  1. SOAP AP URL:  https://shod.demo.asperacloud.org:9092/services/soap/JobNET-200601
  2. File path: /TEST
  3. LOCAL_AGENT: local agent

Example Job order:

<Order>
       <Agent>LOCAL_AGENT</Agent>
       <Version>2</Version>
       <Operation>Push</Operation>
       <ApplicationData> <Token>ATB3_AEAmtYyLJqPYNQh82tadrL2R-icJv5oTrMODut9xCyqb-ajWDfSHpsWFPWCh5501z4bAAGO3TN3AX2TOuB7Ob_s7xE1_3BTA</Token>
       </ApplicationData>
       <RemoteLocation>
           <System>
               <Address>ATS ADDRESS</Address>
               <Port>33001</Port>
               <UserName>xfer</UserName>
           </System>
           <Authentication>
               <Methods>
                   <Method>Token</Method>
               </Methods>
           </Authentication>
           <Files>
               <Path>/TEST</Path>
           </Files>
       </RemoteLocation>
       <LocalLocation>
           <System>
               <UserName>local aspera user</UserName>
               <Password>local aspera password</Password>
           </System>
           <Files>
               <Path>/PATH/TO/SOURCE_FILE</Path>
           </Files>
       </LocalLocation>
       <FileParameters>
           <CreatePath>Yes</CreatePath>
           <RemoveAfterTransfer>No</RemoveAfterTransfer>
           <ResumeCheck>Sparse Checksum</ResumeCheck>
           <Exclude>
               <Pattern>*.DS_Store</Pattern>
               <Pattern>*.com.apple.timemachine.supported</Pattern>
               <Pattern>*Thumbs.db</Pattern>
           </Exclude>
           <Overwrite>Always</Overwrite>
           <PreCalculateJobSize>Yes</PreCalculateJobSize>
       </FileParameters>
       <ChannelParameters>
           <Port>33001</Port>
           <DatagramSize>0</DatagramSize>
           <AutoDetectPathMTU>Yes</AutoDetectPathMTU>
       </ChannelParameters>
       <RateParameters>
           <Policy>Fair</Policy>
           <TargetRate>1000000</TargetRate>
           <TargetRateAsPercent>No</TargetRateAsPercent>
           <MinimumRate>1000000</MinimumRate>
           <MinimumRateAsPercent>No</MinimumRateAsPercent>
           <BandwidthCap>1000000</BandwidthCap>
           <Priority>2</Priority>
       </RateParameters>
       <SecurityParameters>
           <EncryptionCipher>None</EncryptionCipher>
       </SecurityParameters>
   </Order>
 
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk