# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import sys
from typing import List
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
from alibabacloud_tea_console.client import Client as ConsoleClient
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client(
access_key_id: str,
access_key_secret: str,
) -> OpenApiClient:
"""
使用AK&SK初始化账号Client
@param access_key_id:
@param access_key_secret:
@return: Client
@throws Exception
"""
config = open_api_models.Config(
# 必填,您的 AccessKey ID,
access_key_id='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
# 必填,您的 AccessKey Secret,
access_key_secret='xxxxxxxxxxxxxxxxxxxxxxxxx'
)
# 访问的域名
config.endpoint = f'mse.cn-hangzhou.aliyuncs.com'
return OpenApiClient(config)
@staticmethod
def create_client_with_sts(
access_key_id: str,
access_key_secret: str,
security_token: str,
) -> OpenApiClient:
"""
使用STS鉴权方式初始化账号Client,推荐此方式。本示例默认使用AK&SK方式。
@param access_key_id:
@param access_key_secret:
@param security_token:
@return: Client
@throws Exception
"""
config = open_api_models.Config(
# 必填,您的 AccessKey ID,
access_key_id='xxxxxxxxxxxxxxxxxxxxx',
# 必填,您的 AccessKey Secret,
access_key_secret='xxxxxxxxxxxxxxxxxxxxxxx',
# 必填,您的 Security Token,
security_token=security_token,
# 必填,表明使用 STS 方式,
type='sts'
)
# 访问的域名
config.endpoint = f'mse.cn-hangzhou.aliyuncs.com'
return OpenApiClient(config)
@staticmethod
def create_api_info() -> open_api_models.Params:
"""
API 相关
@param path: params
@return: OpenApi.Params
"""
params = open_api_models.Params(
# 接口名称,
action='UpdateNacosConfig',
# 接口版本,
version='2019-05-31',
# 接口协议,
protocol='HTTPS',
# 接口 HTTP 方法,
method='POST',
auth_type='AK',
style='RPC',
# 接口 PATH,
pathname=f'/',
# 接口请求体内容格式,
req_body_type='json',
# 接口响应体内容格式,
body_type='json'
)
return params
@staticmethod
def main(
args: List[str],
) -> None:
# 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html
client = Sample.create_client('ACCESS_KEY_ID', 'ACCESS_KEY_SECRET')
params = Sample.create_api_info()
# query params
queries = {}
queries['InstanceId'] = 'xxxxxxxxxxxxxxxxxx'
queries['DataId'] = 'xxxxxxxxxxxxxxxxxx'
queries['Group'] = 'DEFAULT_GROUP'
queries['Type'] = 'Properties'
queries['Content'] = '''xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx'''
queries['NamespaceId'] = 'd321f662-c5ad-476c-b35f-1e3cab24b219'
# runtime options
runtime = util_models.RuntimeOptions()
request = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(queries)
)
# 复制代码运行请自行打印 API 的返回值
# 返回值为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode
resp = client.call_api(params, request, runtime)
ConsoleClient.log(UtilClient.to_jsonstring(resp))
@staticmethod
async def main_async(
args: List[str],
) -> None:
# 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html
client = Sample.create_client('ACCESS_KEY_ID', 'ACCESS_KEY_SECRET')
params = Sample.create_api_info()
# query params
queries = {}
queries['InstanceId'] = 'xxxxxxxxxxxxxxxxxx'
queries['DataId'] = 'xxxxxxxxxxxxxxxxxx'
queries['Group'] = 'DEFAULT_GROUP'
queries['Type'] = 'Properties'
queries['Content'] = '''xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx'''
queries['NamespaceId'] = 'd321f662-c5ad-476c-b35f-1e3cab24b219'
# runtime options
runtime = util_models.RuntimeOptions()
request = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(queries)
)
# 复制代码运行请自行打印 API 的返回值
# 返回值为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode
resp = await client.call_api_async(params, request, runtime)
ConsoleClient.log(UtilClient.to_jsonstring(resp))
if __name__ == '__main__':
Sample.main(sys.argv[1:])