功能说明
在节点上编辑 Python 代码,并支持向 WeData 的工作流调度系统提交命令进行调度执行。

参数说明
参数 | 说明 |
Python 版本 | 支持 Python 2 和 Python 3。 |
不使用 secret id&secret key 获取 SSM 凭据内容
使用场景
希望隐藏 secret_id 和 secret_key,也能获取到在 ssm 中存储的凭据 value 值。
使用方式
步骤一:在资源组上安装所需 Python 包
1. 进入项目管理 > 项目执行资源组 > 调度资源组,选择调度资源组并单击名称进入详情页。
2. 在资源组运维界面,创建安装包命令,选择需要安装的如下两个安装包,并单击确定。
3. 在安装命令列表操作列中,单击运行,刷新查看状态,状态为运行成功即表示安装成功。
tencentcloud-sdk-python-common
tencentcloud-sdk-python-ssm

步骤二:配置资源文件
1. 进入离线开发 > 资源管理,完成新建资源后,并上传资源文件后,单击确定。
2. 使用本地 .py 文件新建资源,例如,资源名为 test_ssm,资源内容如下。
import osfrom tencentcloud.common import credentialfrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.ssm.v20190923 import ssm_client, modelsdef get_secret_value(secret_name, version_id, region):try:secret_id = os.environ.get('dynamic_secret_id', '')secret_key = os.environ.get('dynamic_secret_key', '')dynamic_token = os.environ.get('dynamic_token', '')# Initialize a credential objectcred = credential.Credential(secret_id, secret_key,dynamic_token)# Initialize the client object for the product (ssm)client = ssm_client.SsmClient(cred, region)# Initialize a request objectreq = models.GetSecretValueRequest()# Set the credential namereq.SecretName = secret_namereq.VersionId = version_id# Send requestresp = client.GetSecretValue(req)# Output JSON format response#print(resp.to_json_string())# Return the credential valuereturn resp.SecretStringexcept TencentCloudSDKException as err:print(f"Error occurred: {err}")return None
步骤三:在 Python 任务中获取 SSM 凭据内容
在 Python 任务中开启开关,并引用该资源。
开启开关:获取动态参数。

在 Python 任务代码中获取凭据内容的方式,示例代码如下所示:
import osfrom test_ssm import get_secret_value #test_ssm is the resource namesecret_name = "test_lola" #Credential Nameversion_id = "1.0" #Credential Versionregion="ap-singapore" #the region of Credentialsecret_value = get_secret_value(secret_name,version_id,region) #Get the credential contentprint(secret_value)