Storage S3 REST API

ListObjects

הפעולה הזו מחזירה חלק מהאובייקטים בקטגוריה או את כולם, עד 1,000.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
    x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
    x-amz-request-id: B34E94CACB2CEF6D
    Date: Mon, 17 Oct 2022 22:47:09 GMT
    <ListBucketResult>
        <Name>{fully_qualified_bucket_name}</Name>
        <Prefix></Prefix>
        <Marker></Marker>
        <Contents>
                <Key>example-object.jpg</Key>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
                <Size>32347</Size>
                <Owner>
                <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                </Owner>
                <StorageClass>STANDARD</StorageClass>
        </Contents>
  </ListBucketResult>

ListObjectsV2

הפעולה הזו מחזירה חלק מהאובייקטים בקטגוריה או את כולם, עד 1,000.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}?list-type=2 HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
    x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
    x-amz-request-id: B34E94CACB2CEF6D
    Date: Mon, 17 Oct 2022 22:47:09 GMT
    <ListBucketResult>
        <Name>{fully_qualified_bucket_name}</Name>
        <Prefix></Prefix>
        <Marker></Marker>
        <Contents>
                <Key>example-object.jpg</Key>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
                <Size>32347</Size>
                <Owner>
                <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                </Owner>
                <StorageClass>STANDARD</StorageClass>
        </Contents>
  </ListBucketResult>

‫GetObject (versionId אופציונלי)

הפעולה הזו מאחזרת אובייקט מקטגוריה, עם מזהה גרסה אופציונלי שסופק.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?versionId={object_version_id} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Content-Length: 13432
[13432 bytes of object data]

GetObjectAcl (versionId optional)

הפעולה הזו מחזירה תשובה חיובית ואת המזהה, השם המוצג וההרשאה של בעלי האובייקט, מה שמציין שלבעלים יש גישה מלאה לאובייקט. כדי לבצע את הפעולה הזו, צריך לספק את פרטי הכניסה לחשבון.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?acl&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
Content-Length: 157
<AccessControlPolicy>
    <Owner>
        <ID>canonical-user-id</ID>
        <DisplayName>example-display-name</DisplayName>
    </Owner>
    <AccessControlList>
        <Grant>
            <Grantee>
        <ID>canonical-user-id</ID>
                <DisplayName>example-display-name</DisplayName>
                <Type>CanonicalUser</Type>
            </Grantee>
            <Permission>FULL_CONTROL</Permission>
        </Grant>
</AccessControlList>
</AccessControlPolicy>

GetObjectRetention (versionId אופציונלי)

הפעולה הזו מאחזרת את מצב השמירה של האובייקט שצוין ואת התאריך שבו פג תוקף השמירה של נעילת האובייקט. לקטגוריה צריכה להיות הגדרה של נעילת אובייקטים.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?retention&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Retention>
    <Mode>COMPLIANCE</Mode>
    <Timestamp>2022-10-17T01:56:20.000Z</Timestamp>
</Retention>

GetObjectLegalHold (versionId optional)

הפעולה הזו מאחזרת את סטטוס ההחזקה לצורך משפטי האחרון של אובייקט. לקטגוריה צריכה להיות הגדרה של נעילת אובייקטים.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?legal-hold&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<LegalHold>
    <Status>ON</Status>
</LegalHold>

GetObjectTagging (versionId אופציונלי)

הפעולה הזו משתמשת במשאב המשנה של התיוג כדי להחזיר את כל התגים של אובייקט. אם לא מציינים את הפרמטר versionId, הפעולה מחזירה את כל התגים מהגרסה האחרונה של האובייקט בקטגוריה עם ניהול גרסאות. אם הגרסה הנוכחית של האובייקט היא סמן מחיקה, מוחזר סטטוס MethodNotAllowed עם כותרת התגובה x-amz-deletemarker שמוגדרת כ-true.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Tagging>
  <TagSet>
        <Tag>
        <Key>tag1</Key>
        <Value>val1</Value>
      </Tag>
      <Tag>
        <Key>tag2</Key>
        <Value>val2</Value>
      </Tag>
  </TagSet>
</Tagging>

PutObject

הפעולה הזו מוסיפה אובייקט לקטגוריה. כדי להוסיף אובייקט לקטגוריה, צריכות להיות לכם הרשאות WRITE מתאימות בקטגוריה.

הצפנה בגרסה 2

בקטגוריית EV2 (גרסת הצפנה 2), הבקשה תשתמש במפתח AEAD שמוגדר כברירת מחדל להצפנה אם לא צוינו מפתחות בהתאמה אישית.

כדי להשתמש במפתח AEAD מותאם אישית להצפנה, צריך להגדיר שתי כותרות:

  • ‫x-amz-server-side-encryption: SSE-KMS – מציין שהבקשה הזו מנסה להשתמש במפתח AEAD בהתאמה אישית.
  • ‫x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} – מציין את המפתח שבו רוצים להשתמש. מרחב השמות של המפתח צריך להיות באותו פרויקט שבו נמצאת הקטגוריה.

דוגמה לבקשה:

PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 5233
Content-type: text/plain
[5233 bytes of object data]

דוגמה לתגובה (הצלחה):

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

PutObjectTagging

הפעולה הזו משתמשת במשאב המשנה של התיוג כדי להוסיף קבוצת תגים לאובייקט קיים.

דוגמה לבקשה:

PUT /{fully_qualified_bucket_name}/{object_name}?tagging HTTP/1.1
Host: host
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: {length}
Content-type: text/plain
<Tagging>
    <TagSet>
        <Tag>
            <key>my-tag-key</key>
            <value>my-tag-value</value>
        </Tag>
    </TagSet>
</Tagging>

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

‫DeleteObjects (אופציונלי: versionId)

הפעולה הזו מאפשרת למחוק כמה אובייקטים מקטגוריה אחת בבקשה אחת. הבקשה יכולה להכיל רשימה של עד 1,000 מפתחות שרוצים למחוק.

דוגמה לבקשה:

DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Object>
      <Key>object_one.jpg</Key>
      <VersionId>1234568892</VersionId>
   </Object>
   <Object>
      <Key>object_two.jpg</Key>
   </Object>
</Delete>

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: 5h4FxSNCUS7wP5z92eGCWDshNpMnRuXvETa4HH3LvvH6VAIr0jU7tH9kM7X+njXx
x-amz-request-id: A437B3B641629AEE
Date: Fri, 02 Oct 2023 01:53:42 GMT
Content-Type: application/xml
Content-Length: 251
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Deleted>
        <Key>object_one.jpg</Key>
    </Deleted>
    <Error>
        <Key>object_two.jpg</Key>
        <Code>AccessDenied</Code>
        <Message>Access Denied</Message>
    </Error>
</DeleteResult>

‫DeleteObject (versionId אופציונלי)

הסרת אובייקט מקטגוריה. ההתנהגות תלויה במצב ניהול הגרסאות של הקטגוריה: - אם ניהול הגרסאות של הקטגוריה לא מופעל, הפעולה מוחקת את האובייקט באופן סופי. - אם ניהול הגרסאות של הקטגוריה מופעל, הפעולה מוסיפה סמן מחיקה, שהופך לגרסה הנוכחית של האובייקט. כדי למחוק אובייקט באופן סופי מקטגוריה עם ניהול גרסאות, צריך לכלול את ה-versionId של האובייקט בבקשה.

דוגמה לבקשה:

DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

‫DeleteObjectTagging (versionId אופציונלי)

הפעולה הזו משתמשת במשאב המשנה של התיוג כדי להסיר את כל התגים מאובייקט.

דוגמה לבקשה:

DELETE /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

‫HeadObject (versionId אופציונלי)

הפעולה HEAD מאחזרת מטא-נתונים מאובייקט בלי להחזיר את האובייקט עצמו. הפעולה הזו שימושית אם אתם מתעניינים רק במטא-נתונים של אובייקט.

דוגמה לבקשה:

HEAD /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 200
x-amz-id-2: ef8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC143432E5
x-amz-version-id: 3HL4kqtJlcpXroDTDmjVBH40Nrjfkd
Date: Wed, 28 Oct 2023 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Connection: close

CreateMultipartUpload

הפעולה הזו מפעילה העלאה מרובת חלקים ומחזירה מזהה העלאה.

העלאה מרובת חלקים מאפשרת להוסיף אובייקט יחיד כקבוצה של חלקים. כל חלק הוא קטע רציף של נתוני האובייקט. מעלים את חלקי האובייקט האלה בנפרד ובכל סדר.

מזהה ההעלאה שמוחזר משמש לשיוך כל החלקים בהעלאה מרובת החלקים הספציפית. אתם מציינים את מזהה ההעלאה הזה בכל אחת מהבקשות הבאות להעלאת חלקים. מזהה ההעלאה משמש גם בבקשה הסופית להשלמה או לביטול של בקשת ההעלאה מרובת החלקים.

הצפנה בגרסה 2

מזהה ההעלאה שמוחזר לקטגוריית EV2 (גרסת הצפנה 2) יונפק רק פעם אחת. אם מזהה ההעלאה שהוחזר מהפעולה הזו אבד, אי אפשר לשחזר אותו מ-ListMultipartUploads. עם זאת, אפשר להשתמש במזהי ההעלאה שמוחזרים מ-ListMultipartUploads בשביל AbortMultipartUpload או ListParts. אפשר להשתמש רק במזהה שמוחזר מ-CreateMultipartUpload עבור UploadPart או CompleteMultipartUpload.

דוגמה לבקשה:

POST /{fully_qualified_bucket_name}/{object_name}?uploads HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
    <InitiateMultipartUploadResult>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
  </InitiateMultipartUploadResult>

‫ListMultipartUploads (הפרמטר max-uploads אופציונלי)

הפעולה הזו מציגה רשימה של העלאות מרובות חלקים שמתבצעות בקטגוריה.

הצפנה בגרסה 2

מזהי ההעלאה שמוחזרים מהפעולה הזו יפעלו רק עם ListParts ו-AbortMultipartUpload.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}?uploads&max-uploads={max-uploads} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListMultipartUploadsResult>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<KeyMarker></KeyMarker>
<UploadIdMarker></UploadIdMarker>
<NextKeyMarker>my-movie.m2ts</NextKeyMarker>
    <NextUploadIdMarker>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</NextUploadIdMarker>
    <MaxUploads>3</MaxUploads>
    <IsTruncated>true</IsTruncated>
    <Upload>
            <Key>{object_name}</Key>
            <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
            <Initiator>
            <ID>{canonical-user-id}</ID>
            <DisplayName>InitiatorDisplayName</DisplayName>
            </Initiator>
            <Owner>
            <ID>{canonical-owner-user-id}</ID>
            <DisplayName>OwnerDisplayName</DisplayName>
            </Owner>
            <StorageClass>STANDARD</StorageClass>
            <Initiated>2022-10-17T01:56:20.000Z</Initiated>
    </Upload>
</ListMultipartUploadsResult>

‫ListParts (אופציונלי: max-parts)

הפעולה הזו מציגה את החלקים שהועלו בהעלאה מרובת חלקים ספציפית, ומחזירה כברירת מחדל עד 1,000 חלקים שהועלו. צריך לכלול את מזהה ההעלאה, שמתקבל עם הבקשה CreateMultipartUpload.

הצפנה בגרסה 2

אפשר להשתמש בבקשה הזו במזהה ההעלאה שהוחזר מ-CreateMultipartUpload או מ-ListMultipartUploads.

דוגמה לבקשה:

GET /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&max-parts={max-parts} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListPartsResult>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <UploadId>{uploadId}</UploadId>
        <Initiator>
            <ID>{canonical-user-id}</ID>
            <DisplayName>InitiatorDisplayName</DisplayName>
          </Initiator>
        <Owner>
                <ID>{canonical-owner-id}</ID>
                <DisplayName>OwnerDisplayName</DisplayName>
        </Owner>
        <StorageClass>STANDARD</StorageClass>
        <PartNumberMarker></PartNumberMarker>
        <NextPartNumberMarker></NextPartNumberMarker>
        <MaxParts>{max-parts}</MaxParts>
        <IsTruncated>true</IsTruncated>
        <Part>
                <PartNumber>2</PartNumber>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"7778aef8t866abc1fa1e8466f296d394"</ETag>
                <Size>10485769</Size>
        </Part>
        <Part>
                <PartNumber>3</PartNumber>
                <LastModified>2022-10-17T01:56:20.000Z</LastModified>
                <ETag>"aaab18db4cc2f85cedef854fccci24x8"</ETag>
                <Size>10423760</Size>
        </Part>
</ListPartsResult>

UploadPart

הפעולה הזו מעלה חלק בהעלאה מרובת חלקים של אובייקט.

הצפנה בגרסה 2

בקטגוריית EV2 (גרסת הצפנה 2), חובה להשתמש במזהה שמוחזר מ-CreateMultipartUpload. המזהים שמוחזרים מ-ListMutlipartUploads לא יפעלו בבקשה הזו.

דוגמה לבקשה:

PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 345442
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
[part data omitted, 345442 bytes of part data]

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

AbortMultipartUpload

הפעולה הזו מבטלת העלאה מרובת חלקים, ומזהה ההעלאה לא יהיה תקף יותר להעלאת חלקים נוספים. נפח האחסון שנוצל על ידי חלקים שהועלו בעבר מתפנה.

הצפנה בגרסה 2

בקטגוריית EV2 (גרסת הצפנה 2), אפשר להשתמש במזהה שמוחזר מ-CreateMultipartUpload או מ-ListMultipartUploads לפעולה הזו.

דוגמה לבקשה:

DELETE /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain

דוגמה לתגובה (הצלחה):

HTTP/1.1 204 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT

CompleteMultipartUpload

הפעולה הזו משלימה העלאה מרובת חלקים של אובייקט על ידי הרכבת החלקים שהועלו קודם לכן.

הצפנה בגרסה 2

בקטגוריית EV2 (גרסת הצפנה 2), חובה להשתמש במזהה שמוחזר מ-CreateMultipartUpload. המזהים שמוחזרים מ-ListMutlipartUploads לא יפעלו בבקשה הזו.

כדי להשתמש במפתח AEAD מותאם אישית להצפנה, צריך להגדיר שתי כותרות:

  • ‫x-amz-server-side-encryption: SSE-KMS – מציין שהבקשה הזו מנסה להשתמש במפתח AEAD בהתאמה אישית.
  • ‫x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} – מציין את המפתח שבו רוצים להשתמש. מרחב השמות של המפתח צריך להיות באותו פרויקט שבו נמצאת הקטגוריה.

דוגמה לבקשה:

POST /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 391
Content-type: text/plain
<CompleteMultipartUpload>
<Part>
    <PartNumber>1</PartNumber>
    <ETag>"a54357aff0632cce46d942af68356b38"</ETag>
</Part>
<Part>
    <PartNumber>2</PartNumber>
    <ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>
</Part>
<Part>
      <PartNumber>3</PartNumber>
      <ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</Part>
</CompleteMultipartUpload>

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<CompleteMultipartUploadResult>
<Location>http://{host}/{fully_qualified_bucket_name}/{object_name}</Location>
        <Bucket>{fully_qualified_bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</CompleteMultipartUploadResult>

CopyObject

הפעולה הזו היא סוג מיוחד של PutObject, שבו הנתונים נשלפים מאובייקט מקור שכבר נמצא במאגר האובייקטים.

מפתח האובייקט וקטגוריית המקור מצוינים כערך של הכותרת x-amz-copy-source, ומופרדים באמצעות /. לדוגמה, כדי להעתיק את האובייקט images/my_image.jpg מהקטגוריה my_bucket, הערך שצריך להגדיר הוא my_bucket/images/my_image.jpg.

הצפנה בגרסה 2

בקטגוריה של EV2 (גרסת הצפנה 2), אובייקט המקור הזה חייב להיות מקטגוריה של גרסת הצפנה 2, אחרת הפעולה תיכשל.

כדי להשתמש במפתח AEAD מותאם אישית להצפנה, צריך להגדיר שתי כותרות:

  • ‫x-amz-server-side-encryption: SSE-KMS – מציין שהבקשה הזו מנסה להשתמש במפתח AEAD בהתאמה אישית.
  • ‫x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name} – מציין את המפתח שבו רוצים להשתמש. מרחב השמות של המפתח צריך להיות באותו פרויקט שבו נמצאת הקטגוריה.

דוגמה לבקשה:

PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT

<CopyObjectResult>
    <LastModified>2009-10-12T17:50:30.000Z</LastModified>
    <ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>

UploadPartCopy

בפעולה הזו, אובייקט שכבר קיים במאגר האובייקטים ישמש כנתונים של חלק אחד בהעלאה בכמה חלקים.

מפתח האובייקט וקטגוריית המקור מצוינים כערך של הכותרת x-amz-copy-source, ומופרדים באמצעות /. לדוגמה, כדי להעתיק את האובייקט images/my_image.jpg מהקטגוריה my_bucket, הערך שצריך להגדיר הוא my_bucket/images/my_image.jpg.

הצפנה בגרסה 2

הפעולה הזו לא נתמכת בקטגוריות EV2 (גרסת הצפנה 2).

דוגמה לבקשה:

PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string

דוגמה לתגובה (הצלחה):

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT

<CopyPartResult>
   <ETag>string</ETag>
   <LastModified>timestamp</LastModified>
   <ChecksumCRC32>string</ChecksumCRC32>
   <ChecksumCRC32C>string</ChecksumCRC32C>
   <ChecksumSHA1>string</ChecksumSHA1>
   <ChecksumSHA256>string</ChecksumSHA256>
</CopyPartResult>