تمرير بيانات الاعتماد من المتغيرات إلى AWS SDK الإصدار 2
يردد هذا الاستفسار سؤالًا سابقًا يتعلق باستخدام AWS SDK مع بيانات الاعتماد من المتغيرات. ومع ذلك، في هذه الحالة، يتم استخدام الإصدار 2 من SDK، مما يلغي ميزة الجلسة.
لإنشاء عميل جديد ببيانات اعتماد تم الحصول عليها من المتغيرات للوصول إلى خدمة IAM، خذ في الاعتبار الوظيفة التالية:
func getIAMClient(ctx context.Context) (*iam.Client, error) {
cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region"))
if err != nil {
return nil, errors.Wrap(err)
}
cfg.HTTPClient, err = getHTTPClient(ctx)
if err != nil {
return nil, err
}
return iam.NewFromConfig(cfg), nil
}
نظرًا لأنه قد يستخدم العديد من المستخدمين التطبيق في وقت واحد، فإن استخدام ملفات ENV غير عملي. ومع ذلك، قد لا تكون الوثائق التي تشرح كيفية تمرير بيانات الاعتماد هذه إلى العميل متاحة بسهولة.
الحل: موفر بيانات الاعتماد الثابتة
لحل هذه المشكلة، يمكن أن يكون StaticCredentialsProvider المستخدمة، كما هو موضح في قسم "بيانات الاعتماد الثابتة" في AWS SDK for Go V2 الوثائق:
cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))
من خلال دمج هذا التعديل، قد يتم تمرير بيانات الاعتماد من المتغيرات إلى SDK، مما يتيح استرجاع واستخدام خدمات IAM.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3