跳到主要内容
T4

clients

S3 客户端

S3 客户端

Endpoint:https://t4.dalang.io — path-style,任意区域。

aws-cli

export AWS_ACCESS_KEY_ID=T4…
export AWS_SECRET_ACCESS_KEY=…
export AWS_DEFAULT_REGION=id-jkt-1
EP=https://t4.dalang.io

aws --endpoint-url $EP s3api create-bucket --bucket assets
aws --endpoint-url $EP s3 cp ./data.tar s3://assets/backup/data.tar
aws --endpoint-url $EP s3 ls s3://assets/backup/
aws --endpoint-url $EP s3api head-object --bucket assets --key backup/data.tar
aws --endpoint-url $EP s3 presign s3://assets/backup/data.tar --expires-in 3600

boto3

import boto3
from botocore.config import Config

s3 = boto3.client(
    "s3",
    endpoint_url="https://t4.dalang.io",
    aws_access_key_id="T4…",
    aws_secret_access_key="…",
    region_name="id-jkt-1",
    config=Config(s3={"addressing_style": "path"}, signature_version="s3v4"),
)

s3.upload_file("data.tar", "assets", "backup/data.tar")
url = s3.generate_presigned_url(
    "get_object",
    Params={"Bucket": "assets", "Key": "backup/data.tar"},
    ExpiresIn=3600,
)
print(url)

rclone

~/.config/rclone/rclone.conf:

[t4]
type = s3
provider = Other
access_key_id = T4…
secret_access_key = …
endpoint = https://t4.dalang.io
force_path_style = true
region = id-jkt-1
rclone lsd t4:
rclone copy ./reports t4:assets/reports --progress
rclone link t4:assets/reports/index.pdf --expire 1h

restic

export RESTIC_REPOSITORY=s3:https://t4.dalang.io/assets/restic
export RESTIC_PASSWORD=…
export AWS_ACCESS_KEY_ID=T4…
export AWS_SECRET_ACCESS_KEY=…
restic init
restic backup ~/Documents

说明

  • 一个 API 密钥可用于账户内的所有存储桶;如果泄露,请从 API 密钥 页面吊销。
  • 创建密钥或上传前需要正额度余额;账户配额为 50 GB。
  • 较新的 AWS CLI 使用 aws-chunked 请求体;T4 会解码该分帧格式。
  • 如果客户端为其他区域签名(例如 us-east-1),签名仍会被接受;区域不会

影响数据的存储位置。