Storage S3 REST API

קטגוריית GET (הצגת רשימת האובייקטים בקטגוריה)

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

דוגמה לבקשה:

GET /{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>{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>

GET Bucket Versioning

הפעולה הזו משתמשת במשאב המשנה versioning כדי להחזיר את מצב ניהול הגרסאות של דלי:

  • ריק: ניהול הגרסאות אף פעם לא הופעל והקטגוריה היא Unversioned.
  • מופעל: ניהול הגרסאות מופעל.
  • מושעה: בעבר הופעל ניהול גרסאות והוא מושעה.

דוגמה לבקשה:

GET /{bucket_name}?versioning 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
  <VersioningConfiguration>
    <Status>Enabled</Status>
  </VersioningConfiguration>

אחזור של אובייקט

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

דוגמה לבקשה:

GET /{bucket_name}/{object_name} 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]

אחזור של הגדרות שימור של אובייקט (versionId אופציונלי)

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

דוגמה לבקשה:

GET /{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>

אחזור של תיוג אובייקט (אופציונלי: versionId)

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

דוגמה לבקשה:

GET /{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>

אובייקט PUT

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

דוגמה לבקשה:

PUT /{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"

PUT Object Tagging

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

דוגמה לבקשה:

PUT /{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

אובייקט DELETE (אופציונלי: versionId)

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

דוגמה לבקשה:

DELETE /{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

DELETE Object Tagging (versionId optional)

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

דוגמה לבקשה:

DELETE /{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

יצירת העלאה מרובת חלקים

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

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

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

דוגמה לבקשה:

POST /{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>{bucket_name}</Bucket>
        <Key>{object_name}</Key>
        <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
  </InitiateMultipartUploadResult>

הצגת רשימה של העלאות מרובות חלקים (אופציונלי: max-uploads)

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

דוגמה לבקשה:

GET /{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>{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>

הצגת רשימה של חלקים בהעלאה מרובת חלקים (אופציונלי: max-parts)

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

דוגמה לבקשה:

GET /{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>{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>

העלאת חלק

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

דוגמה לבקשה:

PUT /{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"

ביטול העלאה מרובת חלקים

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

דוגמה לבקשה:

DELETE /{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