首页
/ NubesGen项目REST API使用指南:自动化生成云基础设施代码

NubesGen项目REST API使用指南:自动化生成云基础设施代码

2025-06-26 00:48:41作者:彭桢灵Jeremy

概述

NubesGen是一个强大的工具,能够通过简单的API调用自动生成云基础设施即代码(IaC)配置。本文将详细介绍如何使用NubesGen的REST API来生成项目配置,适合希望在CI/CD流程中集成NubesGen的开发者和DevOps工程师。

API访问方式

NubesGen提供了两种主要的API访问方式:

  1. Swagger UI:可视化界面,适合手动测试和探索API功能
  2. cURL命令:适合自动化脚本和集成到工作流中

使用cURL生成项目

基础用法

生成默认配置的应用(使用tar.gz压缩格式):

curl "https://nubesgen.com/demo.tgz" | tar -xzvf -

或者使用zip格式:

curl "https://nubesgen.com/demo.zip" | jar xv

带参数请求

POST方式传递参数

curl "https://nubesgen.com/demo.tgz" -d '{
  "region": "westeurope",
  "database": {
    "type": "MYSQL",
    "tier": "BASIC"
  }
}' -H "Content-Type: application/json" | tar -xzvf -

GET方式传递参数

curl "https://nubesgen.com/demo.tgz?region=westeurope&database=mysql" | tar -xzvf -

应用命名规则

在下载文件时,URL中的文件名将决定Azure资源的命名:

curl "https://nubesgen.com/my-app.tgz" | tar -xzvf -
  • 应用名称:my-app
  • 资源组名称:rg-my-app-01(遵循Azure资源类型推荐缩写)
  • 文件格式:
    • .tgz:使用tar -xzvf解压
    • .zip:使用unzip解压

如果使用默认的demo名称,系统会自动附加随机字符串以避免命名冲突,例如demo-1234-5678-9012

完整参数参考

主要参数

参数名 描述 可选值 POST示例 GET示例
runtime 应用运行时环境 DOCKER(默认), JAVA, SPRING等 {"runtime": "JAVA"} ?runtime=java
application 应用类型 APP_SERVICE(默认), FUNCTION等 {"application": {"type": "FUNCTION"}} ?application=function
region Azure区域 westeurope {"region": "westeurope"} ?region=westeurope
database 数据库类型 NONE(默认), SQL_SERVER等 {"database": {"type": "MYSQL"}} ?database=mysql
network 网络配置 PUBLIC(默认), VIRTUAL_NETWORK {"network": "VIRTUAL_NETWORK"} ?network=virtual_network
gitops 是否启用GitOps FALSE(默认), TRUE {"gitops": true} ?gitops=true

服务层级配置

不同资源类型支持不同的服务层级:

资源类型 可用层级 示例
APP_SERVICE FREE, BASIC, STANDARD ?application=app_service.standard
FUNCTION CONSUMPTION, PREMIUM ?application=function.premium
SQL_SERVER SERVERLESS, GENERAL_PURPOSE ?database=sql_server.general_purpose

附加组件

可以添加的附加服务组件:

组件名 描述 POST示例 GET示例
APPLICATION_INSIGHTS 应用监控 {"addons": [{"type": "APPLICATION_INSIGHTS"}]} ?addons=application_insights
KEY_VAULT 密钥管理 {"addons": [{"type": "KEY_VAULT"}]} ?addons=key_vault
STORAGE_BLOB 对象存储 {"addons": [{"type": "STORAGE_BLOB"}]} ?addons=storage_blob

GET请求中多个附加组件可以用逗号分隔:?addons=storage_blob,redis

完整示例

curl "https://nubesgen.com/demo.tgz" -d '{
  "region": "westeurope",
  "runtime": "spring",
  "database": {
    "type": "MYSQL",
    "tier": "BASIC"
  },
  "addons": [
    {"type": "STORAGE_BLOB", "tier": "BASIC"},
    {"type": "REDIS", "tier": "BASIC"}
  ]
}' -H "Content-Type: application/json" | tar -xzvf -

等效的GET请求:

curl "https://nubesgen.com/demo.tgz?region=westeurope&runtime=spring&database=mysql&addons=storage_blob,redis" | tar -xzvf -

最佳实践

  1. 命名规范:为项目使用有意义的名称,避免使用默认的"demo"
  2. 区域选择:选择靠近用户的Azure区域以获得最佳性能
  3. 服务层级:开发环境使用BASIC或FREE层级,生产环境使用STANDARD或GENERAL_PURPOSE
  4. 版本控制:将生成的配置纳入版本控制系统管理

通过NubesGen的REST API,开发者可以轻松地将云基础设施配置生成集成到自动化工作流中,大大提高开发和部署效率。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K