गोलंग के माध्यम से S3 पर फ़ाइलें अपलोड करना जब AWS पर फ़ाइलों को प्रबंधित करने की बात आती है तो यह सबसे आम ऑपरेशनों में से एक है। यह कार्यक्षमता डेवलपर्स को दस्तावेज़, चित्र, वीडियो और अन्य प्रकार की फ़ाइलों को सुरक्षित और स्केलेबल तरीके से क्लाउड स्टोरेज में अपलोड करने की अनुमति देती है। इस लेख में, हम यह पता लगाएंगे कि Go भाषा और AWS S3 API का उपयोग करके इस एकीकरण को कैसे किया जाए। इसके बाद, आप अपने परिवेश को कॉन्फ़िगर करने और सफलतापूर्वक अपलोड करने के मुख्य चरणों को समझेंगे।
फ़ाइलें अपलोड करना शुरू करने से पहले, आपको अपने विकास परिवेश को कॉन्फ़िगर करना होगा। सुनिश्चित करें कि आपके पास:
गो के लिए एडब्ल्यूएस एसडीके स्थापित करने के लिए, बस निम्नलिखित कमांड चलाएँ:
go get -u github.com/aws/aws-sdk-go/aws
अब जब SDK इंस्टॉल हो गया है, तो आप AWS S3 एकीकरण कोड लिखना शुरू करने के लिए तैयार हैं।
देखें कि इस कार्य को स्वचालित करने के लिए लैम्ब्डा का उपयोग करके एस3 का जीवनचक्र कैसे करें: https://devopsmind.com.br/aws-pt-br/automacao-aws-s3-lifecycle-lambda/
S3 पर अपलोड किया जा रहा है
AWS S3 क्लाइंट को कॉन्फ़िगर करना
अपलोड करने का पहला चरण AWS S3 क्लाइंट को कॉन्फ़िगर करना है। यह क्लाइंट आपको AWS सेवा के साथ इंटरैक्ट करने और अपनी बकेट और ऑब्जेक्ट प्रबंधित करने की अनुमति देता है। निम्नलिखित कोड दिखाता है कि आपके क्रेडेंशियल्स का उपयोग करके क्लाइंट को कैसे कॉन्फ़िगर किया जाए:
import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" ) func createS3Client() *s3.S3 { sess := session.Must(session.NewSession(&aws.Config{ Region: aws.String("us-west-2"), })) return s3.New(sess) }
इस कोड में, हम एक AWS सत्र बनाते हैं और S3 क्लाइंट को कॉन्फ़िगर करते हैं। उस क्षेत्र को उस स्थान से बदलना न भूलें जहां आपका S3 बकेट कॉन्फ़िगर किया गया है।
अपलोड फ़ंक्शन बनाना
AWS S3 क्लाइंट को कॉन्फ़िगर करने के बाद, हम फ़ाइलें अपलोड करने के लिए जिम्मेदार फ़ंक्शन बनाएंगे। यह फ़ंक्शन स्थानीय सिस्टम से फ़ाइल को पढ़ेगा और इसे एक विशिष्ट बकेट के भीतर S3 पर भेजेगा:
import ( "fmt" "os" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" ) func uploadFileToS3(bucketName, filePath, key string) error { file, err := os.Open(filePath) if err != nil { return err } defer file.Close() sess := session.Must(session.NewSession(&aws.Config{ Region: aws.String("us-west-2"), })) uploader := s3.New(sess) _, err = uploader.PutObject(&s3.PutObjectInput{ Bucket: aws.String(bucketName), Key: aws.String(key), Body: file, }) if err != nil { return fmt.Errorf("falha no upload para o S3: %v", err) } fmt.Println("Upload realizado com sucesso!") return nil }
यहां, uploadFileToS3 फ़ंक्शन को तीन पैरामीटर प्राप्त होते हैं: बकेट नाम, स्थानीय फ़ाइल पथ और कुंजी (नाम) जो फ़ाइल में S3 में होगी। फ़ंक्शन फ़ाइल खोलता है और गो पुटऑब्जेक्ट फ़ंक्शन के लिए AWS S3 SDK का उपयोग करके इसे बकेट में भेजता है।
अनुमतियों से निपटना
AWS S3 पर अपलोड के साथ काम करते समय, यह सुनिश्चित करना महत्वपूर्ण है कि आपकी अनुमतियाँ सही ढंग से कॉन्फ़िगर की गई हैं। AWS अपने संसाधनों तक पहुंच अनुमतियों को प्रबंधित करने के लिए IAM (पहचान और पहुंच प्रबंधन) नीति प्रणाली का उपयोग करता है। सुनिश्चित करें कि कोड में उपयोग किए जा रहे IAM उपयोगकर्ता या भूमिका के पास S3 पर अपलोड संचालन करने के लिए पर्याप्त अनुमतियाँ हैं। IAM अनुमतियों पर अधिक विवरण के लिए, आधिकारिक AWS दस्तावेज़ देखें।
व्यावहारिक उपयोग के उदाहरण
S3 बकेट में छवियाँ भेजना
मान लीजिए कि आप एक ऐसी सेवा बनाना चाहते हैं जहां उपयोगकर्ता छवियां अपलोड कर सकें और उन्हें S3 बकेट में संग्रहीत कर सकें। कोड निम्नलिखित जैसा दिखेगा:
func main() { err := uploadFileToS3("meu-bucket", "caminho/para/imagem.png", "imagem.png") if err != nil { fmt.Println("Erro ao fazer upload:", err) return } fmt.Println("Upload concluído com sucesso!") }
इस उदाहरण में, छवि imagem.png को माय-बकेट बकेट पर अपलोड किया जाएगा। फ़ाइल का पथ और S3 पर उसका नाम uploadFileToS3 के पैरामीटर द्वारा परिभाषित किया गया है।
फ़ंक्शननिष्कर्ष
जब आप सही टूल का उपयोग करते हैं तो गोलांग के साथ AWS S3 में फ़ाइलें अपलोड करना एक सरल कार्य है। गो के लिए AWS SDK के साथ, आप एक मजबूत और स्केलेबल फ़ाइल भंडारण समाधान प्रदान करते हुए, अपने एप्लिकेशन को S3 सेवा के साथ आसानी से एकीकृत कर सकते हैं। अब जब आपने मूल बातें सीख ली हैं, तो आप अन्य कार्यक्षमताओं को शामिल करने के लिए अपने कार्यान्वयन का विस्तार कर सकते हैं, जैसे फ़ाइलें डाउनलोड करना, बकेट में वस्तुओं को सूचीबद्ध करना, और बहुत कुछ। गोलांग का उपयोग करके AWS के साथ अधिक एकीकरण संभावनाओं की खोज जारी रखें और गोलांग और AWS S3 के बारे में अधिक सामग्री देखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3