عبد النور محمد نشر 4 أكتوبر 2021 أرسل تقرير نشر 4 أكتوبر 2021 أحتاج إلى تحميل بعض الملفات إلى S3 من تطبيق NextJs. فتعيين متغيرات البيئة يجب أن يعمل ولكنه لا يعمل عند تعيين accessKeyID و secretKey. next.config.js module.exports = { env: { AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID }, serverRuntimeConfig: { AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY } } config/index.js export default { awsClientID: process.env. AWS_ACCESS_KEY_ID, awsClientSecret: process.env.AWS_SECRET_ACCESS_KEY } import AWS from 'aws-sdk' import config from '../config' AWS.config.update({ accessKeyId: config.awsClientID, secretAccessKey: config.awsClientSecret, }); const S3 = new AWS.S3() const params = { Bucket: "bucketName", Key: "some key", Body: fileObject, ContentType: fileObject.type, ACL: 'public-read' } await S3.upload(params).promise() كتابة بيانات الاعتماد مباشرة فوق تعمل دون مشاكل 1 اقتباس
0 Wael Aljamal نشر 4 أكتوبر 2021 أرسل تقرير نشر 4 أكتوبر 2021 لكي تجعل المفتاح AWS_ACCESS_KEY_ID قبل للقراءة زمن التشغيل أي runtime variable يجب تعديل الضبط لديك لأنه الآن يعمل وفق build time variable وذلك بإضافة الإعدادات ل serverRuntimeConfig // سوف نستبدل هذه env: { AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID }, // بهذه module.exports = { serverRuntimeConfig: { AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID } } وتأكد من ضبط aws.config.update حيث أن هيكليته لديك غير مطابقة للتوثيق const aws = require('aws-sdk') aws.config.update({ 'credentials': { 'accessKeyId': process.env.AWS_ACCESS_KEY_ID_MYAPP, 'secretAccessKey': process.env.AWS_SECRET_ACCESS_KEY_MYAPP }, 'region': process.env.AWS_REGION_MYAPP, 'bucketname': process.env.AWS_BUCKET_NAME // (...) }) // New S3 class const s3 = new aws.S3() module.exports = (req, res) => { // (...) } توثيق: AWS SDK Environment Variables اقتباس
السؤال
عبد النور محمد
أحتاج إلى تحميل بعض الملفات إلى S3 من تطبيق NextJs. فتعيين متغيرات البيئة يجب أن يعمل ولكنه لا يعمل عند تعيين accessKeyID و secretKey.
next.config.js
config/index.js
كتابة بيانات الاعتماد مباشرة فوق تعمل دون مشاكل
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.