Updated on 2024-10-21 GMT+08:00

Updating Stream Information

Function

This API is used to update the information about a specified stream.

Calling Method

For details, see Calling APIs.

URI

PUT /v3/{project_id}/streams/{stream_name}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

stream_name

Yes

String

Name of the stream whose partition quantity needs to be changed

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

stream_name

Yes

String

Name of the stream to be updated

Maximum: 64

data_duration

No

Integer

Data retention period.

Value range: 24–72

Unit: hour

If this parameter is left unspecified, the default value will be used.

Default: 24

data_type

No

String

Source data type.

  • BLOB: a collection of binary data stored as a single entity in a database management system

  • JSON: an open-standard file format that uses human-readable text to transmit data objects consisting of attribute-value pairs and array data types

  • CSV: a simple text format for storing tabular data in a plain text file. Commas are used as delimiters.

Default value: BLOB

Enumeration values:

  • BLOB

  • JSON

  • CSV

data_schema

No

String

Source data structure that defines JSON and CSV formats. It is described in the syntax of the Avro schema.

auto_scale_enabled

No

Boolean

Whether to enable auto scaling.

  • true: Auto scaling is enabled.

  • false: Auto scaling is disabled.

By default, auto scaling is disabled.

Default: false

Enumeration values:

  • true

  • false

auto_scale_min_partition_count

No

Long

Minimum number of partitions for automatic scale-down when auto scaling is enabled

Minimum: 1

auto_scale_max_partition_count

No

Long

Maximum number of partitions for automatic scale-up when auto scaling is enabled

Response Parameters

None

Example Requests

  • Updating the Stream Lifecycle

    PUT https://{Endpoint}/v3/{project_id}/streams/{stream_name}
    
    {
      "stream_name" : "stz_test",
      "data_duration" : 48
    }
  • Updating the Stream Type

    PUT https://{Endpoint}/v3/{project_id}/streams/{stream_name}
    
    {
      "stream_name" : "stz_test",
      "data_type" : "JSON"
    }

Example Responses

None

SDK Sample Code

The SDK sample code is as follows.

Java

  • Updating the Stream Lifecycle

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.dis.v2.region.DisRegion;
    import com.huaweicloud.sdk.dis.v2.*;
    import com.huaweicloud.sdk.dis.v2.model.*;
    
    
    public class UpdateStreamSolution {
    
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
    
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            DisClient client = DisClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(DisRegion.valueOf("<YOUR REGION>"))
                    .build();
            UpdateStreamRequest request = new UpdateStreamRequest();
            UpdateStreamReq body = new UpdateStreamReq();
            body.withDataDuration(48);
            body.withStreamName("stz_test");
            request.withBody(body);
            try {
                UpdateStreamResponse response = client.updateStream(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    
  • Updating the Stream Type

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.dis.v2.region.DisRegion;
    import com.huaweicloud.sdk.dis.v2.*;
    import com.huaweicloud.sdk.dis.v2.model.*;
    
    
    public class UpdateStreamSolution {
    
        public static void main(String[] args) {
            // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
            // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
            String ak = System.getenv("CLOUD_SDK_AK");
            String sk = System.getenv("CLOUD_SDK_SK");
    
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            DisClient client = DisClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(DisRegion.valueOf("<YOUR REGION>"))
                    .build();
            UpdateStreamRequest request = new UpdateStreamRequest();
            UpdateStreamReq body = new UpdateStreamReq();
            body.withDataType(UpdateStreamReq.DataTypeEnum.fromValue("JSON"));
            body.withStreamName("stz_test");
            request.withBody(body);
            try {
                UpdateStreamResponse response = client.updateStream(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getRequestId());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
    

Python

  • Updating the Stream Lifecycle

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # coding: utf-8
    
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkdis.v2.region.dis_region import DisRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkdis.v2 import *
    
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
    
        credentials = BasicCredentials(ak, sk)
    
        client = DisClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(DisRegion.value_of("<YOUR REGION>")) \
            .build()
    
        try:
            request = UpdateStreamRequest()
            request.body = UpdateStreamReq(
                data_duration=48,
                stream_name="stz_test"
            )
            response = client.update_stream(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    
  • Updating the Stream Type

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # coding: utf-8
    
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkdis.v2.region.dis_region import DisRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkdis.v2 import *
    
    if __name__ == "__main__":
        # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
    
        credentials = BasicCredentials(ak, sk)
    
        client = DisClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(DisRegion.value_of("<YOUR REGION>")) \
            .build()
    
        try:
            request = UpdateStreamRequest()
            request.body = UpdateStreamReq(
                data_type="JSON",
                stream_name="stz_test"
            )
            response = client.update_stream(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
    

Go

  • Updating the Stream Lifecycle

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        dis "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/region"
    )
    
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := dis.NewDisClient(
            dis.DisClientBuilder().
                WithRegion(region.ValueOf("<YOUR REGION>")).
                WithCredential(auth).
                Build())
    
        request := &model.UpdateStreamRequest{}
    	dataDurationUpdateStreamReq:= int32(48)
    	request.Body = &model.UpdateStreamReq{
    		DataDuration: &dataDurationUpdateStreamReq,
    		StreamName: "stz_test",
    	}
    	response, err := client.UpdateStream(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    
  • Updating the Stream Type

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        dis "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dis/v2/region"
    )
    
    func main() {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        ak := os.Getenv("CLOUD_SDK_AK")
        sk := os.Getenv("CLOUD_SDK_SK")
    
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := dis.NewDisClient(
            dis.DisClientBuilder().
                WithRegion(region.ValueOf("<YOUR REGION>")).
                WithCredential(auth).
                Build())
    
        request := &model.UpdateStreamRequest{}
    	dataTypeUpdateStreamReq:= model.GetUpdateStreamReqDataTypeEnum().JSON
    	request.Body = &model.UpdateStreamReq{
    		DataType: &dataTypeUpdateStreamReq,
    		StreamName: "stz_test",
    	}
    	response, err := client.UpdateStream(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    

More

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

204

Normal response

Error Codes

See Error Codes.