मॉड्यूलर घटकों की पेशकश करने के लिए मेडुसा सबसे अच्छे टूल में से एक होने के साथ हेडलेस कॉमर्स लंबे समय से उपलब्ध है। मेडुसा की रचना योग्य वास्तुकला आपको अपनी पसंद की किसी भी रूपरेखा या भाषा के साथ एक स्टोर बनाने की अनुमति देती है, इसलिए एक पूर्ण अनुकूलन क्षमता प्रदान करती है। मेडुसा समान रूप से आपको उपकरणों का एक सेट प्रदान करके एक अद्वितीय ईकॉमर्स अनुभव बनाने की अनुमति देता है और आवश्यक बिल्डिंग ब्लॉक डेवलपर्स एक शक्तिशाली ईकॉमर्स वेबसाइट बनाने के लिए जोड़ सकते हैं। यह ग्राहक, उत्पाद, शिपिंग, टैक्स और क्षेत्र प्रबंधन और आरएमए फ्लो जैसी आउट-ऑफ-द-बॉक्स सुविधाएँ प्रदान करता है। आज के ट्यूटोरियल में, आप सीखेंगे कि एडमिन डैशबोर्ड के माध्यम से अपने मेडुसा स्टोर में उत्पादों को जोड़ने में सक्षम होने के लिए फाइल सर्विस प्लगइन कैसे जोड़ा जाए।
मेडुसा क्या है
मेडुसा टूल का एक ओपन-सोर्स सेट है जो आपको अद्भुत और विश्वसनीय ई-कॉमर्स वेबसाइट बनाने की अनुमति देता है। GitHub पर 17.8k से अधिक सितारों और 1.3k फोर्क्स के साथ, यह हेडलेस वाणिज्य समाधान बुनियादी से उन्नत तक मुट्ठी भर वाणिज्य मॉड्यूल के साथ आता है और स्वतंत्र रूप से उपलब्ध है। इसका अच्छी तरह से लिखा गया प्रलेखन भी इसकी सफलता में योगदान देता है क्योंकि मॉड्यूल या प्लगइन्स को कैसे जोड़ा जाए, इस पर चरण-दर-चरण दिशानिर्देश हैं। भुगतान, सूचनाएं, खोज और फ़ाइल सेवा प्लगइन्स अन्य के बीच कुछ लोकप्रिय प्लगइन्स हैं।
फ़ाइल सेवा प्लगइन क्या है
एक फ़ाइल सेवा प्लगइन आपको मेडुसा में उपयोग की जाने वाली छवियों जैसी फ़ाइलों को होस्ट करने की अनुमति देता है। यदि आप अपने मेडुसा स्टोर के लिए ठीक से फ़ाइल सेवा का उपयोग या सेट अप नहीं करते हैं तो आपको समस्याओं का सामना करना पड़ सकता है। मेडुसा फाइल स्टोरेज को प्रबंधित करने के लिए तीन अलग-अलग तरीकों की पेशकश करता है; S3, मिनियो और स्पेस । यह ट्यूटोरियल मेडुसा में अपलोड की गई छवियों और फ़ाइलों को संग्रहीत करने के लिए केवल S3 फ़ाइल संग्रहण पर केंद्रित है।
S3 या सिंपल स्टोरेज सर्विस एक ऑब्जेक्ट स्टोरेज है जिसका उपयोग किसी भी तरह से और किसी भी समय किसी भी डेटा को स्टोर और पुनर्प्राप्त करने के लिए किया जाता है। इस प्रदर्शन के लिए हम Amazon S3 का उपयोग करेंगे।
अपने मेडुसा स्टोर में फ़ाइलें कैसे अपलोड करें
अमेज़ॅन डेटा को एक बकेट के भीतर ऑब्जेक्ट के रूप में रखता है। एक वस्तु में एक फ़ाइल और वैकल्पिक डेटा होता है जो इसका वर्णन करता है। किसी फ़ाइल को संग्रहीत करने के लिए, आपको इसे बकेट में अपलोड करना होगा (बकेट ऑब्जेक्ट के लिए कंटेनर होते हैं), एक बार अपलोड हो जाने पर, आप ऑब्जेक्ट पर अनुमतियाँ सेट कर सकते हैं।
अब आइए आपको अपने मेडुसा प्रोजेक्ट में जल्दी से फाइल अपलोड करने के लिए प्रेरित करते हैं।
आवश्यक शर्तें
- एक मेडुसा स्टोर । एक मेडुसा परियोजना मूल रूप से तीन घटकों में विभाजित होती है; एक स्टोरफ्रंट, एक एडमिन डैशबोर्ड और एक मेडुसा बैकएंड
- एक एडब्ल्यूएस खाता
यदि आपके पास सब कुछ सेट अप है तो अपने मेडुसा स्टोर में फ़ाइल सेवा प्लगइन जोड़ने के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1: एक S3 बकेट बनाएँ
अपने AWS खाते में लॉगिन करें, खोजें और S3 चुनें
अगले पेज में क्रिएट बकेट पर क्लिक करें
खुलने वाली विंडो में, अपनी बकेट बनाने के लिए आवश्यक जानकारी प्रदान करें।
सामान्य विन्यास
अपनी बकेट को एक नाम दें और डिफ़ॉल्ट क्षेत्र छोड़ दें या अपनी आवश्यकताओं के अनुसार कोई दूसरा चुनें।
वस्तु स्वामित्व
स्वामित्व के लिए, बकेट में मौजूद वस्तुओं को अपने खाते के स्वामित्व में रहने दें।
ब्लॉक पब्लिक एक्सेस सेटिंग्स में, सभी पब्लिक एक्सेस को ब्लॉक करें को अनचेक करें। ऐसा करने से एक चेतावनी संदेश दिखाई देगा, संदेश में छवि के रूप में बॉक्स को चेक करें।
बकेट वर्जनिंग, टैग्स, डिफॉल्ट एन्क्रिप्शन और उन्नत सेटिंग्स के लिए, डिफॉल्ट सेटिंग्स को छोड़ दें या उन्हें अपनी प्रोजेक्ट आवश्यकताओं के अनुसार बदलें और क्रिएट बकेट पर क्लिक करें।
चरण 2: नीतियां प्रबंधित करें
अगले चरण में आपकी बनाई गई बकेट नीतियों का प्रबंधन शामिल है। अपने बकेट के पृष्ठ पर जाएं और अनुमति टैब खोलें। फिर बकेट पॉलिसी सेक्शन तक नीचे स्क्रॉल करें, एडिट पर क्लिक करें, नीचे कोड जोड़ें और सेव करें।
{ "Version": "2012-10-17", "Id": "Policy1397632521960", "Statement": [ { "Sid": "Stmt1397633323327", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<YOUR_BUCKET_NAME>/*" } ] }
<YOUR_BUCKET_NAME>
अपनी बकेट के नाम से बदलें। यहाँ यह medusastorebucket
है
चरण 3: एक नीति संलग्न करें
अपने खाते में IAM पर नेविगेट करें और एक्सेस मैनेजमेंट-> बाएं मेनू में नीतियां चुनें।
यदि आप पहली बार कोई नीति चुन रहे हैं, तो आपको नीतियों के प्रबंधन में स्वागत है पेज दिखाई देगा और आरंभ करें चुनें अन्यथा नीति बनाएं चुनें।
फिर JSON टैब चुनें और निम्न कोड जोड़ें:
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] }, { "Effect" : "Allow", "Action" : [ "action-statement" ], "Resource" : [ "resource-statement" ] } ] }
अपनी आवश्यकता के अनुसार action-statement
और resource-statement
बदलें और Next:tag
पर क्लिक करें
नीतियों और अनुमतियों के बारे में और जानें
टैग वैकल्पिक हैं इसलिए आप इस चरण को छोड़ सकते हैं और अपनी नीति की समीक्षा करने के लिए समीक्षा बटन पर क्लिक कर सकते हैं।
अगला, अपनी नीति के लिए एक नाम और विवरण प्रदान करें और फिर नीति बनाएं पर क्लिक करें
अब जब आपने अपनी नीति बना ली है, तो आपको इसे उपयोगकर्ता समूह से जोड़ना होगा, अमेज़ॅन कंसोल पर नेविगेट करना होगा और उपयोगकर्ता समूह चुनना होगा। समूह का नाम चुनें और फिर अनुमति टैब खोलें
अनुमति जोड़ें चुनें और फिर नीतियां संलग्न करें
खुलने वाली विंडो में, उस नीति का चयन करें जिसे आप संलग्न करना चाहते हैं और पृष्ठ के निचले भाग में अनुमति जोड़ें पर क्लिक करें।
चरण 4: अपनी एक्सेस कुंजी प्राप्त करें
S3 प्लगइन को अपने प्रोजेक्ट में एकीकृत करने के लिए आपको अपनी एक्सेस कुंजी प्राप्त करने की आवश्यकता है। आपको दो तत्वों की आवश्यकता होगी; Access Key ID
और Secret Access Key
।
अपनी एडब्ल्यूएस एक्सेस कुंजी आईडी और गुप्त एक्सेस कुंजी प्राप्त करने के लिए, बाएं नेविगेशन पर अपने अमेज़ॅन कंसोल पर जाएं और उपयोगकर्ता चुनें।
अपना IAM उपयोगकर्ता नाम चुनें और सुरक्षा क्रेडेंशियल टैब खोलें
एक्सेस कीज़ तक नीचे स्क्रॉल करें और क्रिएट एक्सेस की पर क्लिक करें
अगली विंडो में, आपको यह चुनने के लिए कहा जाएगा कि आप एक्सेस कुंजी का उपयोग कहाँ करना चाहते हैं। यदि आप स्थानीय देव वातावरण में काम कर रहे हैं तो स्थानीय कोड की जाँच करें।
स्थानीय चुनने पर एक चेतावनी संदेश दिखाई देगा जो आपसे पूछेगा कि क्या आप अनुशंसा को समझते हैं। बॉक्स को चेक करें और अगले बटन पर क्लिक करें।
अंत में, एक टैग विवरण जोड़ें यदि आप एक जोड़ना चाहते हैं और क्रिएट एक्सेस कुंजी पर क्लिक करें
अगली विंडो में, आप अपनी एक्सेस और सीक्रेट एक्सेस कुंजी देखेंगे। कृपया इसे अपने पीसी पर कहीं कॉपी और पेस्ट करें क्योंकि आप इसे अगले चरण में उपयोग करेंगे या CSV फ़ाइल डाउनलोड करेंगे।
चरण 5: S3 प्लगइन स्थापित करें
अब जब आपने अपनी बकेट सेट कर ली है और अपनी एक्सेस कुंजियाँ बना ली हैं, तो यह S3 प्लगइन स्थापित करने का समय है। ऐसा करने के लिए अपने मेडुसा बैकएंड फ़ोल्डर में जाएं और इसे निम्न आदेश से इंस्टॉल करें:
yarn add medusa-file-s3
या
npm install medusa-file-s3
फिर अपनी .env
फ़ाइल खोलें और निम्न जोड़ें
S3_URL=<YOUR_BUCKET_URL> S3_BUCKET=<YOUR_BUCKET_NAME> S3_REGION=<YOUR_BUCKET_REGION> S3_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID> S3_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY>
कहाँ
-
<YOUR_BUCKET_URL>
आपके बकेट का URL है। यहhttps://<BUCKET_NAME>.s3.<REGION>.amazonaws.com
रूप में है। जहाँ<BUCKET_NAME>
आपकी बकेट का नाम है,<REGION>
क्षेत्र। -
<YOUR_BUCKET_NAME>
बनाई गई बकेट का नाम है -
<YOUR_BUCKET_REGION>
आपकी बकेट का क्षेत्र - <YOUR_ACCESS_KEY_ID> आपकी एक्सेस कुंजी है
-
<YOUR_SECRET_ACCESS_KEY>
आपकी गुप्त कुंजी है
अंत में अपने medusa-config.js
में निम्न कोड जोड़ें:
const plugins = [ // ... { resolve: `medusa-file-s3`, options: { s3_url: process.env.S3_URL, bucket: process.env.S3_BUCKET, region: process.env.S3_REGION, access_key_id: process.env.S3_ACCESS_KEY_ID, secret_access_key: process.env.S3_SECRET_ACCESS_KEY, }, }, ]
ध्यान दें कि यदि आपके पास कई स्टोरेज प्लगइन्स कॉन्फ़िगर किए गए हैं, तो घोषित अंतिम प्लगइन का उपयोग किया जाएगा। इसलिए यदि आप चाहते हैं कि S3 का उपयोग किया जाए तो सुनिश्चित करें कि यह अंतिम स्टोरेज प्लगइन जोड़ा गया है।
चरण 6: प्लगइन का परीक्षण
अब जब आपने सफलतापूर्वक अपना प्लगइन जोड़ लिया है। यह सुनिश्चित करने के लिए परीक्षण करने का समय है कि सब कुछ सही जगह पर है। आप परीक्षण करने के लिए REST API या मेडुसा व्यवस्थापक का उपयोग कर सकते हैं।
क्रमशः अपने व्यवस्थापक और बैकएंड फ़ोल्डरों पर नेविगेट करें और निम्न कमांड चलाएँ:
// admin yarn run start
// backend yarn run start
डिफ़ॉल्ट व्यवस्थापक ईमेल और पासवर्ड क्रमशः [email protected]
और supersecret
हैं। http://localhost:7000/
के साथ अपना एडमिन पैनल खोलें
मेनू में उत्पाद पर क्लिक करें और फिर उत्पाद जोड़ें पर क्लिक करें। अपने उत्पाद के लिए विवरण प्रदान करें और इसे प्रकाशित करें।
अंत में, यदि आप NextJS स्टोरफ्रंट का उपयोग कर रहे हैं तो आपको अपने स्टोरफ्रंट में एक कॉन्फ़िगरेशन जोड़ने की आवश्यकता है जो कॉन्फ़िगर की गई छवियों के डोमेन नामों में S3 बकेट डोमेन नाम जोड़ता है। यदि आप ऐसा नहीं करते हैं तो आपको निम्न त्रुटि अगली/छवि अन-कॉन्फ़िगर होस्ट प्राप्त होगी।
तो अपने next.config.js
में निम्न जोड़ें:
const { withStoreConfig } = require("./store-config")
// ...module.exports = withStoreConfig({ // ... images: { domains: [ // ... "<BUCKET_NAME>.s3.amazonaws.com", ], }, })
<BUCKET_NAME>
आपकी बकेट के नाम का प्रतिनिधित्व करता है।
अपने स्टोरफ्रंट को yarn run dev
के साथ चलाएं ताकि यह जांचा जा सके कि आपके द्वारा जोड़े गए नए उत्पाद वहां हैं या नहीं और अपने प्रोजेक्ट के अगले चरण पर जाएं।
निष्कर्ष
यह इस ट्यूटोरियल के अंत को चिन्हित करता है, उम्मीद है, आप अपने मेडुसा स्टोर में फ़ाइल सेवा प्लगइन जोड़ने में सक्षम थे। टूल का सर्वोत्तम लाभ उठाने के लिए, भुगतान सेवाओं, खोज और सूचना सेवाओं को जोड़ने पर विचार करें।