Home Knowledge base Skyline Cloud S3-कम्पैटिबल ऑब्जेक्ट स्टोरेज के साथ शुरुआत करें KNOWLEDGE BASE

S3-कम्पैटिबल ऑब्जेक्ट स्टोरेज के साथ शुरुआत करें

जानें कि S3-कम्पैटिबल ऑब्जेक्ट स्टोरेज क्या है और Skyline Cloud पर बकेट बनाने, एक्सेस कीज़ जनरेट करने, AWS CLI कॉन्फ़िगर करने, फ़ाइलें अपलोड/डाउनलोड/सिंक करने तथा इसे अपने ऐप में जोड़ने के लिए चरण-दर-चरण मार्गदर्शिका।

S3-कम्पैटिबल ऑब्जेक्ट स्टोरेज के साथ शुरुआत करें

S3-कम्पैटिबल ऑब्जेक्ट स्टोरेज क्या है?

ऑब्जेक्ट स्टोरेज पारंपरिक फ़ोल्डर-और-ब्लॉक संरचना का उपयोग करने के बजाय फ़ाइलों को बकेट नामक सपाट कंटेनरों के भीतर अलग-अलग ऑब्जेक्ट्स के रूप में रखता है। प्रत्येक ऑब्जेक्ट में उसका डेटा, एक विशिष्ट की (फ़ाइलनाम), और संबंधित मेटाडेटा होता है। एक्सेस HTTP के माध्यम से Amazon S3 API का उपयोग करके होता है — यह एक उद्योग मानक है जो असंख्य टूल्स, SDKs और बैकअप समाधानों द्वारा समर्थित है।

चूँकि Skyline Cloud ऑब्जेक्ट स्टोरेज S3-कम्पैटिबल है, इसलिए Amazon S3 के साथ काम करने वाला कोई भी टूल — AWS CLI, s3cmd, rclone, MinIO client, Laravel/Django/Node SDKs, Veeam, या CMS मीडिया प्लगइन्स — यहाँ निर्बाध रूप से काम करता है। अंतर डेटा के स्थान में है: साम्राज्य के भीतर, जो PDPL डेटा-रेज़िडेंसी आवश्यकताओं का समर्थन करता है और आपके टाइमज़ोन के दौरान अरबी-भाषा समर्थन प्रदान करता है।

ऑब्जेक्ट स्टोरेज का उपयोग कब करें (और कब नहीं)

ऑब्जेक्ट स्टोरेज का उपयोग करें इसके लिए ब्लॉक/डिस्क स्टोरेज का उपयोग करें इसके लिए
बैकअप, आर्काइव, स्नैपशॉट कम-लेटेंसी रैंडम I/O वाले डेटाबेस
स्टैटिक एसेट्स: इमेज, वीडियो, PDF ऑपरेटिंग सिस्टम / बूट वॉल्यूम
वेब/मोबाइल ऐप्स में यूज़र अपलोड ऐसे ऐप्स जो mmap करते हैं या POSIX फ़ाइलसिस्टम चाहते हैं
डेटा लेक, लॉग, बड़े अनस्ट्रक्चर्ड सेट ऐसा सॉफ़्टवेयर जो माउंटेड ड्राइव की अपेक्षा करता है

ऑब्जेक्ट स्टोरेज स्थायित्व और किफ़ायती प्रति-गीगाबाइट मूल्य निर्धारण के साथ अरबों ऑब्जेक्ट्स का प्रबंधन करता है, जो URL के माध्यम से एक्सेस किया जा सकता है — लेकिन यह एक फ़ाइलसिस्टम नहीं है। आप इसमें cd नहीं कर सकते और न ही इससे कोई डेटाबेस चला सकते हैं।

चरण 1: एक बकेट बनाएं

Skyline Cloud साइनअप के बाद, कंसोल के Object Storage अनुभाग पर जाएँ और एक बकेट स्थापित करें।

प्रारंभिक दिशानिर्देश:

  • बकेट के नाम एंडपॉइंट पर विश्व-स्तर पर अद्वितीय रहते हैं और इन्हें DNS मानकों का पालन करना चाहिए: केवल लोअरकेस अक्षर, अंक और हाइफ़न; 3–63 अक्षरों के बीच; अंडरस्कोर और कैपिटल अक्षरों को छोड़कर। उदाहरण: acme-app-uploads
  • डिफ़ॉल्ट रूप से Private एक्सेस सेट करें। ऑब्जेक्ट्स को सार्वजनिक केवल तभी निर्दिष्ट करें जब आप उन्हें सीधे वेब पर सर्व कर रहे हों (जैसे CDN के पीछे एक सार्वजनिक इमेज बकेट)।
  • बकेट विवरण से अपना endpoint URL और region रिकॉर्ड करें — दोनों CLI ऑपरेशनों के लिए अनिवार्य हैं।

चरण 2: एक्सेस कीज़ जनरेट करें

S3 पारंपरिक क्रेडेंशियल्स के बजाय एक की-पेयर प्रमाणीकरण विधि अपनाता है:

  • Access Key ID — अर्ध-सार्वजनिक पहचानकर्ता।
  • Secret Access Keyकेवल एक बार प्रदर्शित होती है। तुरंत निकालें और किसी पासवर्ड मैनेजर या सीक्रेट्स सिस्टम में संग्रहित करें।

कंसोल के Access Keys अनुभाग के माध्यम से जोड़ी बनाएं। प्रत्येक एप्लिकेशन या एनवायरनमेंट (स्टेजिंग बनाम प्रोडक्शन) के लिए अलग-अलग कीज़ जनरेट करके न्यूनतम-विशेषाधिकार (least privilege) का अभ्यास करें, जिससे दूसरों को प्रभावित किए बिना स्वतंत्र रूप से रद्द (revocation) करना संभव हो। कीज़ को Git रिपॉज़िटरीज़ में संग्रहित करने या क्लाइंट-साइड कोड में एम्बेड करने से बचें।

चरण 3: AWS CLI कॉन्फ़िगर करें

AWS CLI सबसे तेज़ सत्यापन विधि का प्रतिनिधित्व करता है। वैध AWS कॉन्फ़िगरेशन के साथ टकराव रोकने के लिए एक नामित प्रोफ़ाइल सेट अप करें:

# Install (Linux/macOS)
pip install awscli   # or: brew install awscli

aws configure --profile skyline
# AWS Access Key ID     [None]: <YOUR_ACCESS_KEY_ID>
# AWS Secret Access Key [None]: <YOUR_SECRET_ACCESS_KEY>
# Default region name   [None]: <YOUR_REGION>
# Default output format [None]: json

प्रत्येक कमांड --endpoint-url और प्रोफ़ाइल के साथ आपके Skyline एंडपॉइंट को लक्षित करता है:

# List your buckets
aws s3 ls --profile skyline \
  --endpoint-url https://<YOUR_ENDPOINT>

# List objects in one bucket
aws s3 ls s3://acme-app-uploads --profile skyline \
  --endpoint-url https://<YOUR_ENDPOINT>

सुझाव: AWS_PROFILE=skyline एक्सपोर्ट करें और इन फ़्लैग्स को हटाने के लिए अपने शेल में एंडपॉइंट कॉन्फ़िगर करें। बकेट विवरण से प्राप्त मानों का उपयोग करके <YOUR_ENDPOINT> और <YOUR_REGION> को प्रतिस्थापित करें।

चरण 4: अपलोड, डाउनलोड और सिंक करें

EP="--endpoint-url https://<YOUR_ENDPOINT> --profile skyline"

# Upload one file
aws s3 cp ./logo.png s3://acme-app-uploads/logo.png $EP

# Download it back
aws s3 cp s3://acme-app-uploads/logo.png ./logo-copy.png $EP

# Sync a whole local directory to a bucket prefix
aws s3 sync ./public/assets s3://acme-app-uploads/assets $EP

# Delete an object
aws s3 rm s3://acme-app-uploads/old.zip $EP

aws s3 sync केवल संशोधित फ़ाइलों को ट्रांसफ़र करता है, जो इसे क्रमिक बैकअप और डिप्लॉयमेंट वर्कफ़्लो के लिए एकदम उपयुक्त बनाता है।

s3cmd पसंद है?

s3cmd --configure   # set host_base / host_bucket to <YOUR_ENDPOINT>
s3cmd put ./report.pdf s3://acme-app-uploads/report.pdf
s3cmd ls s3://acme-app-uploads

चरण 5: प्रीसाइन्ड URL के साथ एक फ़ाइल साझा करें

संपूर्ण बकेट को सार्वजनिक किए बिना किसी निजी ऑब्जेक्ट तक अस्थायी, समय-सीमित एक्सेस प्रदान करें — एक प्रीसाइन्ड URL बनाकर:

aws s3 presign s3://acme-app-uploads/report.pdf \
  --expires-in 3600 \
  --endpoint-url https://<YOUR_ENDPOINT> --profile skyline

यह कनेक्शन समाप्त होने से पहले एक घंटे तक काम करता है। यह तरीका इनवॉइस प्राप्ति, एक-बार-डिलीवरी URLs और यूज़र-विशिष्ट संसाधनों के लिए उपयुक्त है — बकेट को सार्वजनिक दृश्यता में बदलने की तुलना में काफ़ी अधिक सुरक्षित है।

चरण 6: इसे अपने ऐप में जोड़ें

अपने एप्लिकेशन के S3 SDK को AWS के बजाय Skyline एंडपॉइंट की ओर लक्षित करें। Laravel के भीतर, config/filesystems.php में s3 डिस्क कॉन्फ़िगर करें:

's3' => [
    'driver'   => 's3',
    'key'      => env('AWS_ACCESS_KEY_ID'),
    'secret'   => env('AWS_SECRET_ACCESS_KEY'),
    'region'   => env('AWS_DEFAULT_REGION'),
    'bucket'   => env('AWS_BUCKET'),
    'endpoint' => env('AWS_ENDPOINT'), // https://<YOUR_ENDPOINT>
    'use_path_style_endpoint' => true,
],

use_path_style_endpoint (या AWS SDK for JavaScript में समतुल्य forcePathStyle) को true पर सेट करना यह सुनिश्चित करता है कि ऑपरेशन वर्चुअल-होस्टेड सबडोमेन के बजाय endpoint/bucket/key प्रारूप का उपयोग करें। इसके बाद, Storage::disk('s3')->put(...) सीधे आपके साम्राज्य-के-भीतर वाले बकेट में डेटा जमा करता है।

अच्छी प्रथाएँ

  • Lifecycle rules — पुराने होते ऑब्जेक्ट्स (लॉगिंग, अस्थायी अपलोड) को यांत्रिक रूप से एक्सपायर करें या डाउनग्रेड करें, जिससे खर्च कम हो।
  • Versioning — अपूरणीय जानकारी वाले बकेट्स के लिए इसे बनाए रखें ताकि अनपेक्षित ओवरराइट से रिकवरी संभव हो सके।
  • Server-side encryption — PDPL अधिदेशों के अनुसार किसी भी संवेदनशील चीज़ को निष्क्रिय अवस्था में एन्क्रिप्ट करें।
  • Scoped keys — प्रति सेवा एक की असाइन करें; नियमित रोटेशन और रिवोकेशन करें।

ऑब्जेक्ट स्टोरेज आपके संपूर्ण इन्फ़्रास्ट्रक्चर के साथ स्वाभाविक रूप से एकीकृत होता है: Skyline cloud hosting पर आपकी साइट को सपोर्ट करने वाले किसी बकेट से संसाधन वितरित करें, और business email तथा डेटाबेस आर्काइव को एक पृथक, वर्शन्ड बकेट में सुरक्षित रखें। साम्राज्य के भीतर ऑब्जेक्ट स्टोरेज की व्यापक जानकारी के लिए, हमारे object storage resource hub का संदर्भ लें।

मिनटों में शुरू करें

एक S3-कम्पैटिबल बकेट बनाएं जो डेटा को सऊदी अरब के भीतर बनाए रखे, जिसमें स्पष्ट मूल्य निर्धारण और क्षेत्रीय अरबी सहायता शामिल हो। अपना निःशुल्क Skyline Cloud खाता स्थापित करें और तुरंत अपना पहला बकेट आरंभ करें।

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.