snow dbt deploy

复制 dbt 文件,如果提供了 --force 标志,则在 Snowflake 上重新创建 dbt;或者如果它不存在,则创建一个新的;或者如果它存在,则更新文件并创建新版本。

语法

snow dbt deploy
  <name>
  --source <source>
  --profiles-dir <profiles_dir>
  --force / --no-force
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --token-file-path <token_file_path>
  --database <database>
  --schema <schema>
  --role <role>
  --warehouse <warehouse>
  --temporary-connection
  --mfa-passcode <mfa_passcode>
  --enable-diag
  --diag-log-path <diag_log_path>
  --diag-allowlist-path <diag_allowlist_path>
  --oauth-client-id <oauth_client_id>
  --oauth-client-secret <oauth_client_secret>
  --oauth-authorization-url <oauth_authorization_url>
  --oauth-token-request-url <oauth_token_request_url>
  --oauth-redirect-uri <oauth_redirect_uri>
  --oauth-scope <oauth_scope>
  --oauth-disable-pkce
  --oauth-enable-refresh-tokens
  --oauth-enable-single-use-refresh-tokens
  --client-store-temporary-credential
  --format <format>
  --verbose
  --debug
  --silent
  --enhanced-exit-codes
Copy

实参

name

DBT 项目的标识符;例如:my_pipeline。

选项

--source TEXT

包含要部署的 dbt 文件的目录路径。默认为当前工作目录。

--profiles-dir TEXT

包含 profiles.yml 的目录路径。默认值为 --source 中提供的目录或当前工作目录。

--force / --no-force

覆盖项目中的冲突文件(如果有)。默认值:False。

--connection, -c, --environment TEXT

连接名称,如您在 config.toml 文件中所定义。默认值:default

--host TEXT

连接的主机地址。替换为连接指定的值。

--port INTEGER

连接的端口。替换为连接指定的值。

--account, --accountname TEXT

分配给 Snowflake 账户的名称。替换为连接指定的值。

--user, --username TEXT

连接到 Snowflake 的用户名。替换为连接指定的值。

--password TEXT

Snowflake 密码。替换为连接指定的值。

--authenticator TEXT

Snowflake 身份验证器。替换为连接指定的值。

--workload-identity-provider TEXT

Workload identity provider (AWS, AZURE, GCP, OIDC). Overrides the value specified for the connection.

--private-key-file, --private-key-path TEXT

Snowflake 私钥文件路径。替换为连接指定的值。

--token TEXT

连接到 Snowflake 时使用的 OAuth 令牌。

--token-file-path TEXT

连接到 Snowflake 时使用的带有 OAuth 令牌的文件路径。

--database, --dbname TEXT

要使用的数据库。替换为连接指定的值。

--schema, --schemaname TEXT

要使用的数据库架构。替换为连接指定的值。

--role, --rolename TEXT

要使用的角色。替换为连接指定的值。

--warehouse TEXT

要使用的仓库。替换为连接指定的值。

--temporary-connection, -x

使用命令行参数定义的连接,而不是在配置中定义的连接。默认值:False。

--mfa-passcode TEXT

用于多重身份验证的令牌 (MFA)。

--enable-diag

是否生成连接诊断报告。默认值:False。

--diag-log-path TEXT

生成的报告的路径。默认为系统临时目录。默认:<system_temporary_directory>。

--diag-allowlist-path TEXT

包含允许列表参数的 JSON 文件的路径。

--oauth-client-id TEXT

身份提供商为 Snowflake 集成提供的客户端 ID 的值。

--oauth-client-secret TEXT

身份提供商为 Snowflake 集成提供的客户端密钥的值。

--oauth-authorization-url TEXT

向驱动程序提供授权码的身份提供商端点。

--oauth-token-request-url TEXT

向驱动程序提供访问令牌的身份提供商端点。

--oauth-redirect-uri TEXT

URI 用于授权码重定向。

--oauth-scope TEXT

身份提供商授权请求中请求的范围。

--oauth-disable-pkce

禁用代码交换证明密钥 (PKCE)。默认值:False

--oauth-enable-refresh-tokens

在实际访问令牌过期时启用静默重新身份验证。默认值:False

--oauth-enable-single-use-refresh-tokens

是否选择启用一次性刷新令牌语义。默认值:False

--client-store-temporary-credential

存储临时凭据。

--format [TABLE|JSON|JSON_EXT|CSV]

指定输出格式。默认:TABLE。

--verbose, -v

显示日志级别 info 及更高级别的日志条目。默认值:False。

--debug

显示日志级别 debug 及更高级别的日志条目;调试日志包含其他信息。默认值:False。

--silent

关闭到控制台的中间输出。默认值:False。

--enhanced-exit-codes

根据错误类型区分退出错误代码。默认值:False。

--help

显示此命令的帮助文本。

使用说明

snow dbt deploy 命令将本地文件上传到临时暂存区,然后创建新对象或通过创建新版本来更新现有的 dbt 项目对象。有效的 dbt 项目对象必须包含两个文件:

  • dbt_project.yml:标准 dbt 配置文件,必须指定要使用的配置文件。

  • profiles.ymldbt_project.yml 中引用的 dbt 连接配置文件定义。profiles.yaml 必须定义数据库、角色、仓库和架构。您可以将剩余值留空,如以下示例所示:

    <profile_name>:
    outputs:
      dev:
        account: ''
        database: <database_name>
        role: <role_name>
        schema: <schema_name>
        type: snowflake
        user: ''
        warehouse: <warehouse_name>
    target: dev
    
    Copy

示例

  • 部署一个名为 jaffle_shop 的 dbt 项目:

    snow dbt deploy jaffle_shop
    
    Copy
  • 从指定目录部署一个名为 jaffle_shop 的项目,并覆盖 dbt 项目对象(如果它已经存在):

    snow dbt deploy jaffle_shop --force --source /path/to/dbt/directory --profiles-dir ~/.dbt/
    
    Copy
语言: 中文