सामग्री पर जाएँ

स्टोरेज नीतियाँ और प्रतिधारण ​

कोटा, उपयोग, प्रतिधारण नीतियाँ, उनका पूर्वावलोकन और चलाना, क्लीनअप और आर्टिफ़ैक्ट हटाना।

इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।

ऑपरेशन ​

जाँचें कि आर्टिफ़ैक्ट हटाया जा सकता है या नहीं ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/deletion

एक्सेस: रिपॉज़िटरी अनुमति: artifact.delete · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

आर्टिफ़ैक्ट का नाम, आकार, प्रकाशन समय, वर्तमान annotationRevision और वे blockers लौटाता है जो उसे हटाए जाने से रोकेंगे: reference (कोई बाहरी संदर्भ, या किसी कंटेनर इमेज, Git LFS अथवा npm द्वारा उपयोग), asset_history (वर्तमान या पुराना फ़ाइल पथ संशोधन), attachment_history या promotion_stage। कुछ नहीं बदलता; संशोधन को deleteArtifact में expectedAnnotationRevision के रूप में दें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
namestringहाँ1–240 वर्ण
sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
publishedAtstring (date-time)हाँ—
annotationRevisionintegerहाँ0–2147483647
blockersstring का ऐरेहाँअधिकतम 4 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: reference, asset_history, attachment_history, protected_label, promotion_stage

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/deletion" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

प्रतिधारण के उम्मीदवारों का पूर्वावलोकन करें ​

POST /api/v1/repositories/{repository}/retention/preview

एक्सेस: रिपॉज़िटरी अनुमति: artifact.delete · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

criteria.publishedBefore से पहले जारी प्रकाशित आर्टिफ़ैक्ट (अतीत का UTC समय, मिलीसेकंड सहित) ID के क्रम में सूचीबद्ध करता है, प्रत्येक के साथ उसका एनोटेशन संशोधन और ब्लॉकर; protected_label का अर्थ है कि criteria.protectedLabels (अधिकतम 32 की स्पष्ट सूची) में से कोई लेबल लगा है। प्रत्येक पृष्ठ में limit आइटम होते हैं (1–100, डिफ़ॉल्ट 50); after में next देकर आगे बढ़ें। कुछ आरक्षित नहीं होता: हटाने के आइटम चुनें और उन्हें उनके संशोधनों के साथ applyRetention को दें, जो उन्हें फिर जाँचता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
criteriaobjectहाँ—
criteria.publishedBeforestring (date-time)हाँपैटर्न: ^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$
criteria.protectedLabelsstring का ऐरेहाँअधिकतम 32 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: 1–64 वर्ण
limitintegerनहीं1–100
afterstring (uuid)नहीं—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँ1–240 वर्ण
items[].sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].publishedAtstring (date-time)हाँ—
items[].annotationRevisionintegerहाँ0–2147483647
items[].blockersstring का ऐरेहाँअधिकतम 4 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: reference, asset_history, attachment_history, protected_label, promotion_stage
nextstring (uuid)हाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/retention/preview" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"criteria":{"publishedBefore":"2026-01-01T00:00:00.000Z","protectedLabels":[]}}'

चुने हुए प्रतिधारण उम्मीदवार हटाएँ ​

POST /api/v1/repositories/{repository}/retention/apply

एक्सेस: रिपॉज़िटरी अनुमति: artifact.delete · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

previewRetention से चुने गए 1–100 आर्टिफ़ैक्ट (items, जिनमें id और expectedAnnotationRevision) को उसी criteria के विरुद्ध फिर जाँचता है और पात्र आर्टिफ़ैक्ट को एक ट्रांज़ैक्शन में तार्किक रूप से हटाता है। हर आइटम को एक outcome मिलता है: deleted, already_deleted, changed (एनोटेशन बदल गए), not_eligible (बहुत देर से प्रकाशित), protected अपने ब्लॉकर के साथ, या not_found। बाइट तब तक आरक्षित रहते हैं जब तक रिपॉज़िटरी का ऑनलाइन क्लीनअप उन्हें वापस नहीं ले लेता।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
criteriaobjectहाँ—
criteria.publishedBeforestring (date-time)हाँपैटर्न: ^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\.\d{3}Z$
criteria.protectedLabelsstring का ऐरेहाँअधिकतम 32 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: 1–64 वर्ण
itemsobject का ऐरेहाँ1–100 आइटम
items[].idstring (uuid)हाँ—
items[].expectedAnnotationRevisionintegerहाँ0–2147483647

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँ1–100 आइटम
items[].idstring (uuid)हाँ—
items[].outcomestringहाँइनमें से एक: deleted, already_deleted, protected, changed, not_eligible, not_found
items[].blockersstring का ऐरेहाँअधिकतम 4 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: इनमें से एक: reference, asset_history, attachment_history, protected_label, promotion_stage

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/retention/apply" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"criteria":{"publishedBefore":"2026-01-01T00:00:00.000Z","protectedLabels":[]},"items":[{"id":"00000000-0000-4000-8000-000000000000","expectedAnnotationRevision":0}]}'

स्टोरेज नीति प्राप्त करें ​

GET HEAD /api/v1/repositories/{repository}/storage/policy

एक्सेस: रिपॉज़िटरी अनुमति: storage.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

रिपॉज़िटरी की स्वचालित क्लीनअप और कोटा सेटिंग उनके revision के साथ लौटाता है, साथ ही अगला और पिछला निर्धारित रन, पिछले रन ने कितने बिल्ड हटाए और उसकी त्रुटि। डिफ़ॉल्ट रूप से नीति अक्षम होती है और रिपॉज़िटरी का कोई कोटा नहीं होता (पूरे सर्वर की क्षमता फिर भी लागू रहती है)।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.groupingstringहाँइनमें से एक: package-channel, package, repository
policy.keepLastintegerहाँ1–100000
policy.channelsobject का ऐरेहाँअधिकतम 32 आइटम
policy.channels[].labelstringहाँ1–64 वर्ण
policy.channels[].keepLastintegerहाँ1–100000
policy.protectedLabelsstring का ऐरेहाँअधिकतम 32 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: 1–64 वर्ण
policy.minAgeHoursintegerहाँ0–87600
policy.intervalMinutesintegerहाँ1–10080
policy.quotaBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
policy.warningPercentintegerहाँ1–98
policy.criticalPercentintegerहाँ2–99
nextRunAtstring (date-time)हाँnull हो सकता है
lastRunAtstring (date-time)हाँnull हो सकता है
lastDeletedintegerहाँ0–100
lastErrorstringहाँअधिकतम 64 वर्ण; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/policy" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

स्टोरेज नीति प्रतिस्थापित करें ​

PUT /api/v1/repositories/{repository}/storage/policy

एक्सेस: रिपॉज़िटरी अनुमति: storage.manage · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

पूरी नीति प्रतिस्थापित करता है: प्रत्येक पैकेज, प्रत्येक चैनल लेबल (channels) या प्रत्येक रिपॉज़िटरी (grouping) के अंतिम keepLast पंजीकृत UPack बिल्ड रखें, protectedLabels वाले या minAgeHours से नए बिल्ड कभी न हटाएँ, हर intervalMinutes पर चलाएँ, और रिपॉज़िटरी को quotaBytes (दशमलव स्ट्रिंग, कोई सीमा न हो तो null) और उसकी चेतावनी सीमाओं से सीमित करें। expectedRevision वर्तमान संशोधन होना चाहिए, अन्यथा 409 revision_mismatch। सक्षम करने के लिए artifact.delete भी चाहिए और शेड्यूल कॉल करने वाली प्रबंधित कुंजी से बँध जाता है: वह कुंजी निरस्त होने, समाप्त होने या इन अनुमतियों को खोने पर निर्धारित हटाना तब तक रुका रहता है जब तक नीति किसी अन्य कुंजी से सहेजी नहीं जाती। सामान्य फ़ाइलें कोटा में गिनी जाती हैं, पर उससे कभी हटाई नहीं जातीं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.groupingstringहाँइनमें से एक: package-channel, package, repository
policy.keepLastintegerहाँ1–100000
policy.channelsobject का ऐरेहाँअधिकतम 32 आइटम
policy.channels[].labelstringहाँ1–64 वर्ण
policy.channels[].keepLastintegerहाँ1–100000
policy.protectedLabelsstring का ऐरेहाँअधिकतम 32 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: 1–64 वर्ण
policy.minAgeHoursintegerहाँ0–87600
policy.intervalMinutesintegerहाँ1–10080
policy.quotaBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
policy.warningPercentintegerहाँ1–98
policy.criticalPercentintegerहाँ2–99

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.groupingstringहाँइनमें से एक: package-channel, package, repository
policy.keepLastintegerहाँ1–100000
policy.channelsobject का ऐरेहाँअधिकतम 32 आइटम
policy.channels[].labelstringहाँ1–64 वर्ण
policy.channels[].keepLastintegerहाँ1–100000
policy.protectedLabelsstring का ऐरेहाँअधिकतम 32 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: 1–64 वर्ण
policy.minAgeHoursintegerहाँ0–87600
policy.intervalMinutesintegerहाँ1–10080
policy.quotaBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
policy.warningPercentintegerहाँ1–98
policy.criticalPercentintegerहाँ2–99
nextRunAtstring (date-time)हाँnull हो सकता है
lastRunAtstring (date-time)हाँnull हो सकता है
lastDeletedintegerहाँ0–100
lastErrorstringहाँअधिकतम 64 वर्ण; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/policy" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"policy":{"enabled":false,"grouping":"package-channel","keepLast":1,"channels":[],"protectedLabels":[],"minAgeHours":0,"intervalMinutes":1,"quotaBytes":"1024","warningPercent":1,"criticalPercent":2}}'

रिपॉज़िटरी का स्टोरेज उपयोग प्राप्त करें ​

GET HEAD /api/v1/repositories/{repository}/storage/usage

एक्सेस: रिपॉज़िटरी अनुमति: storage.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

रिपॉज़िटरी द्वारा आरक्षित बाइट दशमलव स्ट्रिंग के रूप में लौटाता है: प्रकाशित, लंबित अपलोड और सेवामुक्त (हटाए गए या रद्द किए गए, अभी वापस नहीं लिए गए), उनका योग reservedBytes, कोटा और एक state (unlimited, normal, warning, critical, exceeded)। यह कोटा के विरुद्ध गिना जाने वाला तार्किक आरक्षण है, डिस्क पर प्रयुक्त स्थान नहीं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
publishedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
pendingBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
retiredBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
reservedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
quotaBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
statestringहाँइनमें से एक: unlimited, normal, warning, critical, exceeded

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/usage" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

पूर्वावलोकन करें कि स्टोरेज नीति क्या हटाएगी ​

GET HEAD /api/v1/repositories/{repository}/storage/preview

एक्सेस: रिपॉज़िटरी अनुमति: artifact.delete · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

अधिकतम 100 पंजीकृत बिल्ड लौटाता है जिन्हें सहेजी हुई नीति अभी हटा देगी (नीति अक्षम होने पर भी), नीति revision और hasMore के साथ; संदर्भों, फ़ाइल पथों, अटैचमेंट, संरक्षित लेबल या आयु के कारण रखे गए बिल्ड छोड़ दिए जाते हैं। कुछ आरक्षित नहीं होता: रन बिल्ड को फिर से क्रम में लगाता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].namestringहाँअधिकतम 240 वर्ण
items[].sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].publishedAtstring (date-time)हाँ—
items[].annotationRevisionintegerहाँ0–2147483647
items[].blockersstring का ऐरेहाँअधिकतम 0 आइटम
hasMorebooleanहाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/preview" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

स्टोरेज नीति अभी चलाएँ ​

POST /api/v1/repositories/{repository}/storage/run

एक्सेस: रिपॉज़िटरी अनुमति: storage.manage, artifact.delete · पुनः प्रयास: अपने-आप न दोहराएँ

शेड्यूल की प्रतीक्षा करने के बजाय सक्षम नीति का एक बैच तुरंत चलाता है: वह बिल्ड को फिर क्रम में लगाता है, अनुमतियाँ और निर्भरताएँ जाँचता है, और अधिकतम 100 को तार्किक रूप से हटाता है, हर एक का परिणाम लौटाते हुए। expectedRevision नीति का वर्तमान संशोधन होना चाहिए और नीति सक्षम होनी चाहिए, अन्यथा 409। बाइट बाद में रिपॉज़िटरी के ऑनलाइन क्लीनअप द्वारा वापस लिए जाते हैं, जिसकी अपनी नीति है (setCleanup)।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483647

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].outcomestringहाँइनमें से एक: deleted, already_deleted, protected, changed, not_eligible, not_found
items[].blockersstring का ऐरेहाँअधिकतम 4 आइटम; हर आइटम: इनमें से एक: reference, asset_history, attachment_history, protected_label, promotion_stage

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/run" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0}'

रिपॉज़िटरी की स्टोरेज घटनाएँ सूचीबद्ध करें ​

GET HEAD /api/v1/repositories/{repository}/storage/events

एक्सेस: रिपॉज़िटरी अनुमति: diagnostics.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

क्रम संख्या after (डिफ़ॉल्ट 0) के बाद स्टोरेज नीतियों, कोटा, प्रतिधारण और क्लीनअप की अधिकतम 100 नैदानिक घटनाएँ, सबसे पुरानी पहले, लौटाता है, प्रत्येक के साथ स्तर, कोड और कुछ विवरण; level (info, warning, error) उन्हें फ़िल्टर करता है, after में next देकर आगे बढ़ें। प्रति रिपॉज़िटरी केवल नवीनतम 1000 और कुल मिलाकर 20 000 घटनाएँ रखी जाती हैं, इसलिए लंबे समय तक रखने के लिए उन्हें एक्सपोर्ट करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
afterक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
levelक्वेरीstringनहींइनमें से एक: info, warning, error

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].sequencestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].occurredAtstring (date-time)हाँ—
items[].levelstringहाँइनमें से एक: info, warning, error
items[].codestringहाँअधिकतम 96 वर्ण
items[].detailsstring | integer का मैपहाँअधिकतम 16 प्रविष्टियाँ
nextstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/events" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

ऑनलाइन क्लीनअप की सेटिंग प्राप्त करें ​

GET HEAD /api/v1/repositories/{repository}/storage/cleanup

एक्सेस: रिपॉज़िटरी अनुमति: storage.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

रिपॉज़िटरी की ऑनलाइन क्लीनअप नीति उसके revision (enabled, graceHours, batchSize, intervalSeconds, delayMilliseconds) के साथ लौटाता है, साथ ही पिछला और अगला रन, और पिछले बैच ने कितने ऑब्जेक्ट वापस लिए, टाले या विफल किए तथा कितने बाइट मुक्त हुए। क्लीनअप ही रद्द किए गए अपलोड और हटाए गए आर्टिफ़ैक्ट को भौतिक रूप से हटाता है; यह डिफ़ॉल्ट रूप से बंद है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.graceHoursintegerहाँ0–8760
policy.batchSizeintegerहाँ1–100
policy.intervalSecondsintegerहाँ5–86400
policy.delayMillisecondsintegerहाँ0–1000
lastRunAtstring (date-time)हाँnull हो सकता है
nextRunAtstring (date-time)हाँnull हो सकता है
lastCollectedintegerहाँ0–100
lastDeferredintegerहाँ0–100
lastFailedintegerहाँ0–100
lastReclaimedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
lastErrorstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

ऑनलाइन क्लीनअप कॉन्फ़िगर करें ​

PUT /api/v1/repositories/{repository}/storage/cleanup

एक्सेस: रिपॉज़िटरी अनुमति: storage.manage · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

सर्वर चलते समय क्लीनअप नीति प्रतिस्थापित करता है: enabled (रोकने के लिए भी), graceHours (0–8760, हटाई गई सामग्री कितनी देर रुकी रहती है), batchSize (1–100 ऑब्जेक्ट), intervalSeconds (5–86400) और delayMilliseconds (ऑब्जेक्ट के बीच 0–1000)। expectedRevision वर्तमान संशोधन होना चाहिए (पहले परिवर्तन से पहले 0), अन्यथा 409 revision_mismatch। परिवर्तन ऑब्जेक्ट के बीच प्रभावी होता है, किसी के बीच में कभी नहीं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.graceHoursintegerहाँ0–8760
policy.batchSizeintegerहाँ1–100
policy.intervalSecondsintegerहाँ5–86400
policy.delayMillisecondsintegerहाँ0–1000

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.graceHoursintegerहाँ0–8760
policy.batchSizeintegerहाँ1–100
policy.intervalSecondsintegerहाँ5–86400
policy.delayMillisecondsintegerहाँ0–1000
lastRunAtstring (date-time)हाँnull हो सकता है
nextRunAtstring (date-time)हाँnull हो सकता है
lastCollectedintegerहाँ0–100
lastDeferredintegerहाँ0–100
lastFailedintegerहाँ0–100
lastReclaimedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
lastErrorstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"policy":{"enabled":false,"graceHours":0,"batchSize":1,"intervalSeconds":5,"delayMilliseconds":0}}'

क्लीनअप बैच अभी माँगें ​

POST /api/v1/repositories/{repository}/storage/cleanup/run

एक्सेस: रिपॉज़िटरी अनुमति: storage.manage · पुनः प्रयास: अपने-आप न दोहराएँ

सक्षम क्लीनअप नीति का अगला बैच तुरंत शुरू होने के लिए निर्धारित करता है; उत्तर क्लीनअप की स्थिति है, और बाइट तभी मुक्त होते हैं जब बैच चल चुका हो (देखें getCleanup में lastRunAt)। expectedRevision वर्तमान संशोधन होना चाहिए; अक्षम क्लीनअप पर 409 state_conflict। जिन ऑब्जेक्ट को पढ़ा या लिखा जा रहा है वे बाद के बैच तक टाल दिए जाते हैं।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483647

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
revisionintegerहाँ0–2147483647
policyobjectहाँ—
policy.enabledbooleanहाँ—
policy.graceHoursintegerहाँ0–8760
policy.batchSizeintegerहाँ1–100
policy.intervalSecondsintegerहाँ5–86400
policy.delayMillisecondsintegerहाँ0–1000
lastRunAtstring (date-time)हाँnull हो सकता है
nextRunAtstring (date-time)हाँnull हो सकता है
lastCollectedintegerहाँ0–100
lastDeferredintegerहाँ0–100
lastFailedintegerहाँ0–100
lastReclaimedBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
lastErrorstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/storage/cleanup/run" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0}'

Arkvory · ProAnimaStudio