s3-api
API S3
API S3
T4 menerapkan subset S3 yang dipakai alat sehari-hari. Endpoint path-style:
https://t4.dalang.io/{bucket}/{key}
Yang didukung
| Operasi | Keterangan |
|---|---|
ListBuckets, CreateBucket, HeadBucket, DeleteBucket | bucket harus kosong sebelum dihapus |
PutObject, GetObject, HeadObject, DeleteObject | Range didukung |
DeleteObjects | hingga 1.000 kunci per permintaan |
ListObjectsV2 | prefix, delimiter, max-keys, continuation-token, start-after |
CopyObject | di dalam bucket yang sama |
| Multipart | create, upload part, complete, abort, list parts |
| Presigned URL | GET, PUT, HEAD, DELETE; maksimum 7 hari |
GetBucketLocation, GetBucketVersioning | versioning selalu Suspended |
Operasi yang belum ada mengembalikan 501 NotImplemented, bukan perilaku setengah jadi: ACL, policy, CORS, lifecycle, tagging, object lock, select, inventory, dan ListObjects v1.
Autentikasi
Header Authorization: AWS4-HMAC-SHA256 atau query presign. service harus s3; region apa pun diterima. Payload hash boleh SHA-256, UNSIGNED-PAYLOAD, atau STREAMING-AWS4-HMAC-SHA256-PAYLOAD (aws-chunked).
Jam server harus dalam ±15 menit dari jam klien.
ETag
PutObjectdanCopyObject: MD5 konten.- Multipart:
md5(concat(md5(part)))-jumlah_part, sama seperti S3.
Error
Format XML standar:
<Error>
<Code>NoSuchKey</Code>
<Message>objek tidak ditemukan</Message>
<Resource>aset/laporan.pdf</Resource>
<RequestId>…</RequestId>
</Error>
Kode umum: SignatureDoesNotMatch, InvalidAccessKeyId, RequestTimeTooSkewed, NoSuchBucket, NoSuchKey, BucketNotEmpty, BucketAlreadyOwnedByYou, InvalidBucketName, EntityTooLarge, InvalidRange, NotImplemented.
Metadata
Content-Typedisimpan dan dikembalikan.- Header
x-amz-meta-*disimpan apa adanya. Last-Modifieddalam UTC.
Lihat juga Batas dan URL bertanda tangan.