Memcached: 使用 CLI 实现自动化

通过 Stackhero CLI 以编程方式启动 Memcached、获取其凭据并更改其配置

👋 欢迎使用 Stackhero 文档!

Stackhero 提供现成的 Memcached 云 解决方案,具有众多优势,包括:

  • 轻松一键完成的 更新
  • 专用私有 VM 提供的最佳 性能 和强大 安全性

节省时间简化生活:只需 5 分钟 即可试用 Stackhero 的 Memcached 云托管 解决方案!

本指南将演示如何通过命令行创建 Memcached 服务、读取其凭据并更新其配置,全程无需在控制台上点击操作。非常适合脚本、CI 流水线和 AI 智能体等自动化场景。

我们将使用 Stackhero CLI 完成所有操作。如果您尚未安装,可以通过以下命令安装:

curl -fsSL https://www.stackhero.io/install.sh | sh

最简单的方式是通过浏览器登录。当您运行登录命令时,CLI 会自动打开一个网页,您只需在网页上授权访问,无需在 CLI 中输入密码或二次验证码。

stackhero login

登录后,您的凭据会被本地保存,后续 CLI 命令会自动使用。

对于脚本或 CI 流水线等全自动环境,建议使用非交互式访问令牌(access token)。您可以在控制台(账户 > Access tokens)创建一个,然后将其导出为环境变量。CLI 及您运行的任何脚本都会自动读取该变量。

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

接下来,您可以列出当前账户下可用的 Memcached 服务商店。CLI 直接支持使用商店名称memcached),无需查找或复制任何 ID。

# 列出 Memcached 服务商店(如管理多个组织,可添加 --organization)
stackhero services-store-list --name="memcached"

后续命令中可以直接使用商店名称 memcached,也可以根据需要选择列表中的具体 svs-xxxxxx ID。

# 列出服务商店可用的实例规格(使用 NAME 列作为 --instance 参数)
stackhero instances-store-list --service-store=memcached

# 列出可用区域(如 "europe")
stackhero regions-list

以下是一个示例脚本,演示如何创建一个 stack,将您的 Memcached 服务添加到 stack,等待服务启动,获取其配置信息(包括自动生成的凭据),并应用新的配置。

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="memcached"   # Memcached 服务商店名称(见第 2 步)
instance="..."                # 第 3 步获取的实例规格
region="europe"               # 第 3 步获取的区域名称

# 为您的服务创建一个 stack(默认使用您的主组织,如有需要可添加 --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My Memcached stack")
echo "Stack 已创建: ${stackId}"

# 将 Memcached 添加到 stack(名称自动解析)
serviceId=$(stackhero --format=script service-add \
  --stack="My Memcached stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "服务已添加: memcached"

# 等待服务完全启动(可能需要几分钟)
stackhero service-wait-for --service="memcached"

# 获取服务配置,包括自动生成的凭据
stackhero service-configuration-get --service="memcached" --format=json

service-configuration-get 命令会返回服务的完整配置信息,包括自动生成的密码和连接信息。输出为 JSON 格式,便于在脚本和自动化流程中使用。

stackhero service-configuration-get --service=svc-xxxxxx --format=json

您可以先查看配置 schema 示例,然后应用自定义配置。当您更新配置时,服务可能会自动重启以应用更改。

# 查看服务的配置 schema 及示例
stackhero service-configuration-example --service=svc-xxxxxx

# 应用自定义配置(如有需要服务会自动重启)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# 等待新配置生效
stackhero service-wait-for --service=svc-xxxxxx

至此,您已经完整体验了整个生命周期:启动服务、获取凭据、自动化重新配置,全部可通过脚本自动完成。如需深入了解,请参阅 CLI 完整文档,其中也包含本指南中演示的非交互式 STACKHERO_TOKEN 认证方式。