首页 >web前端 >js教程 >SST - 基础设施中可能合法的部分

SST - 基础设施中可能合法的部分

Patricia Arquette
Patricia Arquette原创
2025-01-19 07:11:14581浏览

SST - a parte da infra que pode ser legal

云提供商变得越来越重要,即使是基本的熟悉度也是一个显着的优势。本文探讨了 SST,这是一种通过 AWS CDK 提供简化抽象的工具,可将代码转换为 CloudFormation 模板。

CloudFormation 基础知识

虽然深入研究 CloudFormation 不是重点,但了解其目的是关键:AWS CloudFormation 可自动执行 AWS 资源预置和配置,从而节省时间和精力。您可以在模板中定义所需的资源(例如 EC2 实例、RDS 数据库),CloudFormation 会处理其余部分,包括依赖关系管理。然而,创建 CloudFormation 模板可能违反直觉,这突显了 SST 等更高级别抽象的价值。

开始使用 SST

让我们使用 Next.js 来演示 SST 的强大功能及其与 CDK/CloudFormation 的交互。

  1. 创建 Next.js 应用程序:

    <code class="language-bash">npx create-next-app@latest aws-nextjs
    cd aws-nextjs</code>
  2. 初始化 SST:

    <code class="language-bash">npx sst@latest init</code>

    SST 生成一个配置文件。 对于我们的例子:

    <code class="language-javascript">const bucket = new sst.aws.Bucket("MyBucket", {
      access: "public"
    });</code>

    这会在 CloudFormation 模板编译后创建一个名为“MyBucket”的可公开访问的 S3 存储桶。

  3. 配置 Next.js 以使用存储桶:

    <code class="language-javascript">new sst.aws.Nextjs("MyWeb", {
      link: [bucket]
    })</code>

    这将存储桶简洁地集成到 Next.js 部署中,管理底层基础设施细节。 源代码揭示了自动处理的更多基础设施组件:

    https://www.php.cn/link/7db181be25ab69447b69a185006d9b03

使用 SST 的 Lambda 函数

AWS Lambda 函数是短暂的、事件驱动的函数。 CDK 提供了多种部署方法,但 SST 进一步简化了这一点:

https://www.php.cn/link/07d34e2419c61216a85a2156b2cf8ae4

SST 使用 esbuild 为 Node.js 配置、版本控制和捆绑选项提供抽象:

https://www.php.cn/link/07d34e2419c61216a85a2156b2cf8ae4#L717-L720

最终,这简化了部署:

<code class="language-javascript">return new lambda.Function(
  transformed[0],
  {
    ...transformed[1],
    ...(dev
      ? {
        description: transformed[1].description
          ? output(transformed[1].description).apply(
            (v) => `${v.substring(0, 240)} (live)`,
          )
          : "live",
        runtime: "provided.al2023",
        architectures: ["x86_64"],
      }
      : {}),
  },
  transformed[2],
);</code>

SST 的抽象显着简化了流程,使基础设施管理更加高效。

以上是SST - 基础设施中可能合法的部分的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn