All Products
Search
Document Center

:OpenSlsService

Last Updated:Aug 18, 2023

Activates Simple Log Service. You must activate Simple Log Service before you can use it to collect and manage logs.

Usage notes

An AccessKey pair is created and obtained. For more information, see AccessKey pair.

The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in Simple Log Service is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. Make sure that the RAM user is granted the permissions to manage Simple Log Service resources. For more information, see Create a RAM user and authorize the RAM user to access Simple Log Service.

Request syntax

POST https://sls.aliyuncs.com/
? AccessKeyId=yourAccessKeyId
&Action=OpenSlsService
&Format=Format
&SignatureMethod=HMAC-SHA1
&SignatureNonce=SignatureNonce
&SignatureVersion=SignatureVersion
&Timestamp=Timestamp
&Version=Version
&Signature=Signature

Request parameters

  • Request headers

    The OpenSlsService operation does not have operation-specific request headers.

  • Parameters

    Parameter

    Type

    Required

    Example

    Description

    Action

    String

    Yes

    OpenSlsService

    The operation that you want to perform. Set the value to OpenSlsService.

    AccessKeyId

    String

    Yes

    test-key

    The AccessKey ID of your Alibaba Cloud account. For information about how to obtain an AccessKey pair, see AccessKey pair.

    Signature

    String

    Yes

    xxxxxx

    The signature string of the request. For more information, see Signature method.

    SignatureMethod

    String

    Yes

    HMAC-SHA1

    The encryption method of the signature string.

    SignatureVersion

    String

    Yes

    1.0

    The version of the signature algorithm.

    SignatureNonce

    String

    Yes

    dt712rl9d

    A unique, random number that is used to prevent replay attacks. You must use different numbers for different requests.

    Timestamp

    String

    Yes

    2018-01-01T12:00:00Z

    The timestamp of the request. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. For example, 2018-01-01T12:00:00Z indicates 20:00:00 on January 1, 2018 (UTC+8).

    Version

    String

    Yes

    2019-10-23

    The version number of the API. The value must be in the YYYY-MM-DD format.

    Format

    String

    No

    JSON

    The format in which to return the response. Valid values: JSON and XML. Default value: XML.

Signature method

  1. Create a canonicalized query string.

    1. Create a canonicalized query string by arranging the request parameters in alphabetical order. These parameters include all common and operation-specific parameters except Signature.

    2. Encode the parameters in UTF-8. For more information, see RFC 3986.

      • Uppercase letters, lowercase letters, digits, and specific special characters such as hyphens (-), underscores (_), periods (.), and tildes (~) do not need to be encoded.

      • Other characters must be percent encoded in the %XY format. XY represents the ASCII code of the characters in hexadecimal notation. For example, double quotation marks (") are encoded as %22.

      • Use an equal sign (=) to concatenate each encoded request parameter and its value.

      • Use an ampersand (&) to concatenate encoded request parameters in alphabetical order. These parameters include all common and operation-specific parameters except Signature.

    3. Obtain the canonicalized query string.

  2. Create a string-to-sign.

    1. Create StringToSign.

      StringToSign=
        HTTPMethod + "&" +                      //HTTPMethod: HTTP method used to send the request, such as GET. 
        percentEncode("/") + "&" +              //percentEncode("/"): Encode backslash (/) as %2F. 
        percentEncode(CanonicalizedQueryString) //Encode the canonicalized query string created in Step 1. 
    2. Calculate the HMAC value of the string-to-sign as defined in RFC 2104. Use the SHA1 algorithm to calculate the HMAC value of the StringToSign. The AccessKey secret is used as the key for the HMAC calculation.

      Signature = Base64( HMAC-SHA1( AccessKeySecret + "&", UTF-8-Encoding-Of(StringToSign) ) )
    3. Encode the Signature parameter based on the RFC 3986 specification and add the encoded signature to the canonicalized query string.

The following sample code shows how to use Python to call the OpenSlsService operation:

import base64
import datetime
import hmac
import random
from hashlib import sha1
from urllib import parse

import pytz

url = 'https://sls.aliyuncs.com/?'
accessKeyId = 'test-key'
accessKeySecret = 'test-secret'

params = {
    'AccessKeyId': accessKeyId,
    'Action': 'OpenSlsService',
    'Format': 'JSON',
    'Version': '2019-10-23',
    'SignatureMethod': 'HMAC-SHA1',
    'SignatureNonce': str(int(random.random() * 1000000)),
    'SignatureVersion': '1.0',
    'Timestamp': parse.quote(
        datetime.datetime.now(pytz.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
    )
}


def create_url():
    kvs = sorted(params.items(), key=lambda x: x[0])
    paramStr = '&'.join([k + '=' + v for k, v in kvs])
    sigStr = 'GET&%2F&' + parse.quote(paramStr, safe='')
    hashed = hmac.new((accessKeySecret + '&').encode(), sigStr.encode(), sha1)
    signature = base64.encodebytes(
        hashed.digest()).decode('utf-8').rstrip('\n')
    return url + paramStr + '&Signature=' + signature

print(create_url())

Response elements

  • Response headers

    The OpenSlsService operation does not have operation-specific response headers.

  • Response elements

    If the HTTP status code 200 is returned, the request is successful.

    Parameter

    Type

    Example

    Description

    RequestId

    String

    1CCC2B8E-4FF3-4755-A96C-8CE2E4BF27DF

    The ID of the request.

    Success

    Boolean

    true

    Indicates whether the request is successful. Valid values: true and false.

    • true: The request is successful.

    • false: The request failed.

    Code

    String

    200

    The returned status code.

    Message

    String

    You have activated Simple Log Service. You can go to the Simple Log Service console to manage logs.

    The description of the response returned.

Examples

  • Sample requests

    https://sls.aliyuncs.com/
    ? AccessKeyId=test-key
    &Action=OpenSlsService
    &Format=JSON
    &SignatureMethod=HMAC-SHA1
    &SignatureNonce=222856
    &SignatureVersion=1.0
    &Timestamp=2020-09-15T13%3A01%3A26Z
    &Version=2019-10-23
    &Signature=xxxxxxx
  • Sample success responses

    {
      "RequestId": "1CCC2B8E-4FF3-4755-A96C-8CE2E4BF27DF",
      "Message": "You have activated Simple Log Service. You can go to the Simple Log Service console to manage logs.",
      "Code": "200",
      "Success": true
    }

Error codes

HTTP status code

Error code

Error message

Description

400

PermissionDenied

No permission to open SLS service.

You are not authorized to activate Simple Log Service.

500

GetSpecificationsFailed

Failed to get specifications of commodity.

The information about Simple Log Service failed to be queried.

500

CreateOrderFailed

Failed to create an order.

The order failed to be created.

For a list of error codes, see Error codes.