思源笔记 API 文档

/api/sync/setSyncProviderS3

方法: POST

认证: `model.CheckAuth`, `model.CheckAdminRole`, `model.CheckReadonly` (需要登录,管理员权限,非只读模式)

功能: 设置使用 S3 (Amazon Simple Storage Service) 或兼容 S3 协议的对象存储作为同步服务提供商时的具体配置。

在调用此 API 前,应先通过 /api/sync/setSyncProviderprovider 设置为 2 (S3)。

请求参数 (JSON Body)

请求体包含一个名为 s3 的对象,其结构如下 (conf.S3):

s3 对象字段 类型 是否必需 描述
endpoint string S3 服务的端点 URL。例如:s3.amazonaws.comminio.example.com:9000
accessKey string S3 Access Key ID。
secretKey string S3 Secret Access Key。
bucket string S3 存储桶 (Bucket) 名称。
region string S3 存储区域 (Region)。例如:us-east-1。如果 S3 服务不需要或未使用区域概念,可留空。
pathStyle boolean 是否使用路径风格的 URL (例如 endpoint/bucket/key)。默认为 false (即虚拟主机风格 bucket.endpoint/key)。某些 S3 兼容服务(如 MinIO)可能需要设置为 true
skipTlsVerify boolean 是否跳过 TLS (HTTPS) 证书验证。如果 S3 服务使用自签名证书或内网部署且无法验证证书时,可设为 true。默认为 false警告:设置为 true 会降低安全性。
timeout number 操作超时时间,单位为秒。如果未提供或为0,则可能使用默认值。
concurrentReqs number 并发请求数。如果未提供或为0,则可能使用默认值。

请求示例


{
    "s3": {
        "endpoint": "s3.us-west-2.amazonaws.com",
        "accessKey": "YOUR_ACCESS_KEY_ID",
        "secretKey": "YOUR_SECRET_ACCESS_KEY",
        "bucket": "my-siyuan-notebooks",
        "region": "us-west-2",
        "pathStyle": false,
        "skipTlsVerify": false,
        "timeout": 60,
        "concurrentReqs": 10
    }
}
        

响应结果

成功时,返回的 JSON 对象中 code 为 0,msg 为空字符串,datanull


{
    "code": 0,
    "msg": "",
    "data": null
}
        

失败时 (例如,参数缺失、认证失败、存储桶不存在或网络问题等),code 非 0,msg 包含错误信息,data 可能包含 {"closeTimeout": 5000}


{
    "code": -1,
    "msg": "Failed to connect to S3: ...error details...",
    "data": {
        "closeTimeout": 5000
    }
}
        

在线测试











请求体:


            

响应: