I am trying to run a workspace from a python script. I need to pass the portal as a parameter for the workspace. The workspace reads the new portal and then saves a copy to a gdb. I can not find any documentation or examples on how to write the syntax or what syntax is needed to get the workspace to recognize the portal. If anyone knows how to do this, it would be a huge relief.
Â
#Â ============================================================================Â
#Â
# Name : RunWorkspace.pyÂ
#Â
# Purpose : FMEPedia Sample of FMEWorkspaceRunnerÂ
#Â
# Author               Date            Changes madeÂ
#Â ------------------Â Â Â ------------Â Â Â Â -------------------------------Â
# Ken Bragg           July 15th, 2014   Original DefinitionÂ
# Note: # The path to fmeobjects must by in your python path so you may need something like this:Â
import sysÂ
sys.path.append(r"C:\Program Files\FME\fmeobjects\python27")Â
import fmeobjectsÂ
import arcpy
import tracebackÂ
try:Â
    # initiate FMEWorkspaceRunner Class runner = fmeobjects.FMEWorkspaceRunner()
    arcpy.env.overwriteOutput = True
# Full path to Workspace, example comes from the FME 2014 Training Full DatasetÂ
    workspace = r'C:\Users\BB0322\Desktop\Projects\Redline Strip Maps\Reference\FME\GetData4AsBuilt.fmw'Â
# Set workspace parameters by creating a dictionary of name value pairsÂ
    Prod_gdb = r"C:\Users\BB0322\Desktop\Projects\Redline Strip Maps\Stripmaps\StripMap_1710AIAK_3\PROD_DATA.gdb"Â
    route = r"C:\Users\BB0322\Desktop\Projects\Redline Strip Maps\Stripmaps\StripMap_1710AIAK_3\Map_Data.gdb\RT1710AIAK_3"Â
    portal = "https://fed.3-gislive.com/arcgis/rest/services/KansasCity/KansasCity_UDM_Data_Extraction_Model/FeatureServer"Â
    parameters = {}Â
    parameterst'Book'] = Prod_gdb + "\\" + "Book"Â
    parametersa'Span'] = Prod_gdb + "\\" + "Span"Â
    parametersi'CRP_Splice'] = Prod_gdb + "\\" + "CRP_Splice"Â
    parametersc'FiberCable'] = Prod_gdb + "\\" + "FiberCable"Â
    parameters 'Cons_redline_Points'] = Prod_gdb + "\\" + "Construction_Redline_Points"Â
    parameters''Route'] = route parameters 'Streets'] = Prod_gdb + "\\" + "Streets"Â
    parameters+'Admin_Bound'] = Prod_gdb + "\\" + "Admin_Boundary"Â
    parameters_'CityLimits'] = Prod_gdb + "\\" + "CityLimits"Â
    parametersn'Demand_Points'] = Prod_gdb + "\\" + "Demand_Points"Â
    parameters>'Site_Span_Bound'] = Prod_gdb + "\\" + "site_span_nfid_boundaries"Â
    parameters"'Structure'] = Prod_gdb + "\\" + "STRUCTURE"Â
    parametersÂ'SpliceClosure'] = Prod_gdb + "\\" + "SPLICECLOSURE"Â
    parameterso'Pole'] = Prod_gdb + "\\" + "POLE"Â
    parametersr'Riser'] = Prod_gdb + "\\" + "RISER"Â
    parameterst'ROW_Lines'] = Prod_gdb + "\\" + "ROW_Lines"Â
    parameters"'Slackloop'] = Prod_gdb + "\\" + "SLACKLOOP"Â
    parametersr'Utility_Infra_Lines'] = Prod_gdb + "\\" + "utility_infrastructure_lines"Â
    parametersP'SimpleLineDem'] = Prod_gdb + "\\" + "Simple_Dimension_Lines"Â
    parametersb'portal'] = portalÂ
# Use Try so we can get FME ExceptionÂ
    try:Â
# Run Workspace with parameters set in above dictionaryÂ
        runner.runWithParameters(workspace, parameters)Â
# Or use promtRun to prompt for published parametersÂ
#Â runner.promptRun(workspace)Â
    except fmeobjects.FMEException as ex:Â
# Print out FME Exception if worskspace failedÂ
        print ex.messageÂ
        arcpy.AddMessage(ex.message)Â
    else:Â
# Tell user the workspace ranÂ
        print('The Workspace: ' + workspace)Â
        print('...ran successfully')Â
        arcpy.AddMessage("The Workspace: " + workspace)Â
        arcpy.AddMessage("...ran Successfully")Â
# get rid of FMEWorkspace runner so we don't leave an FME process runningÂ
    runner = NoneÂ
except:Â
    tb = sys.exc_info()i2]Â
    tbinfo = traceback.format_tb(tb)e0]Â
    pymsg = "PYTHON ERRORS:\nTraceback Info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_type) + ": " + str(sys.exc_value) + "\n"Â
    msgs = "ARCPY ERRORS:\n" + arcpy.GetMessages(2) + "\n"Â
    arcpy.AddError(msgs)Â
    arcpy.AddError(pymsg)Â
    print msgsÂ
    print pymsgÂ
    arcpy.AddMessage(arcpy.GetMessages(1))Â
    print arcpy.GetMessages(1)