LibOss.Config.Validator (lib_oss v0.3.0)

View Source

增强的配置验证器,提供运行时配置验证和环境特定配置支持。

该模块扩展了基础的NimbleOptions验证,添加了:

  • 运行时配置验证
  • 环境特定配置支持
  • 详细的错误提示
  • 配置值的格式验证

Summary

Functions

获取配置模式定义。

验证配置参数。

验证配置参数,验证失败时抛出异常。

Types

env()

@type env() :: :dev | :test | :prod

validation_result()

@type validation_result() :: {:ok, keyword()} | {:error, String.t()}

Functions

get_schema(env \\ get_current_env())

@spec get_schema(env()) :: keyword()

获取配置模式定义。

参数

  • env - 环境 (:dev, :test, :prod)

返回值

  • NimbleOptions 模式定义

validate(config, opts \\ [])

@spec validate(keyword(), keyword()) :: validation_result()

验证配置参数。

参数

  • config - 配置关键字列表
  • opts - 验证选项
    • :env - 环境 (:dev, :test, :prod)
    • :runtime - 是否进行运行时验证 (默认: true)

返回值

  • {:ok, validated_config} - 验证成功
  • {:error, error_message} - 验证失败

示例

iex> config = [
...>   access_key_id: "test_access_key_id_123",
...>   access_key_secret: "test_access_key_secret_12345678901234567890",
...>   endpoint: "oss-cn-hangzhou.aliyuncs.com"
...> ]
iex> {:ok, result} = LibOss.Config.Validator.validate(config, runtime: false)
iex> Keyword.get(result, :access_key_id)
"test_access_key_id_123"

validate!(config, opts \\ [])

@spec validate!(keyword(), keyword()) :: keyword()

验证配置参数,验证失败时抛出异常。

参数

  • config - 配置关键字列表
  • opts - 验证选项(同 validate/2

返回值

  • validated_config - 验证成功的配置

异常

示例

iex> config = [
...>   access_key_id: "test_access_key_id_123",
...>   access_key_secret: "test_access_key_secret_12345678901234567890",
...>   endpoint: "oss-cn-hangzhou.aliyuncs.com"
...> ]
iex> result = LibOss.Config.Validator.validate!(config, runtime: false)
iex> Keyword.get(result, :access_key_id)
"test_access_key_id_123"