All Products
Search
Document Center

DataWorks:CreateFunction

Last Updated:Jan 12, 2026

Creates a user-defined function (UDF) in DataStudio. The information about the UDF is described by using FlowSpec.

Operation description

Note You cannot use this API operation to create multiple UDFs at a time. If you specify multiple UDFs by using FlowSpec, the system creates only the first specified UDF.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • For mandatory resource types, indicate with a prefix of * .
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
dataworks:*create
*All Resources
*
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
ProjectIdstringYes

The DataWorks workspace ID. You can log on to the DataWorks console and go to the Workspace page to query the ID.

12345
SpecstringYes

The FlowSpec field information about the UDF. For more information, see FlowSpec .

{ "version": "1.1.0", "kind": "Function", "spec": { "functions": [ { "name": "function name", "script": { "content": "{\"name\": \"function name\", \"datasource\": {\"type\": \"ODPS\", \"name\": \"ODPS_first\"}, \"runtimeResource\": {\"resourceGroup\": \"s_res_group_xx_xxxx\"}}", "path": "XXX/OpenAPI/function/function name", "runtime": { "command": "ODPS_FUNCTION" } }, "datasource": { "name": "ODPS_first", "type": "ODPS" }, "runtimeResource": { "resourceGroup": "S_res_group_XXXX_XXXX" } } ] } }

Response parameters

ParameterTypeDescriptionExample
object

Schema of Response

RequestIdstring

The request ID. You can locate logs and troubleshoot issues based on the ID.

AE49C88D-5BEE-5ADD-8B8C-C4BBC0D7XXXX
Idstring

The unique identifier of the UDF function.

Note Prior to SDK version 8.0.0, this field is of type Long. In SDK version 8.0.0 and later, it is of type String. This change does not affect the normal use of the SDK. The parameter is returned based on the type defined in the SDK. Compilation failures caused by the type change may occur only when you upgrade the SDK across version 8.0.0. In this case, you must manually update the data type.
580667964888595XXXX

Examples

Sample success responses

JSONformat

{
  "RequestId": "AE49C88D-5BEE-5ADD-8B8C-C4BBC0D7XXXX",
  "Id": "580667964888595XXXX"
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2025-12-29The response structure of the API has changedView Change Details
2025-01-13The response structure of the API has changedView Change Details