设置自定义数据

最近更新时间:2018-12-10 11:09:56

查看pdf

操作场景

用户在创建云服务器时,您可以通过指定自定义数据配置实例。当服务器首次启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。如果您一次购买多台云服务器,自定义数据会在所有的云服务器首次启动时运行。
本文以 Windows 云服务器首次启动时,通过传递 PowerShell 格式的脚本,实现输出 "Hello Tencent Cloud" 为例。

注意事项

  • 支持自定义数据的Windows操作系统包括:
    • Windows Server 2016 数据中心版 64位中文版
    • Windows Server 2012 R2 数据中心版 64位英文版
  • 仅限首次启动云服务器时,通过传递文本执行命令。
  • 传递的文本必须经过 Base64 编码。
  • 在启动时,执行自定义数据中指定的任务会增加启动服务器所需的时间。建议您等待几分钟,并在任务完成后,测试任务是否已成功执行。
  • 本示例中,请使用 PowerShell 标签指定 Windows PowerShell 脚本,例如 <powershell></powershell> 标签。

操作步骤

编写 PowerShell 脚本

参考以下内容,创建 PowerShell 脚本文件。

<powershell>
"Hello Tencent Cloud." | Out-File .\tencentcloud.txt
</powershell>

使用 Base64 编码脚本文件

执行以下命令,对脚本进行 Base64 编码操作。

$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Script)
$EncodedText =[Convert]::ToBase64String($Bytes)

进行 Base64 编码操作后,返回以下信息:

# 编码之后的结果:
PABwAG8AdwBlAHIAcwBoAGUAbABsAD4AIAAiAEgAZQBsAGwAbwAgAFQAZQBuAGMAZQBuAHQAIABDAGwAbwB1AGQALgAiACAAfAAgAE8AdQB0AC0ARgBpAGwAZQAgAC4AXAB0AGUAbgBjAGUAbgB0AGMAbABvAHUAZAAuAHQAeAB0ACAAPAAvAHAAbwB3AGUAcgBzAGgAZQBsAGwAPgA=

传递文本

我们提供多种启动实例的方式,主要分为以下两种情况。请根据您的实际情况进行选择:

通过官网或控制台传递

  1. 通过腾讯云官网或控制台创建云服务器。
  2. 4.设置安全组和主机界面中,选择高级设置,并在 “自定义数据” 中填写您 使用 Base64 编码脚本文件 返回的编码结果。如下图所示:
    Alt text
  3. 按照界面信息逐步操作,完成创建并启动云服务器。

通过 API 传递

当您通过 API 创建云服务器时,可以将 使用 Base64 编码脚本文件 中返回的编码结果赋值给 RunInstances 接口的 UserData 参数,以此来传递文本。以创建一个带 UserData 参数的云服务器的请求参数为例:

https://cvm.tencentcloudapi.com/?Action=RunInstances
  &Version=2017-03-12
  &Placement.Zone=ap-guangzhou-2
  &ImageId=img-pmqg1cw7
  &UserData=PABwAG8AdwBlAHIAcwBoAGUAbABsAD4AIAAiAEgAZQBsAGwAbwAgAFQAZQBuAGMAZQBuAHQAIABDAGwAbwB1AGQALgAiACAAfAAgAE8AdQB0AC0ARgBpAGwAZQAgAC4AXAB0AGUAbgBjAGUAbgB0AGMAbABvAHUAZAAuAHQAeAB0ACAAPAAvAHAAbwB3AGUAcgBzAGgAZQBsAGwAPgA=
  &<公共请求参数>

如果有其他疑问,您也可以在问答社区中寻求帮助。前往问答社区 >