Application Routes


source

get_applications

 get_applications (auth:domolibrary.client.DomoAuth.DomoAuth,
                   session:Optional[httpx.AsyncClient]=None,
                   debug_api:bool=False, parent_class:str=None,
                   debug_num_stacks_to_drop=1)

source

ApplicationError_NoneRetrieved

 ApplicationError_NoneRetrieved (domo_instance, application_id=None,
                                 application_name=None, parent_class=None,
                                 function_name=None, job_id=None)

base exception


source

Application_GET_Error

 Application_GET_Error
                        (res:domolibrary.client.ResponseGetData.ResponseGe
                        tData, message:str=None)

base exception

sample implementation of get_applications

token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
)

res = await get_applications(auth=token_auth)
pd.DataFrame(res.response)[0:20]
applicationId customerId name description version executionClass verifyOwnership strictValidation imageLocation authorities internalAuthorities created updated resources k8s
0 25a97e0c-df6b-11eb-ba80-0242ac130004 mmmm-0012-0200 Toolkit: PDP Automation PDP Automation 1.0.166_1 com.domo.executor.pdp.PDPAutomationApplication False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [dataset.manage] [] 1665079183000 1729874994000 {'requests': {'memory': '5G', 'missingMemoryVa... True
1 e37a6942-9c0f-485a-8288-4fe95e10b23d mmmm-0012-0200 Toolkit: DataSet S3 Backup DataSet S3 Backup 1.0.20_1 com.domo.executor.backup.DataSetBackupExecutor False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [dataset.admin, search.allentities.query] [service.internal] 1665079176000 1724795369000 {'requests': {'memory': '3G', 'missingMemoryVa... True
2 4ddbf5d7-6441-4eb3-b5aa-97707cae2d2b mmmm-0012-0200 Toolkit: Schema Management Schema Management 1.0.25_3 com.domo.executor.schema.SchemaManagement False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create, dataset.admin] [] 1665079188000 1701972110000 {'requests': {'memory': '2G', 'missingMemoryVa... True
3 b52f3c80-2642-4dcb-b874-b327326021b0 mmmm-0012-0200 Toolkit: User Automation Toolkit: User Automation 1.0.139_1 com.domo.executor.userautomation.UserAutomatio... False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create, dataset.manage,... [] 1665079192000 1732295808000 {'requests': {'memory': '3G', 'missingMemoryVa... True
4 bf651f89-2b76-4290-a5d8-d4dbcddc86a3 mmmm-0012-0200 Toolkit: Triggered Reports Triggers Scheduled reports based on triggered ... 1.0.7_2 com.domo.executor.reports.ReportTriggerExecutor False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create, dataset.manage,... [] 1665079190000 1701972120000 {'requests': {'memory': '1G', 'missingMemoryVa... True
5 2f6573a5-97d8-4e27-b0fd-3c0f2313a3c8 mmmm-0012-0200 Toolkit: Group Management Group Management 1.0.91_1 com.domo.executor.automation.GroupAutomationEx... False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create, dataset.admin, ... [] 1665079181000 1731367065000 {'requests': {'memory': '1G', 'missingMemoryVa... True
6 50e7230f-d2f2-42e2-a208-d94c8ae9f64c mmmm-0012-0200 Toolkit: Remote Domo Stats Remote Domo Stats 1.2.494_1 com.domo.executor.subscriberstats.SubscriberSt... False False 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [developer.token.manage, pipeline.executor.job... [] 1685655237000 1732566100000 {'requests': {'memory': '2G', 'missingMemoryVa... True
7 a99c3fd8-a0f6-4d06-9a1d-74f3d12293d4 mmmm-0012-0200 Toolkit: DataSet Tag Automation DataSet Tag Automation 1.0.35_2 com.domo.executor.tags.ResourceTagApplication False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [dataflow.admin, dataset.admin, search.allenti... [] 1665079179000 1701972075000 {'requests': {'memory': '3G', 'missingMemoryVa... True
8 068a1c2d-7a1a-449d-82d9-5ab54e2eb16e mmmm-0012-0200 Geocoder Executor Geocoder Executor Service 1.0.76_3 com.domo.executor.geocoder.GeocoderApplication False False 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create] [service.internal, dataset.manage, dataset.adm... 1675981659000 1722401701000 {'requests': {'memory': '4G', 'missingMemoryVa... True
9 69a16dc5-1d0e-45a6-8e15-459d8c0b1b42 mmmm-0012-0200 Toolkit: Virtual Dataset Sharing Virtual Dataset Sharing 1.0.39_1 com.domo.executor.dataset.DataSetSharingApplic... False True 972900829293.dkr.ecr.us-east-1.amazonaws.com/e... [pipeline.executor.job.create, dataset.manage] [service.internal] 1665079194000 1724795386000 {'requests': {'memory': '1G', 'missingMemoryVa... True

source

get_application_by_id

 get_application_by_id (auth:domolibrary.client.DomoAuth.DomoAuth,
                        application_id:str,
                        session:Optional[httpx.AsyncClient]=None,
                        debug_api:bool=False, parent_class:str=None,
                        debug_num_stacks_to_drop:int=1)
token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
    
)


res = await get_applications(auth=token_auth)
application = next(
    (app for app in res.response if app["name"] == "Toolkit: DataSet Tag Automation")
)

res = await get_application_by_id(
    application_id=application["applicationId"], auth=token_auth
)
res.response
{'applicationId': 'a99c3fd8-a0f6-4d06-9a1d-74f3d12293d4',
 'customerId': 'mmmm-0012-0200',
 'name': 'Toolkit: DataSet Tag Automation',
 'description': 'DataSet Tag Automation',
 'version': '1.0.35_2',
 'executionClass': 'com.domo.executor.tags.ResourceTagApplication',
 'verifyOwnership': False,
 'strictValidation': True,
 'imageLocation': '972900829293.dkr.ecr.us-east-1.amazonaws.com/executor/resourcetag-automation:1.0.35_master',
 'authorities': ['dataflow.admin',
  'dataset.admin',
  'search.allentities.query'],
 'internalAuthorities': [],
 'created': 1665079179000,
 'updated': 1701972075000,
 'resources': {'requests': {'memory': '3G', 'missingMemoryValue': False},
  'limits': {'memory': '3G', 'missingMemoryValue': False},
  'missingMemoryRequestValue': False,
  'missingMemoryLimitValue': False},
 'k8s': True}

Jobs


source

get_application_jobs

 get_application_jobs (auth:domolibrary.client.DomoAuth.DomoAuth,
                       application_id:str, parent_class:str=None,
                       debug_api:bool=False, debug_num_stacks_to_drop=2,
                       session:Optional[httpx.AsyncClient]=None)

source

ApplicationError_NoJobRetrieved

 ApplicationError_NoJobRetrieved (domo_instance, application_id=None,
                                  parent_class=None, function_name=None)

base exception

token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
)


res = await get_applications(auth=token_auth)
application = next(
    (app for app in res.response if app["name"] == "Toolkit: DataSet Tag Automation")
)

res = await get_application_jobs(
    application_id=application["applicationId"], auth=token_auth
)
res.response
[{'jobId': '743c1c6f-80d5-4b47-b02e-0ea28f6a5683',
  'applicationId': 'a99c3fd8-a0f6-4d06-9a1d-74f3d12293d4',
  'customerId': 'mmmm-0012-0200',
  'jobName': 'tag_inactive_owners',
  'jobDescription': 't',
  'userId': 1893952720,
  'executionTimeout': 1440,
  'jobStatus': 'idle',
  'executionPayload': {'emails': ['jae@onyxreporting.com'],
   'resourceTypes': ['datasource'],
   'tagFilter': [],
   'ownerFilter': [],
   'typeFilter': [],
   'domain': None,
   'taggingPolicies': ['ownerInactive'],
   'metricsDatasetId': '29a3417d-1543-46a3-abd1-cbe84f257fb5'},
  'executionResponse': {},
  'shareState': {'sharedEntities': [{'id': '1893952720',
     'type': 'USER',
     'accessLevel': 'OWNER'}]},
  'accounts': [],
  'executionClass': 'com.domo.executor.tags.ResourceTagApplication',
  'created': 1708539691000,
  'updated': 1708980137000,
  'statusChanged': 1733146937000,
  'triggers': [],
  'compressPayload': False}]

source

get_application_job_by_id

 get_application_job_by_id (auth:domolibrary.client.DomoAuth.DomoAuth,
                            application_id:str, job_id:str,
                            parent_class:str=None, debug_api:bool=False,
                            debug_num_stacks_to_drop=2,
                            session:Optional[httpx.AsyncClient]=None)
token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],

)

application_id = "50e7230f-d2f2-42e2-a208-d94c8ae9f64c"
res = await get_application_jobs(application_id=application_id, auth=token_auth)

job_id = res.response[0]["jobId"]

res = await get_application_job_by_id(
    auth=token_auth, application_id=application_id, job_id=job_id, debug_api=False
)

res.response
{'jobId': 'f7a1b31f-f774-4eeb-ba85-d56d29b1dedc',
 'applicationId': '50e7230f-d2f2-42e2-a208-d94c8ae9f64c',
 'customerId': 'mmmm-0012-0200',
 'jobName': 'domo-community',
 'jobDescription': 'updated on 2024-02-27',
 'userId': 1893952720,
 'executionTimeout': 1440,
 'jobStatus': 'idle',
 'executionPayload': {'remoteInstance': 'domo-community',
  'subscriberJobId': 'd29c4551-5ec9-4eb8-8a93-b89e7a4ec300',
  'policies': {'AccountPermissions': 'b156bfe4-d0e5-4410-8354-b3062973a99c'},
  'metricsDatasetId': 'da68b3ea-088f-4493-ae69-ee5094feaa29'},
 'executionResponse': {},
 'executionState': {'runCount': 1},
 'shareState': {'sharedEntities': [{'id': '1893952720',
    'type': 'USER',
    'accessLevel': 'OWNER'}]},
 'accounts': [96],
 'executionClass': 'com.domo.executor.subscriberstats.SubscriberStatsExecutor',
 'created': 1708992631000,
 'updated': 1709057611000,
 'statusChanged': 1733102945000,
 'triggers': [{'triggerId': '38524a92-05bd-459a-946c-33da00f77fa2',
   'jobId': 'f7a1b31f-f774-4eeb-ba85-d56d29b1dedc',
   'eventEntity': '0 29 1 ? * MON-SUN *',
   'created': 1708993138000,
   'updated': 1708993138000,
   'lastTriggered': 1733102940000,
   'eventType': 'scheduleTriggered'}],
 'compressPayload': False}

Job Configs for Applications


source

generate_body_watchdog_generic

 generate_body_watchdog_generic (job_name:str, notify_user_ids_ls:list,
                                 notify_group_ids_ls:list,
                                 notify_emails_ls:list,
                                 log_dataset_id:str, schedule_ls:list,
                                 watchdog_parameter_body:dict,
                                 execution_timeout=1440,
                                 debug_api:bool=False)

source

generate_remote_domostats

 generate_remote_domostats (target_instance:str, report_dict:dict,
                            output_dataset_id:str, account_id:str,
                            schedule_ls:list, execution_timeout:int=1440,
                            debug_api:bool=False)

source

update_application_job_trigger

 update_application_job_trigger
                                 (auth:domolibrary.client.DomoAuth.DomoAut
                                 h, body:dict, job_id:str, trigger_id:str,
                                 application_id:str,
                                 debug_num_stacks_to_drop=1,
                                 parent_class:str=None,
                                 session:Optional[httpx.AsyncClient]=None,
                                 debug_api:bool=False)

source

update_application_job

 update_application_job (auth:domolibrary.client.DomoAuth.DomoAuth,
                         body:dict, job_id:str, application_id:str,
                         debug_num_stacks_to_drop=1,
                         parent_class:str=None,
                         session:Optional[httpx.AsyncClient]=None,
                         debug_api:bool=False)

source

create_application_job

 create_application_job (auth:domolibrary.client.DomoAuth.DomoAuth,
                         body:dict, application_id:str,
                         debug_api:bool=False, debug_num_stacks_to_drop=2,
                         parent_class:str=None,
                         session:Optional[httpx.AsyncClient]=None)

source

CRUD_ApplicationJob_Error

 CRUD_ApplicationJob_Error (domo_instance, application_id, message,
                            parent_class, function_name)

base exception


source

execute_application_job

 execute_application_job (auth:domolibrary.client.DomoAuth.DomoAuth,
                          application_id, job_id, debug_api:bool=False,
                          debug_num_stacks_to_drop=1,
                          parent_class:str=None,
                          session:httpx.AsyncClient=None)
token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
)


res = await get_applications(auth=token_auth)
application_id = next(
    (
        app["applicationId"]
        for app in res.response
        if app["name"] == "Toolkit: DataSet Tag Automation"
    )
)

res = await get_application_jobs(application_id=application_id, auth=token_auth)
job_id = next((job["jobId"] for job in res.response))

job_id

await execute_application_job(
    auth=token_auth, application_id=application_id, job_id=job_id
)
ResponseGetData(status=200, response={'requestedBy': 1893952720, 'queuedJobs': [{'jobId': '743c1c6f-80d5-4b47-b02e-0ea28f6a5683', 'applicationId': 'a99c3fd8-a0f6-4d06-9a1d-74f3d12293d4', 'executionId': '70e5f9c1-9e62-4bd2-9123-4c95bebd76d5', 'customerId': 'mmmm-0012-0200', 'jobName': 'tag_inactive_owners', 'jobDescription': 't', 'userId': 1893952720, 'executionTimeout': 1440, 'jobStatus': 'idle', 'executionPayload': {'emails': ['jae@onyxreporting.com'], 'resourceTypes': ['datasource'], 'tagFilter': [], 'ownerFilter': [], 'typeFilter': [], 'domain': None, 'taggingPolicies': ['ownerInactive'], 'metricsDatasetId': '29a3417d-1543-46a3-abd1-cbe84f257fb5'}, 'executionResponse': {}, 'accounts': [], 'executionClass': 'com.domo.executor.tags.ResourceTagApplication', 'created': 1708539691000, 'updated': 1708980137000, 'statusChanged': 1733146937000, 'triggers': [], 'compressPayload': False}]}, is_success=True, parent_class=None)

Get Available Reports


source

get_available_rds_reports_step2

 get_available_rds_reports_step2
                                  (auth:domolibrary.client.DomoAuth.DomoAu
                                  th, application_id, job_id,
                                  execution_id, debug_api:bool=False,
                                  debug_num_stacks_to_drop=1,
                                  parent_class:str=None,
                                  session:httpx.AsyncClient=None)

source

get_available_rds_reports_step1

 get_available_rds_reports_step1
                                  (auth:domolibrary.client.DomoAuth.DomoAu
                                  th, application_id,
                                  debug_api:bool=False,
                                  debug_num_stacks_to_drop=1,
                                  parent_class:str=None,
                                  session:httpx.AsyncClient=None)
token_auth = dmda.DomoTokenAuth(
    domo_instance=os.environ['DOMO_INSTANCE'],
    domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],

)

application_id = "50e7230f-d2f2-42e2-a208-d94c8ae9f64c"
res = await get_available_rds_reports_step1(application_id=application_id, auth=token_auth)
print (res.response)
job_id = res.response["queuedJobs"][0]["jobId"]
execution_id = res.response["queuedJobs"][0]["executionId"]
print (job_id, execution_id)
{'requestedBy': 1893952720, 'queuedJobs': [{'jobId': 'bc45c83a-9395-4af6-8351-e77912377361', 'applicationId': '50e7230f-d2f2-42e2-a208-d94c8ae9f64c', 'executionId': '10c8c7fd-6aa6-4183-9dbb-4c78ab77114c', 'customerId': 'mmmm-0012-0200', 'userId': 1893952720, 'executionTimeout': 720, 'executionPayload': {'retrieveAvailableReports': True}, 'executionResponse': {}, 'accounts': [], 'executionClass': 'com.domo.executor.subscriberstats.SubscriberStatsExecutor', 'triggers': [], 'compressPayload': False}]}
bc45c83a-9395-4af6-8351-e77912377361 10c8c7fd-6aa6-4183-9dbb-4c78ab77114c
job_id = "11e4bfab-6799-4877-aa4b-fb284bb7f465"
execution_id = "0d2c031a-c8a4-4c70-9ae2-7ccd3a4f3914"

try:
    print((await get_available_rds_reports_step2(
    application_id=application_id, 
    job_id= job_id,
    execution_id=execution_id,
    auth=token_auth)))

except dmde.DomoError as e:
    print(e)
🛑  Application_GET_Error 🛑 - function: get_traceback || status 404 || Not Found at domo-community