Updated on 2024-05-20 GMT+08:00

Executing the DSL Algorithm

Function

This API is used to provide flexible DSLs to help users design and run algorithms at low costs. For details about the DSL algorithm, see DSL Syntax.

After the DSL algorithm is executed, you need to use the "Dumping HyG Algorithm Results" API to dump the DSL execution results to OBS. After the dump, you can view algorithm results in files such as stdout. Because HyG graphs are distributed, there may be multiple result files, which correspond to the results of different partitions.

URI

POST /ges/v1.0/{project_id}/hyg/{graph_name}/dsl
Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For how to obtain the project ID, see Obtaining a Project ID.

graph_name

Yes

String

Graph name

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

scriptPath

Yes

String

Path of the DSL algorithm file that the user has written.

obsParameters

Yes

Object

OBS authentication parameters. For details, see Table 3.

Table 3 obsParameters parameter description

Parameter

Mandatory

Type

Description

accessKey

Yes

string

AK

secretKey

Yes

string

SK

Response Parameters

Table 4 Response body parameters

Parameter

Type

Description

errorMessage

String

System prompt

  • If the execution succeeds, this parameter may be left blank.
  • If the execution fails, this parameter is used to display the error message.

errorCode

String

System prompt code

  • If the execution succeeds, this parameter may be left blank.
  • If the execution fails, this parameter is used to display the error code.

result

String

Execution results

  • If the execution is successful, the value is success.
  • If the execution fails, the value is failed.

Example Request

Example request 1: Cancel a submitted job.
POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/dsl
{
    "scriptPath": "bucket/run_sssp.py",
    "obsParameters": {
        "accessKey": "XXX",
        "secretKey": "XXX"
    }
}

SERVER_URL: Address for accessing a graph. For details about its value, see Using Service Plane APIs.

Example Response

Status code: 200

Example response for a successful request

Http Status Code: 200
{
    "jobId": "6-57222f3d-f6b8-41ba-b492-60ed9b879223"
}

Status code: 400

Example response for a failed request

HttpStatusCode: 400
{
    "errorCode": "GES.8011",
    "errorMessage": "graph : movie2 is not exist"
}

Status Codes

Return Value

Description

400 Bad Request

Request error.

401 Unauthorized

Authorization failed.

403 Forbidden

No operation permissions.

404 Not Found

No resources found.

500 Internal Server Error

Internal server error.

503 Service Unavailable

Service unavailable.