管理阿里云轻量应用服务器(SWAS OpenAPI 2020-06-01)资源全流程。用于查询实例、启动/停止/重启、执行...
类: 服务 : 简便应用程序服务器( SWAS- OPEN 2020-06-01). 使用 SWAS- OPEN OpenAPI 管理 SAS 的全部资源: 实是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
类别:service
使用 SWAS-OPEN OpenAPI 管理完整的 SAS 资源:实例、云盘、快照、镜像、密钥对、防火墙、Cloud Assistant、监控、标签及轻量级数据库。
ALICLOUD_REGION_ID 可作为默认地域;若未设置,则应自动选择最合理的地域,当无法确定时需向用户确认。推荐使用虚拟环境(避免受 PEP 668 系统安装限制影响)。
python3 -m venv .venv . .venv/bin/activate python -m pip install alibabacloud_swas_open20200601 alibabacloud_tea_openapi alibabacloud_credentials
import os
from alibabacloud_swas_open20200601.client import Client as SwasClient
from alibabacloud_swas_open20200601 import models as swas_models
from alibabacloud_tea_openapi import models as open_api_models
def create_client(region_id: str) -> SwasClient:
config = open_api_models.Config(
region_id=region_id,
endpoint=f"swas.{region_id}.aliyuncs.com",
)
ak = os.getenv("ALICLOUD_ACCESS_KEY_ID") or os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
sk = os.getenv("ALICLOUD_ACCESS_KEY_SECRET") or os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
if ak and sk:
config.access_key_id = ak
config.access_key_secret = sk
return SwasClient(config)
def list_regions():
client = create_client("cn-hangzhou")
resp = client.list_regions(swas_models.ListRegionsRequest())
return [r.region_id for r in resp.body.regions]
def list_instances(region_id: str):
client = create_client(region_id)
resp = client.list_instances(swas_models.ListInstancesRequest(region_id=region_id))
return resp.body.instances
def main():
for region_id in list_regions():
for inst in list_instances(region_id):
ip = getattr(inst, "public_ip_address", None) or getattr(inst, "inner_ip_address", None)
spec = getattr(inst, "plan_name", None) or getattr(inst, "plan_id", None)
print(inst.instance_id, ip or "-", spec or "-", region_id)
if __name__ == "__main__":
main()
scripts/list_instances_all_regions.pyscripts/summary_instances_by_plan.pyscripts/summary_instances_by_status.pyscripts/fix_ssh_access.pyscripts/get_ssh_port.pyaliyun CLI 可能未将 swas-open 暴露为产品名称;建议优先使用 Python SDK。
如必须使用 CLI,请先在 OpenAPI 探索器中生成请求示例,再迁移至 CLI 调用。references/api_overview.md 中定位对应 API 分组与操作。ListInstances、StartInstance(s)、StopInstance(s)、RebootInstance(s)RunCommand 或 CreateCommand + InvokeCommand;使用 DescribeInvocations/DescribeInvocationResult 查询执行状态与输出ListFirewallRules/CreateFirewallRule(s)/ModifyFirewallRule/EnableFirewallRule/DisableFirewallRuleCreateSnapshot、ResetDisk、CreateCustomImage 等InstallCloudAssistant 安装)。DescribeInvocations 或 DescribeInvocationResult 获取执行状态与输出内容。详见 references/command-assistant.md。
如需保存结果或响应数据,请写入以下路径:
output/compute-swas-open/
mkdir -p output/alicloud-compute-swas-open for f in skills/compute/swas/alicloud-compute-swas-open/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/alicloud-compute-swas-open/validate.txt
通过标准:命令退出码为 0,且成功生成 output/alicloud-compute-swas-open/validate.txt 文件。
output/alicloud-compute-swas-open/ 目录下。ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET;ALICLOUD_REGION_ID 为可选。references/api_overview.mdreferences/endpoints.mdreferences/command-assistant.mdreferences/sources.md相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习