使用 syncUpdateAll 接口发布 ACM 配置。

请求类型

POST

请求 URL

/diamond-server/basestone.do

请求参数

参数 类型 是否必需 描述
tenant String 租户信息,对应 ACM 的命名空间 ID。
dataId String 配置的 ID
group String 配置的分组
content String 配置的内容

Header 参数

参数 类型 是否必需 描述
Spas-AccessKey String 在 ACM 控制台上的命名空间详情对话框内可获取 AccessKey。
timeStamp String 以毫秒为单位的请求时间。
Spas-Signature String 使用 SecretKey 对“Tenant+Group+TimeStamp”签名(SpasSigner.sign(tenant+ group+ timeStamp, secretKey)),签名算法为 HmacSHA1。TimeStamp 签名的作用是防止重放攻击。该签名有效期为 60 秒。
Spas-SecurityToken String SecurityToken 需从 STS 临时凭证中获取。STS 临时凭证需从实例元数据 URL 中获取。详情请参考:

返回参数

参数 类型 描述
- Boolean 是否成功

错误码

错误码 错误信息 描述
400 Bad Request 客户端请求中的语法错误
403 Forbidden 没有权限
404 Not Found 客户端错误,未找到。
500 Internal Server Error 服务器内部错误

代码示例

  • 请求示例(Shell)

    #!/bin/bash
    ## config param
    dataId="com.alibaba.nacos.example.properties2"
    group="DEFAULT_GROUP"
    namespace="04754ad1-4f67-4d67-b2bf-1f73a04a****"
    accessKey="8c5cbb849ae04682ad9f455a96aa****"
    secretKey="lwO5T7vfPJu27FclPa+/CyIG****"
    endpoint="acm.aliyun.com"
    ## config param end
    ## get serverIp from address server
    serverIp=`curl $endpoint:8080/diamond-server/diamond -s | awk '{a[NR]=$0}END{srand();i=int(rand()*NR+1);print a[i]}'`
    ## config sign
    timestamp=`echo $[$(date +%s%N)/1000000]`
    signStr=$namespace+$group+$timestamp
    signContent=`echo -n $signStr | openssl dgst -hmac $secretKey -sha1 -binary | base64`
    ## request to publish a config
    curl -X POST -H "Spas-AccessKey:"$accessKey -H "timeStamp:"$timestamp -H "Spas-Signature:"$signContent "http://"$serverIp":8080/diamond-server/basestone.do?method=syncUpdateAll" -d "dataId="$dataId"&group="$group"&tenant="$namespace"&content="key1=value1 -v
  • 返回示例

    True

更多信息

API 概览