Creating a Log Stream
Function
This API is used to create a log stream. You can create log streams in a specified log group to organize logs by category, facilitating log locating and analysis.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/groups/{log_group_id}/streams
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Parameter description: Project ID. For details about how to obtain it, see Obtaining the Project ID, Account ID, Log Group ID, and Log Stream ID. Constraints: N/A. Value range: N/A. Default value: N/A. |
log_group_id |
Yes |
String |
Parameter description: Log group ID. For details about how to obtain it, see Obtaining the Project ID, Account ID, Log Group ID, and Log Stream ID. Constraints: N/A. Value range: N/A. Default value: N/A. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Parameter description: User token obtained from IAM. For details about how to obtain it, see Obtaining a User Token. Constraints: N/A. Value range: N/A. Default value: N/A. |
Content-Type |
Yes |
String |
Parameter description: Set this parameter to application/json;charset=UTF-8. Constraints: N/A. Value range: N/A. Default value: N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
log_stream_name |
Yes |
String |
Parameter description: Name of the log stream to be created. Constraints: N/A. Value range: Use only letters, digits, hyphens (-), underscores (_), and periods (.). Do not start with a period or underscore or end with a period. Default value: N/A. |
ttl_in_days |
No |
Integer |
Parameter description: Log retention period. If this parameter is not specified, the log retention period of the log group is inherited by default. Constraints: N/A. Value range: Minimum value: 1 day Maximum value: 365 days Default value: N/A. |
tags |
No |
Array of tagsBody objects |
Parameter description: Tag field information. Constraints: You can add up to 20 tags. Each tag key must be unique. Value range: N/A. Default value: N/A. |
log_stream_name_alias |
No |
String |
Parameter description: Log stream alias. It cannot be the same as its original name or the name of another log stream. Constraints: N/A. Value range: Use only letters, digits, hyphens (-), underscores (_), and periods (.). Do not start with a period or underscore or end with a period. Default value: N/A. |
enterprise_project_name |
No |
String |
Parameter description: Enterprise project name. When you create a log stream, if you do not set this parameter or there are no other enterprise projects available, enterprise project default is used. You can view all enterprise projects on the Enterprise Project Management Service page. Constraints: N/A. Value range: N/A. Default value: N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Parameter description: Tag key, which must be unique. Constraints: N/A. Value range: It can contain up to 128 characters, including only letters, digits, spaces, and special characters (_.:=+-@). Do not start or end with a space, nor start with sys. Default value: N/A. |
value |
No |
String |
Parameter description: Tag value. Constraints: It can contain up to 255 characters, including only letters, digits, spaces, and special characters (_.:=+-@). Value range: N/A. Default value: N/A. |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
log_stream_id |
String |
Parameter description: ID of the created log stream. Value range: N/A. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: N/A. |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: N/A. |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: N/A. |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Parameter description: Error code. Value range: N/A. |
error_msg |
String |
Parameter description: Error message. Value range: N/A. |
Example Requests
Create a log stream.
POST https://{endpoint}/v2/{project_id}/groups/{log_group_id}/streams
{
"log_stream_name" : "lts-stream-02kh"
}
Example Responses
Status code: 201
The request is successful and the log stream has been created.
{
"log_stream_id" : "c54dbc58-0fd8-48ed-b007-6d54981427a7"
}
Status code: 400
Invalid request. Modify the request based on the description in error_msg before a retry.
{
"error_code" : "LTS.0009",
"error_msg" : "Failed to validate the request body"
}
Status code: 401
Authentication failed. Check the token and try again.
{
"error_code" : "LTS.0003",
"error_msg" : "Invalid token"
}
Status code: 403
Request rejected. The server has received the request and understood it, but refuses to respond to it. The client should not repeat the request without modifications.
{
"error_code" : "LTS.0001",
"error_msg" : "Invalid projectId"
}
Status code: 500
The server has received the request but encountered an internal error.
{
"error_code" : "LTS.0202",
"error_msg" : "Failed to create Log stream"
}
SDK Sample Code
The SDK sample code is as follows.
Create a log stream.
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 50 51 |
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.lts.v2.region.LtsRegion;
import com.huaweicloud.sdk.lts.v2.*;
import com.huaweicloud.sdk.lts.v2.model.*;
public class CreateLogStreamSolution {
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");
String projectId = "{project_id}";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
LtsClient client = LtsClient.newBuilder()
.withCredential(auth)
.withRegion(LtsRegion.valueOf("<YOUR REGION>"))
.build();
CreateLogStreamRequest request = new CreateLogStreamRequest();
request.withLogGroupId("{log_group_id}");
CreateLogStreamParams body = new CreateLogStreamParams();
body.withLogStreamName("lts-stream-02kh");
request.withBody(body);
try {
CreateLogStreamResponse response = client.createLogStream(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());
}
}
}
|
Create a log stream.
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 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdklts.v2.region.lts_region import LtsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdklts.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"]
projectId = "{project_id}"
credentials = BasicCredentials(ak, sk, projectId)
client = LtsClient.new_builder() \
.with_credentials(credentials) \
.with_region(LtsRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = CreateLogStreamRequest()
request.log_group_id = "{log_group_id}"
request.body = CreateLogStreamParams(
log_stream_name="lts-stream-02kh"
)
response = client.create_log_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)
|
Create a log stream.
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 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/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")
projectId := "{project_id}"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := lts.NewLtsClient(
lts.LtsClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.CreateLogStreamRequest{}
request.LogGroupId = "{log_group_id}"
request.Body = &model.CreateLogStreamParams{
LogStreamName: "lts-stream-02kh",
}
response, err := client.CreateLogStream(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Create a log stream.
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 50 51 |
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.lts.v2.region.LtsRegion;
import com.huaweicloud.sdk.lts.v2.*;
import com.huaweicloud.sdk.lts.v2.model.*;
public class CreateLogStreamSolution {
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");
String projectId = "{project_id}";
ICredential auth = new BasicCredentials()
.withProjectId(projectId)
.withAk(ak)
.withSk(sk);
LtsClient client = LtsClient.newBuilder()
.withCredential(auth)
.withRegion(LtsRegion.valueOf("<YOUR REGION>"))
.build();
CreateLogStreamRequest request = new CreateLogStreamRequest();
request.withLogGroupId("{log_group_id}");
CreateLogStreamParams body = new CreateLogStreamParams();
body.withLogStreamName("lts-stream-02kh");
request.withBody(body);
try {
CreateLogStreamResponse response = client.createLogStream(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());
}
}
}
|
Create a log stream.
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 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdklts.v2.region.lts_region import LtsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdklts.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"]
projectId = "{project_id}"
credentials = BasicCredentials(ak, sk, projectId)
client = LtsClient.new_builder() \
.with_credentials(credentials) \
.with_region(LtsRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = CreateLogStreamRequest()
request.log_group_id = "{log_group_id}"
request.body = CreateLogStreamParams(
log_stream_name="lts-stream-02kh"
)
response = client.create_log_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)
|
Create a log stream.
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 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/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")
projectId := "{project_id}"
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
WithProjectId(projectId).
Build()
client := lts.NewLtsClient(
lts.LtsClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.CreateLogStreamRequest{}
request.LogGroupId = "{log_group_id}"
request.Body = &model.CreateLogStreamParams{
LogStreamName: "lts-stream-02kh",
}
response, err := client.CreateLogStream(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
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 |
---|---|
201 |
The request is successful and the log stream has been created. |
400 |
Invalid request. Modify the request based on the description in error_msg before a retry. |
401 |
Authentication failed. Check the token and try again. |
403 |
Request rejected. The server has received the request and understood it, but refuses to respond to it. The client should not repeat the request without modifications. |
500 |
The server has received the request but encountered an internal error. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot