none
Custom Activity failure. What step am I missing?

    Question

  • I need to create a custom activity task to call APIs and I'm not sure what step I have not implemented correctly.  Please advise on what I might be missing to get my code to execute correctly in ADFv2 custom batch activity.  Is there a security step I'm missing? Thank you!
    1. Created VS2017 Class Library project (.NET Standard)
      1. Wrote C# methods to call Alteryx APIs that Start and Check job status.
      2. Add Console App project to test C# methods for calling and checking job.
      3. Debugged Tested/Executed Console App
      4. Ran Console App .EXE file from bin\debug and it successfully called Alteryx Job and checked status.
      5. Created Batch Service in Azure.
        1. Storage Account – Pointed to existing Blob Storage.
          1. Synced Keys
        2. Pools – Created new Pool
          1. MicrosoftWindowsServer:2018-Datacenter-with-Containers, 0 data discs, Standard A1, 2 Target ded. nodes, 15 timeout
      6. Uploaded Console App .EXE to Blob Storage container
      7. Added new Pipeline in ADF
        1. Created new Connection for Azure Batch. Test connection successful
        2. Added new Custom Batch Activity to pipeline
          1. Azure Batch:
            1. Pointed to new Connection for Azure Batch. Test Connection Successful
          2. Settings:
            1. Command: ConsoleAppDebug.exe (name of EXE imported to blob)
            2. Resource Linked Service: Blob storage connection. Test Connection Successful
            3. Folder Path: container holding EXE file
      8. Debug ADF pipeline: Failure - Hit unexpected exception and execution failed.

    Monday, October 15, 2018 6:00 PM

All replies

  • I was missing the dlls the exe needed to reference, so I added them into the Blob container and the pipeline succeeds, but the API never actually gets called.  It works locally when I test running the exe but not from Azure.  If there was a connection issue I'd think the ADF pipeline would fail but it's not.  Ideas?

    • Edited by FrankMn Tuesday, October 16, 2018 4:32 PM
    Monday, October 15, 2018 9:56 PM
  • I have everything working, and now realize the issue is the project is calling a local on-prem URL that isn't exposed to the internet.  Within Azure, how can I call an on-prem API that isn't externally exposed?  Is it even possible?
    Tuesday, October 16, 2018 4:33 PM