Use this REST request to update an already running ESP project. This request stops and removes the running project, and compiles, deploys, and runs the new project with the same project name. There is no downtime for this process. This REST request is a POST type request.
http://serverDetails/espws/restservice/project/<projectName>?action=update&workspace=<workspaceName>
Element | Description |
---|---|
defaultCluster |
(Optional) Specify a default cluster for the REST server to which you are connecting. This element contains the credentialselement below. If you specify this element, the workspace name specified in the URI is ignored. Specify either this element or the connectionDetails element. If you specify both elements, you will receive an error. |
credentials | (Optional) Specify a value based on the type of authentication the
ESP Server is using.
|
connectionDetails |
(Required only if defaultCluster is not specified) Element containing clusterName, port, and authentication details below. Specify either this element or the defaultCluster element. If you specify both elements, you will receive an error. |
clusterName |
Type: string (Required if no default is specified) The name of the cluster on which the project that you wish to update is running. |
port |
Type: integer (Required) Specify the port on which the cluster is running. |
authentication |
(Required) Element containing authentication details (type, data, and sslEnabled). |
type |
Type: string (Required) Specify the type of authentication the ESP Server is using. Valid values are user, RSA, and Kerberos. |
data |
Type: string (Required) Specify a value based on the type of authentication you specified in the
type element. For example,
|
sslEnabled |
Type: boolean (Required) Specify whether SSL is enabled on the cluster on which the project is running. The default value is false. |
Element | Description |
---|---|
content |
(Required) Element containing content details for the REST request. |
cclContent |
(Required only if you do not have ccxContent specified) Include the CCL for your project. This is the same content specified in your project CCL file. For example, the format is "cclContent":"CREATE INPUT WINDOW <windowname> SCHEMA ( <yourwindowschema>);" Specify either this element or ccxContent but not both. If you specify both cclContent and ccxContent, you will receive an error. |
ccrContent |
(Optional) Include the content of your CCR project configuration
file. For example, the format
is
"ccrContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <Configuration xmlns=\"<autogenerateurl> <Deployment> <Project ha=\"<value>"> <Options><Option name=\"ws-enabled\" value=\"<value>\"/></Options> </Project> </Deployment> </Configuration>" |
ccxContent |
(Optional) Include the CCX (compiled CCL file) for your project instead of specifying CCL. For example, the format is "ccxContent":"<?xml version=\"1.0\" encoding=\"UTF-8\"?> <Platform version=\"5.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" compiled=\"true\"> <Program> <Section id=\"$~ID\"> <Types> <RecordType name=\"name\"> <Column datatype=\"integer\" key=\"false\" name=\"bekey\" /> </RecordType> </Types> </Section> </Program> <CompiledSourceStream id=\"id\" section=\"$~section\" visibility=\"input\" > <Column datatype=\"integer\" key=\"false\" name=\"bekey\" /> <StatelessInsert name=\"name\" recordType=\"recordtype\" result=\"true\" /> <PassLogic name=\"name\" priority=\"0\" itype=\"classic\" from=\"value\" to=\"value\" /> <SourceNode name=\"name\" recordType=\"recordtype\" /> </CompiledSourceStream> </Platform> , Specify either this element or cclContent but not both. If you specify both ccxContent and cclContent, you will receive an error. |
additionalCclContent |
(Optional) Specify additional CCL files and content that the main CCL file references. Do not specify absolute paths or use directory traversal for this element. |
http://localhost:9091/espws/restservice/project/myproject?action=update&workspace=default
{ "defaultCluster" : { "credentials" : "<username>:<password>" } } }, "content": { "cclContent": "CREATE INPUT STREAM generationDetails SCHEMA (cclContent string , streaming_url string, streaming_username string, streaming_password string, projectName string, command string) (cclContent); ATTACH OUTPUT ADAPTER custom_out TYPE custom_out TO generationDetails;" "ccrContent": "<?xml version…>" }
{ "connectionDetails": { "clusterName ": "iltlvl231", "port": "19011", "authentication": { "type": "user", "data": "lroot:<password>", "sslEnabled": "true" } }, "content": { "cclContent": "CREATE INPUT STREAM generationDetails SCHEMA (cclContent string , streaming_url string, streaming_username string, streaming_password string, projectName string, command string) (cclContent); ATTACH OUTPUT ADAPTER custom_out TYPE custom_out TO generationDetails;" "ccrContent": "<?xml version…>" }