Object
Объектілермен операциялар:
- GetObject — бакеттен объектіні жүктеп алу.
- HeadObject — объект туралы ақпаратты алу.
- PutObject — объектіні бакетке жүктеу.
- CopyObject — бакетте орналасқан объектіні көшіру.
- DeleteObject — объектіні жою.
- DeleteMultipleObjects — тізім бойынша объектілер тобын жою.
GET операциясы бакеттен объектіні шығарып алады. Операцияны орындау үшін объектіге READ құқықтары болуы қажет.
Анонимді пайдаланушыға READ қол жеткізуін бере отырып, авторизация тақырыбын пайдаланбай-ақ объектіні қайтаруға болады.
Бакетте стандартты файлдық жүйедегідей каталогтар иерархиясы жоқ. Дегенмен, каталогтары бар құрылымды меңзейтін объект кілттерінің атауларын пайдалану арқылы логикалық иерархия жасауға болады. Мысалы, объектіні sample.jpg емес, photos/2020/August/01.jpg деп атауға болады.
Осындай логикалық иерархиясы бар объектіні шығарып алу үшін GET операциясында объектінің толық атауын көрсету керек.
Сұрау мысалы:
...GET /example.txt HTTP/1.1Host: my-test-bucket1.hb.ru-msk.vkcloud-storage.rux-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20200831T190539ZAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20170710/ru-msk/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=e912de79c88f07832558244bd867c3d834584c7f8b3d8efe4d0f0ba60b7a1dcb'''
Жауап мысалы:
...HTTP/1.1 200 OKDate: Mon, 31 Aug 2020 19:05:39 GMTx-amz-request-id: tx00000000000000279f46e-005963d003-1268c-ru-mskaContent-Type: text/plainContent-Length: 14Accept-Ranges: bytesLast-Modified: Mon, 31 Aug 2020 19:05:09 GMTEtag: "b3a92f49e7ae64acbf6b3e76f2040f5e"Connection: closeExample text.'''
Тақырып | Сипаттама |
|---|---|
Объектілерді таңбалау тақырыптары | |
| ACL-ді ескере отырып, объектіге байланыстырылған тегтер саны. Егер объектіде тегтер болмаса, жауапта бұл тақырып қайтарылмайды |
Объектілерді бұғаттау жауап тақырыптары | |
| Объектіге орнатылған мерзімсіз бұғаттаудың статусы:
|
| Объектіге орнатылған уақытша бұғаттаудың түрі:
|
| ISO8601 форматындағы уақытша бұғаттаудың аяқталу күні мен уақыты |
HEAD операциясы объектінің өзін қайтармай, объектіден метадеректерді шығарып алады. Бұл операция тек объектінің метадеректері ғана қажет болған жағдайда қолданылады. HEAD операциясын пайдалану үшін объектіге READ құқығы болуы қажет.
HEAD операциясын сұрау үшін GetObject операциясындағыдай параметрлер көрсетіледі. Жауап GET жауабымен бірдей, тек жауап денесі болмайды.
Егер сұралатын объект жоқ болса, қайтарылатын қате есептік жазбада қосымша s3:ListBucket рұқсатының бар-жоғына байланысты болады.
- Егер бакетте
s3:ListBucketрұқсаты болса, HTTP 404 қатесі қайтарылады. - Егер болмаса, HTTP 403 қатесі қайтарылады.
Сұрау мысалы:
...HEAD /example.txt HTTP/1.1Host: my-test-bucket1.hb.ru-msk.vkcloud-storage.rux-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20200831T185156ZAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20170710/ru-msk/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'''
Жауап мысалы:
...HTTP/1.1 200 OKDate: Mon, 31 Aug 2020 18:51:58 GMTx-amz-request-id: tx0000000000000002ff1c9-00596912ce-6441-ru-mskaContent-Type: text/plainContent-Length: 14Accept-Ranges: bytesLast-Modified: Mon, 31 Aug 2020 18:40:46 GMTEtag: "b3a92f49e7ae64acbf6b3e76f2040f5e"Connection: close'''
Тақырып | Сипаттама |
|---|---|
Объектілерді таңбалау тақырыптары | |
| ACL-ді ескере отырып, объектіге байланыстырылған тегтер саны. Егер объектіде тегтер болмаса, жауапта бұл тақырып қайтарылмайды |
Объектілерді бұғаттау жауап тақырыптары | |
| Объектіге орнатылған мерзімсіз бұғаттаудың статусы:
|
| Объектіге орнатылған уақытша бұғаттаудың түрі:
|
| ISO8601 форматындағы уақытша бұғаттаудың аяқталу күні мен уақыты |
PUT операциясы бакетке объект қосады. Операцияны орындау үшін бакетке WRITE құқықтары болуы қажет.
Егер объект өлшемі 50 МБ-тан асса, VK Object Storage объектілерді ішінара қосады. Егер сәтті орындалғаны туралы жауап алынса, объект бакетке толық қосылғанын білдіреді.
PUT операциялары бір уақытта орындалғанда және жүктелетін объектілер бірдей болған жағдайда, VK Object Storage соңғы жазылған объектіден басқасының бәрін қайта жазады.
Желі арқылы өту кезінде деректердің бүлінуін болдырмау үшін Content-MD5 тақырыбын пайдалануды ұсынамыз: ол объектіні берілген MD5 мәнімен салыстыруды қамтамасыз етеді және сәйкес келмеген жағдайда қате қайтарады. Сонымен қатар, объектіні бакетке орналастырған кезде MD5 есептеп, қайтарылатын ETag мәнін есептелген MD5 мәнімен салыстыруға болады.
Сұрау мысалы:
...PUT /example.txt HTTP/1.1Content-Length: 14Content-Type: text/plainHost: my-test-bucket1.hb.ru-msk.vkcloud-storage.rux-amz-content-sha256: 003f0e5fe338b17be8be93fec537764ce199ac50f4e50f2685a753c4cc781747x-amz-date: 20200831T194605Zx-amz-meta-s3cmd-attrs:uid:1000/gname:asb/uname:asb/gid:1000/mode:33204/mtime:1499727909/atime:1499727909/md5:fb08934ef619f205f272b0adfd6c018c/ctime:1499713540x-amz-storage-class: STANDARDAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20200831/ru-msk/s3/aws4_request,SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-meta-s3cmd-attrs;x-amz-storage-class,Signature=a9a9e16da23e0b37ae8362824de77d66bba2edd702ee5f291f6ecbb9ebac6013Example text.'''
Жауап мысалы:
...HTTP/1.1 200 OKDate: Mon, 31 Aug 2020 19:46:06 GMTx-amz-request-id: tx0000000000000027bd57c-005963d97e-1268c-ru-mskaContent-Length: 0Accept-Ranges: bytesLast-Modified: Mon, 31 Aug 2020 19:05:09 GMTEtag: "fb08934ef619f205f272b0adfd6c018c"Connection: close'''
Тақырып | Сипаттама |
|---|---|
Объектілерді бұғаттау тақырыптары | |
| Объект үшін орнатылатын мерзімсіз бұғаттаудың статусы:
|
| Объект үшін орнатылатын уақытша бұғаттаудың түрі:
|
| Уақытша бұғаттаудың аяқталу күні мен уақыты |
Объектілерді таңбалау тақырыптары | |
| Объектіге тегтер қосу. URL сұрау параметрлері түрінде көрсетіледі: |
PUT операциясы бакетте бұрыннан сақталған объектінің көшірмесін жасай алады. Көшіру операциясы GetObject және PutObject операцияларын тізбектей орындауға баламалы. Сұрауға x-amz-copy-source тақырыбын қосу PUT операциясының бастапқы объектіні мақсатты бакетке көшіруіне әкеледі.
Объектіні көшіру кезінде метадеректердің көп бөлігін (әдепкі бойынша) сақтауға немесе жаңа метадеректерді көрсетуге болады. Жаңа метадеректерді жазу үшін сұрауға x-amz-metadata-directive: REPLACE тақырыбын қосу қажет. Алайда ACL және ObjectLock көшірілмейді — сұрауды жіберген пайдаланушы үшін жаңа объект private болады.
Көшіруге арналған барлық сұраулар аутентификациядан өтуі тиіс және хабарлама мәтінін қамтымауы керек. Сонымен қатар, бастапқы объектіге READ қол жеткізуі және мақсатты бакетке WRITE қол жеткізуі болуы қажет.
Көшіру сұрауы екі жағдайда қате қайтара алады. Бұл көшіру сұрауы алынған кезде де, объектілерді көшіру жүріп жатқан кезде де болуы мүмкін. Егер қате көшіру операциясы басталғанға дейін пайда болса, стандартты қате алынады. Егер қате көшіру операциясы кезінде пайда болса, қате 200 OK жауабының ішіне енгізіледі. Бұл 200 OK жауабының ішінде әрі сәттілік, әрі қате туралы хабарлама болуы мүмкін екенін білдіреді.
Сұрау мысалы:
...PUT /copied-example.txt HTTP/1.1Host: my-test-bucket1.hb.ru-msk.vkcloud-storage.rux-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-copy-source: /static-images/example.txtx-amz-date: 20200831T202253Zx-amz-metadata-directive: COPYAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20170710/ru-msk/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-copy-source;x-amz-date;x-amz-metadata-directive;x-amz-storage-class,Signature=0cb03470dd80bdd41a4b8fb06c1800b27a5059b61b0303fe589578835531c877'''
Жауап мысалы:
...HTTP/1.1 200 OKDate: Mon, 31 Aug 2020 20:22:54 GMTx-amz-request-id: tx0000000000000027d8430-005963e21d-1268c-ru-mskaContent-Length: 183Connection: close<CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><LastModified>2020-08-31T20:22:54.167Z</LastModified><ETag>7967bfe102f83fb5fc7e5a02bf05e8fc</ETag></CopyObjectResult>'''
Тақырып | Сипаттама |
|---|---|
Объектілерді бұғаттау тақырыптары | |
| Объект үшін орнатылатын мерзімсіз бұғаттаудың статусы:
|
| Объект үшін орнатылатын уақытша бұғаттаудың түрі:
|
| Уақытша бұғаттаудың аяқталу күні мен уақыты |
Объектілерді таңбалау тақырыптары | |
| Объектіге тегтер қосу. URL сұрау параметрлері түрінде көрсетіледі: |
| Бастапқы объектіден объект тегтерінің жиыны көшірілетінін немесе сұрауда көрсетілген тегтер жиынымен ауыстырылатынын көрсетеді. Мүмкін мәндер:
|
DELETE операциясы сұрауда көрсетілген объектіні жояды.
GOVERNANCE бұғаттауы орнатылған объектіні жою үшін сұрауда x-amz-bypass-governance-retention тақырыбын көрсетіңіз.
Сұрау мысалы:
...DELETE /sammy.png HTTP/1.1Host: my-test-bucket1.hb.ru-msk.vkcloud-storage.rux-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20200831T194408ZAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20170710/ru-msk/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=c2a46b21e2e8589dfbfa54382030bbef8108b2504a9f1d8aaba70fb0e1c46522'''
Жауап мысалы:
...HTTP/1.1 204 No ContentDate: Mon, 31 Aug 2020 19:44:09 GMTx-amz-request-id: tx0000000000000027bbc48-005963d908-1268c-ru-mskaConnection: close'''
Сұрауда берілген кілттер тізімі бойынша объектілерді жояды. Жоюға арналған тізімде 1000-нан артық кілт болмауы мүмкін. Объектінің болмауы қате болып саналмайды — егер объект жоқ болса, жауапта ол жойылған ретінде белгіленеді.
Content-MD5 және Content-Length тақырыптары міндетті, ал жоюға арналған кілттер тізімі XML форматында беріледі.
Әдісті орындау кезінде уақытша басқарылатын бұғаттауды айналып өту үшін сұрауда x-amz-bypass-governance-retention тақырыбын көрсетіңіз.
Сұрау мысалы:
...DELETE /sammy.png HTTP/1.1Host: my-test-bucket1.hb.ru-msk.vkcloud-storage.ruContent-Length: 176Content-MD5: 44c4dcd3d2f3645544a366ae481342fax-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20200831T194408ZAuthorization: AWS4-HMAC-SHA256 Credential=II5JDQBAN3JYM4DNEB6C/20170710/ru-msk/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=c2a46b21e2e8589dfbfa54382030bbef8108b2504a9f1d8aaba70fb0e1c46522<?xml version="1.0" encoding="UTF-8"?><Delete><Object><Key>picture.png</Key></Object><Object><Key>picture2.jpg</Key></Object></Delete>'''
Жауап мысалы:
...HTTP/1.1 204 No ContentDate: Mon, 31 Aug 2020 19:44:09 GMTx-amz-request-id: tx0000000000000027bbc48-005963d908-1268c-ru-mskaConnection: close<DeleteResult><Deleted><Key>picture.png</Key></Deleted><Error><Key>some/another/key.txt</Key><Code>TextErrorCode</Code><Message>Describing message</Message></Error></DeleteResult>'''