Snowflake Terraform 提供程序

HashiCorp Terraform (https://developer.hashicorp.com/terraform) 是一款开源基础设施即代码 (IaC) 工具,可用于动态构建、更改基础设施资源并对其进行版本管理。您可以使用 Terraform 语言 (https://developer.hashicorp.com/terraform/language) 创建配置文件,以描述所需配置。Terraform 会将您的配置与当前状态进行比较,然后生成创建新资源或更新和删除现有资源的计划。该计划以有向无环图 (DAG) 的形式运行,让 Terraform 能够理解并处理资源间的依赖关系。

Snowflake Terraform 提供程序 可帮助建立一致的工作流程,以管理仓库、数据库、架构、表、角色、授权等 Snowflake 资源。有关支持 Snowflake DevOps 工作流程的其他功能和构建模块的更多信息,请参阅 Snowflake DevOps

安装 Terraform (https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-terraform) 后,请参阅以下资源,开始使用 Snowflake 提供程序。

资源

描述

Snowflake 提供程序文档 (https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs)

Terraform 注册表 (https://developer.hashicorp.com/terraform/language/data-sources) 中针对 Snowflake 提供程序的指南和参考文档。文档包括 资源块 (https://developer.hashicorp.com/terraform/language/resources/syntax),用于描述 Snowflake 中的对象(例如 snowflake_database (https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/resources/database));以及 数据源 (https://registry.terraform.io/),可用于命名及从 Snowflake 对象动态提取配置状态(例如 snowflake_users (https://registry.terraform.io/providers/snowflakedb/snowflake/latest/docs/data-sources/users))。

terraform-provider-snowflake (https://github.com/snowflakedb/terraform-provider-snowflake)

在该 GitHub 项目中,您可以执行以下操作:

  • 随时了解功能开发和状态,包括 项目路线图 (https://github.com/snowflakedb/terraform-provider-snowflake/issues) 和 问题 (https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/ROADMAP.md)。

  • 在 讨论论坛 (https://github.com/snowflakedb/terraform-provider-snowflake/discussions) 中获取社区支持。Snowflake 支持团队和主题专家积极参与 GitHub 社区,并尽最大努力解决问题。Snowflake 提供官方支持,详见 官方支持的版本

  • 查看补充文档和源代码。

  • 请查阅 变更日志 (https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/CHANGELOG.md) 和 迁移指南 (https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/MIGRATION_GUIDE.md),以了解各版本。

通过 Terraform 配置 Snowflake (https://quickstarts.snowflake.com/guide/terraforming_snowflake/#0)

此快速入门教程由 Snowflake Labs 提供,可指导您在 GitHub 中创建一个 Terraform 项目,该项目使用 Snowflake 提供程序创建演示数据库和仓库。

版本控制和预览功能

Snowflake Terraform 提供程序遵循语义版本控制。主要版本发布包括重大更改。我们会提前在 GitHub 宣布这些消息。次要版本发布有时可能包含意料之外的更改,这具体取决于配置或环境。我们在某些用户可能偶尔遇到的一次性不便与这些更新为整个社区带来的总体益处之间进行了权衡。

新功能和修复

  • 我们会在最新的次要版本中引入新功能和修复。这是因为开发过程资源密集且需要进行大量的回归测试。

  • 如果发现安全漏洞,我们会根据具体情况考虑将关键修复回溯到早期版本。

  • 我们会评估由 Snowflake 基础功能引入的 BCRs 对提供程序的影响。迁移指南 (https://github.com/snowflakedb/terraform-provider-snowflake/blob/main/MIGRATION_GUIDE.md) 提供有关如何管理潜在重大变更的信息。我们在每个最新版本的提供程序发布中优先修复 BCR,并建议您定期更新提供程序版本。

预览版功能

每次发布时,部分资源和数据源会被标记为“预览版功能”。

  • 请将这些功能视为提供程序的预览功能,无论它们在 Snowflake 中的状态如何。

  • 默认情况下,预览功能处于禁用状态。您必须在提供程序配置的 preview_features_enabled 字段中添加相关功能名称。GitHub 仓库中始终包含预览功能列表。

  • 每项预览功能将在未来版本中重新设计并标记为稳定功能。请注意,即使提供程序的主版本号未变,预览功能也可能会带来重大更改。

  • 预览功能与其他 Snowflake 预览功能类似,未获得官方 Snowflake 支持。但是,产品和工程团队可以提供帮助。

官方支持的版本

  • Snowflake 仅对最新版本提供官方支持。新版本发布后,会立即成为官方支持版本。您可以通过 联系 Snowflake 支持部门 中介绍的流程提交 Terraform 提供程序问题相关的官方支持工单。

  • Snowflake 的官方支持从版本 2.0.0 开始,仅支持该版本及之后的版本。所有其他版本(包括主版本号低于 2.0.0 的版本)均不在官方支持范围内。

  • 虽然只有最新版本的提供程序受到官方支持,我们仍会尽力协助解决早期版本的问题。评估该问题后,Snowflake 支持可能会自行决定要求您升级到最新版本,以支持故障排除过程。

语言: 中文