sz-orm-storage 5.0.0

SZ-ORM Storage Extension - real cloud providers via OpenDAL (real-cloud feature) + S3 real impl (s3-sdk feature) + in-memory mock providers
Documentation
[package]

name = "sz-orm-storage"

version.workspace = true

edition.workspace = true

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

keywords.workspace = true

categories.workspace = true

description = "SZ-ORM Storage Extension - real cloud providers via OpenDAL (real-cloud feature) + S3 real impl (s3-sdk feature) + in-memory mock providers"



[features]

default = []

# v4.9.0:OWASP Top 10 完整覆盖渗透测试套件(编译门控,默认关闭)

owasp-pentest-suite = []

s3-sdk = ["rust-s3"]

# v4.1.0:存储生命周期管理(分层 + 过期清理 + 策略引擎)

storage-lifecycle = []

# v4.6.0 M7:存储成本分析与优化建议(CostAnalyzer + 分层策略 + 冷热数据 + 压缩建议)

cost-analysis = []

# v4.7.0 M7:多云成本对比与容量预测(跨 provider 对比 + 趋势预测 + 自动优化执行)

multicloud-cost-forecast = ["cost-analysis"]

# 真实云存储:Aliyun OSS / Tencent COS / Huawei OBS / UpYun 基于 OpenDAL,

# Qiniu Kodo 基于官方 REST API(reqwest + HMAC-SHA1 签名)

real-cloud = [

  "dep:opendal",

  "dep:reqwest",

  "dep:hmac",

  "dep:sha1",

  "dep:base64",

]





[package.metadata.cargo-machete]

ignored = ['rust-s3', 'thiserror']

[dependencies]

async-trait = "0.1"

tokio = { version = "1.40", features = ["full"] }

thiserror = "2.0"

serde = { version = "1.0", features = ["derive"] }

serde_json = "1.0"

rust-s3 = { version = "0.37", optional = true }

opendal = { version = "0.58", optional = true, features = [

  "services-oss",

  "services-cos",

  "services-obs",

  "services-upyun",

] }

reqwest = { version = "0.12", optional = true, default-features = false, features = [

  "rustls-tls",

] }

hmac = { version = "0.12", optional = true }

sha1 = { version = "0.10", optional = true }

base64 = { version = "0.22", optional = true }



[dev-dependencies]

tokio-test = "0.4"



[lints]

workspace = true



[[test]]

name = "owasp_file_upload"

required-features = ["owasp-pentest-suite"]