AWS S3 API List - cloud-barista/cb-spider GitHub Wiki

AWS S3 API ๋ชฉ๋ก

๋ฒ„ํ‚ท(Bucket) ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
CreateBucket PUT ์ƒˆ๋กœ์šด S3 ๋ฒ„ํ‚ท ์ƒ์„ฑ PUT /{bucket}
DeleteBucket DELETE ๋นˆ ๋ฒ„ํ‚ท ์‚ญ์ œ DELETE /{bucket}
ListBuckets GET ๊ณ„์ •์˜ ๋ชจ๋“  ๋ฒ„ํ‚ท ๋ชฉ๋ก ์กฐํšŒ GET /
HeadBucket HEAD ๋ฒ„ํ‚ท ์กด์žฌ ์—ฌ๋ถ€ ๋ฐ ์ ‘๊ทผ ๊ถŒํ•œ ํ™•์ธ HEAD /{bucket}
GetBucketLocation GET ๋ฒ„ํ‚ท์˜ ๋ฆฌ์ „ ์ •๋ณด ์กฐํšŒ GET /{bucket}?location

๊ฐ์ฒด(Object) ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
PutObject PUT ๊ฐ์ฒด๋ฅผ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œ PUT /{bucket}/{key}
GetObject GET ๋ฒ„ํ‚ท์—์„œ ๊ฐ์ฒด ๋‹ค์šด๋กœ๋“œ GET /{bucket}/{key}
DeleteObject DELETE ๋ฒ„ํ‚ท์—์„œ ๊ฐ์ฒด ์‚ญ์ œ DELETE /{bucket}/{key}
HeadObject HEAD ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์กฐํšŒ HEAD /{bucket}/{key}
CopyObject PUT ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ์œ„์น˜๋กœ ๋ณต์‚ฌ PUT /{bucket}/{key}
ListObjects GET ๋ฒ„ํ‚ท์˜ ๊ฐ์ฒด ๋ชฉ๋ก ์กฐํšŒ (v1) GET /{bucket}
ListObjectsV2 GET ๋ฒ„ํ‚ท์˜ ๊ฐ์ฒด ๋ชฉ๋ก ์กฐํšŒ (v2) GET /{bucket}?list-type=2

๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
CreateMultipartUpload POST ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ์‹œ์ž‘ POST /{bucket}/{key}?uploads
UploadPart PUT ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ์˜ ํŒŒํŠธ ์—…๋กœ๋“œ PUT /{bucket}/{key}?partNumber={n}&uploadId={id}
CompleteMultipartUpload POST ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ์™„๋ฃŒ POST /{bucket}/{key}?uploadId={id}
AbortMultipartUpload DELETE ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ์ทจ์†Œ DELETE /{bucket}/{key}?uploadId={id}
ListParts GET ์—…๋กœ๋“œ๋œ ํŒŒํŠธ ๋ชฉ๋ก ์กฐํšŒ GET /{bucket}/{key}?uploadId={id}
ListMultipartUploads GET ์ง„ํ–‰ ์ค‘์ธ ๋ฉ€ํ‹ฐํŒŒํŠธ ์—…๋กœ๋“œ ๋ชฉ๋ก ์กฐํšŒ GET /{bucket}?uploads

๋ฒ„ํ‚ท ์ •์ฑ… ๋ฐ ACL ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
PutBucketPolicy PUT ๋ฒ„ํ‚ท ์ •์ฑ… ์„ค์ • PUT /{bucket}?policy
GetBucketPolicy GET ๋ฒ„ํ‚ท ์ •์ฑ… ์กฐํšŒ GET /{bucket}?policy
DeleteBucketPolicy DELETE ๋ฒ„ํ‚ท ์ •์ฑ… ์‚ญ์ œ DELETE /{bucket}?policy
PutBucketAcl PUT ๋ฒ„ํ‚ท ACL ์„ค์ • PUT /{bucket}?acl
GetBucketAcl GET ๋ฒ„ํ‚ท ACL ์กฐํšŒ GET /{bucket}?acl
PutObjectAcl PUT ๊ฐ์ฒด ACL ์„ค์ • PUT /{bucket}/{key}?acl
GetObjectAcl GET ๊ฐ์ฒด ACL ์กฐํšŒ GET /{bucket}/{key}?acl

๋ฒ„ํ‚ท ์„ค์ • ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
PutBucketVersioning PUT ๋ฒ„ํ‚ท ๋ฒ„์ €๋‹ ์„ค์ • PUT /{bucket}?versioning
GetBucketVersioning GET ๋ฒ„ํ‚ท ๋ฒ„์ €๋‹ ์ƒํƒœ ์กฐํšŒ GET /{bucket}?versioning
PutBucketCors PUT CORS ์„ค์ • PUT /{bucket}?cors
GetBucketCors GET CORS ์„ค์ • ์กฐํšŒ GET /{bucket}?cors
DeleteBucketCors DELETE CORS ์„ค์ • ์‚ญ์ œ DELETE /{bucket}?cors
PutBucketLifecycleConfiguration PUT ๋ผ์ดํ”„์‚ฌ์ดํด ์ •์ฑ… ์„ค์ • PUT /{bucket}?lifecycle
GetBucketLifecycleConfiguration GET ๋ผ์ดํ”„์‚ฌ์ดํด ์ •์ฑ… ์กฐํšŒ GET /{bucket}?lifecycle
DeleteBucketLifecycle DELETE ๋ผ์ดํ”„์‚ฌ์ดํด ์ •์ฑ… ์‚ญ์ œ DELETE /{bucket}?lifecycle

์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
PutBucketWebsite PUT ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ์„ค์ • PUT /{bucket}?website
GetBucketWebsite GET ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ์„ค์ • ์กฐํšŒ GET /{bucket}?website
DeleteBucketWebsite DELETE ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ์„ค์ • ์‚ญ์ œ DELETE /{bucket}?website

ํƒœ๊น… ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ จ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
PutBucketTagging PUT ๋ฒ„ํ‚ท ํƒœ๊ทธ ์„ค์ • PUT /{bucket}?tagging
GetBucketTagging GET ๋ฒ„ํ‚ท ํƒœ๊ทธ ์กฐํšŒ GET /{bucket}?tagging
DeleteBucketTagging DELETE ๋ฒ„ํ‚ท ํƒœ๊ทธ ์‚ญ์ œ DELETE /{bucket}?tagging
PutObjectTagging PUT ๊ฐ์ฒด ํƒœ๊ทธ ์„ค์ • PUT /{bucket}/{key}?tagging
GetObjectTagging GET ๊ฐ์ฒด ํƒœ๊ทธ ์กฐํšŒ GET /{bucket}/{key}?tagging
DeleteObjectTagging DELETE ๊ฐ์ฒด ํƒœ๊ทธ ์‚ญ์ œ DELETE /{bucket}/{key}?tagging

๊ธฐํƒ€ ์œ ์šฉํ•œ API

API ์ด๋ฆ„ HTTP ๋ฉ”์„œ๋“œ ์„ค๋ช… ์—”๋“œํฌ์ธํŠธ
SelectObjectContent POST S3 Select๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ๋‚ด์šฉ ์ฟผ๋ฆฌ POST /{bucket}/{key}?select&select-type=2
RestoreObject POST Glacier์—์„œ ๊ฐ์ฒด ๋ณต์› POST /{bucket}/{key}?restore
PutBucketNotificationConfiguration PUT ์ด๋ฒคํŠธ ์•Œ๋ฆผ ์„ค์ • PUT /{bucket}?notification
GetBucketNotificationConfiguration GET ์ด๋ฒคํŠธ ์•Œ๋ฆผ ์„ค์ • ์กฐํšŒ GET /{bucket}?notification

์ฐธ๊ณ ์‚ฌํ•ญ:

  • ๋ชจ๋“  API๋Š” AWS Signature Version 4๋กœ ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค
  • ์—”๋“œํฌ์ธํŠธ์˜ ๊ธฐ๋ณธ URL์€ https://s3.{region}.amazonaws.com ํ˜•์‹์ž…๋‹ˆ๋‹ค
  • {bucket}, {key}, {id} ๋“ฑ์€ ์‹ค์ œ ๊ฐ’์œผ๋กœ ์น˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • ์ผ๋ถ€ API๋Š” ํŠน์ • ๋ฆฌ์ „์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค