

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
云主机的元数据(metadata)是描述云主机信息的数据,包含了天翼云系统中的默认元数据信息与用户自定义的元数据信息。在云主机内部,通过内网可以方便地查看该部分信息,并基于元数据信息配置或管理云主机。
云主机默认元数据
云主机创建过后,天翼云云主机会含有默认的元数据,以下为多可用区类型资源池下默认的元数据:
| 元数据说明 | 元数据项 |
|---|---|
| 拥有者天翼云账号ID | /meta-data/owner-account-id |
| 云主机ID | /meta-data/instance-id |
| 云主机名称 | /meta-data/hostname |
| 云主机规格名称 | /meta-data/flavor_name |
| 云主机的资源池ID | /meta-data/region-id |
| 云主机的可用区ID | /meta-data/zone-id |
| 云主机的自定义数据 | /meta-data/user_data |
| 创建云主机时所使用的镜像ID | /meta-data/image-id |
| 云主机所属VPC的ID | /meta-data/vpc-id |
| 云主机主网卡的内网IPv4地址 | /meta-data/private-ipv4 |
| 网卡的mac地址列表 | /meta-data/network/interfaces/macs/ |
云主机自定义元数据
除了上述云主机元数据项,用户也可以增加相应的自定义元数据项。在云主机openapi元数据管理中,api对云主机操作的就是该部分元数据内容。
| 元数据说明 | 元数据项 |
|---|---|
| 一次获取所有自定义元数据(返回格式为json) | /spec-meta-data |
| 单一自定义元数据获取 | /meta-data/instance/specs/[key] |
元数据的使用
查看默认元数据
通过console云主机列表界面选择对应云主机进行远程登录。

请求查询元数据的内网地址为 169.254.169.254。
我们可以根据上述默认元数据的表格,对所需元数据进行查看,我们可以使用curl命令进行查看,命令组成为:curl 169.254.169.254{元数据项}。
示例shell脚本:
#!/usr/bin/bash echo "======================instance metadata======================" echo "instance owner account id: " $(curl -s 169.254.169.254/meta-data/owner-account-id) echo "instance id: " $(curl -s 169.254.169.254/meta-data/instance-id) echo "instance id: " $(curl -s 169.254.169.254/meta-data/instance-id)
效果:

云主机元数据openapi的使用
目前,天翼云提供的元数据openapi提供对云主机自定义元数据进行操作与查看的能力,主要分为创建、更新、查询和删除。通过python示例文档 与openapi对应的文档,可以写出对应的openapi请求。
1、创建自定义元数据
首先,我们通过openapi创建元数据openapi文档来创建自定义元数据({”test1“: "123", "test2": "abc"})。
# 按照创建云数据的openapi文档填写相关参数
create_metadata_params = {
"regionID": huadong1_region_id,
"azName": huadong1_az1,
"instanceID": huadong1_instance,
"metadata": {
"test1": "123",
"test2": "abc"
}
}
# 这里省略post方法的定义,该方法的实现请参考天翼云官网文档中的
url = "https://ctecs-global.ctapi.ctyun.cn/v4/ecs/metadata/create"
res_metadata_create = post(url, params=create_metadata_params)调用结果:
{
"returnObj": {
"instanceID": "c44de03e-300b-7237-1827-b51aeaff3ccd",
"metadata": {
"test1": "123",
"test2": "abc"
}
},
"details": "",
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}通过之前的方式,使用自定义元数据项来查询自定义的元数据信息(test2.sh脚本如下):
#!/usr/bin/bash echo "======================instance metadata======================" echo "user-defined metadata: " $(curl -s 169.254.169.254/spec-meta-data) echo "test1: " $(curl -s 169.254.169.254/meta-data/instance/specs/test1) echo "test2: " $(curl -s 169.254.169.254/meta-data/instance/specs/test2)
结果:

2、查询自定义元数据
同时,我们也可以调用openapi接口来查询自定义元数据。
res_metadata_details = get("https://ctecs-global.ctapi.ctyun.cn/v4/ecs/metadata/details", params=dict(regionID=huadong1_region_id, azName=huadong1_az1, instanceID=huadong1_instance))调用结果:
{
"returnObj": {
"metadata": {
"test1": "123",
"test2": "abc"
}
},
"message": "SUCCESS",
"description": "成功",
"statusCode": 800
}3、更新自定义元数据
调用更新元数据接口:
# 按照创建云数据的openapi文档填写相关参数
update_metadata_params = {
"regionID": huadong1_region_id,
"azName": huadong1_az1,
"instanceID": huadong1_instance,
"metadata": {
"test1": "789"
}
}
# 这里省略post方法的定义,该方法的实现请参考天翼云官网文档中的
url = "https://ctecs-global.ctapi.ctyun.cn/v4/ecs/metadata/update"
res_metadata_update = post(url, params=update_metadata_params)在云主机内部进行curl查看情况:

*覆盖方式更新(isForce=true)
# 按照创建云数据的openapi文档填写相关参数
update_metadata_params = {
"regionID": huadong1_region_id,
"azName": huadong1_az1,
"instanceID": huadong1_instance,
"isForce": True,
"metadata": {
"test3": "IGs9"
}
}
# 这里省略post方法的定义,该方法的实现请参考天翼云官网文档中的
url = "https://ctecs-global.ctapi.ctyun.cn/v4/ecs/metadata/update"
res_metadata_update = post(url, params=update_metadata_params)在云主机内部进行curl查看情况:

4、删除自定义元数据
调用删除接口;
res_metadata_delete = post("https://ctecs-global.ctapi.ctyun.cn/v4/ecs/metadata/delete", params=dict(regionID=huadong1_region_id, azName=huadong1_az1, instanceID=huadong1_instance))在云主机内部进行curl查看情况:

示例:通过元数据配置云主机的python环境
场景:在使用python过程中,我们经常需要安装很多依赖包,并且每个包之间互相有版本限制(比如在深度学习框架中,Keras与TensorFlow之间需要版本对应)。此时我们可以通过创建元数据,来记录该云主机所需要的python包环境的版本信息。
首先,console界面远程登录云主机,进入远程界面后,查看当前python包信息:

推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1