首页
/ SST 开源项目安装与使用指南

SST 开源项目安装与使用指南

2024-08-07 19:25:34作者:裘晴惠Vivianne

目录结构及介绍

在 SST 开源项目中, 典型的目录结构可能看起来像这样:

├── README.md                       # 项目说明文档
├── LICENSE                         # 许可证文件
├── .git                           # 版本控制相关配置如工作流、issues模板等
│   ├── workflows                  # 版本控制工作流配置 
├── examples                       # 示例代码目录
│   └── hello-world                # 最简单的示例应用 
├── constructs                     # 构建器, 定义了 SST Stack 的核心组件 
│   ├── api.js                     # API Gateway 构造块定义
│   ├── database.js                # 数据库构造块定义 
└── clients                        # 客户端代码
    └── ts-client                  # TypeScript 客户端生成工具 

README.md

项目的主要介绍性文档. 包含了如何安装、设置、运行的步骤以及项目的核心特性和使用案例.

.git/workflows

版本控制工作流配置目录. 这些 YAML 文件用来自动化构建、测试、部署流程。

examples/hello-world

一个简单的 SST 应用实例, 用于展示基本概念和功能.

constructs/api.js, constructs/database.js

这些文件描述了如何构建云资源, 使用 SST 框架, 通过编写函数来创建数据库或API网关服务.

clients/ts-client

提供了与 SST 构建的应用交互的类型安全客户端.

启动文件介绍

SST 没有单一的启动脚本. SST 是构建于 AWS 和其他云服务之上的应用框架. 因此,"启动"通常指的是部署应用到云端的过程。这可以通过运行以下命令实现:

sst deploy

在这个过程中,SST 将基于你的应用程序中的定义自动创建并部署所有必要的 AWS 资源.

对于本地开发环境设置和模拟云环境, 可以使用以下命令:

sst start-local

此外,在开发阶段调试特定的功能时, 可以使用以下命令进行局部的堆栈部署:

sst deploy <stack-name>

配置文件介绍

尽管 SST 不像传统程序那样有配置文件的概念,但它有一些重要的文件用于控制部署、环境变量和其他关键特性.

sst.json

这个 JSON 或 JS 文件是 SST 应用的核心配置点。它包含了整个应用的基本设置信息和默认值, 如 AWS Region、账号ID 等.

环境变量管理

项目可以依赖 .env 类型文件或特殊的 AWS 参数存储系统来处理环境变量。这些变量用于控制运行时行为, 例如数据库连接字符串或外部API密钥.

总结起来, 在 SST 中, 主要关注点是利用 CloudFormation 样式声明性配置去设计和构建云上应用和服务. 这种方式消除了传统的配置文件需求, 取而代之的是逻辑清晰且自述性强的 JavaScript 或 TypeScript 模块.

登录后查看全文

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
118
207
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
527
404
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
63
145
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
391
37
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
98
251
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
297
1.02 K
arkanalyzerarkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架
TypeScript
42
40
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
357
341
CangjieMagicCangjieMagic
基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。
Cangjie
583
41