मैं मिल गया है एक एक्सप्रेस सेवा है कि लिखने के लिए कोशिश कर के लिए एक वस्तु एक s3 बाल्टी लेकिन मैं कर रहा हूँ निम्न त्रुटि:
लापता साख में config
मैं मान रहा हूँ मेरे एडब्ल्यूएस भूमिका स्थानीय स्तर पर सेट जो मेरी साख में .aws/credentials
फिर में मेरे Dockerfile मैं कर रहा हूँ उन्हें नकल में कंटेनर.
RUN mkdir "/home/node/.aws" && touch "/home/node/.aws/config" && touch "/home/node/.aws/credentials"
RUN echo "${AWS_CREDENTIALS}" > "/home/node/.aws/credentials"
दस्तावेज कहते हैं:
एसडीके स्वचालित रूप से पता लगाता है एडब्ल्यूएस साख के रूप में सेट चर में अपने पर्यावरण और उन्हें का उपयोग करता है के लिए एसडीके अनुरोध को नष्ट करने की जरूरत है प्रबंधन साख में अपने आवेदन. पर्यावरण चर है कि आप सेट करने के लिए अपने क्रेडेंशियल्स प्रदान कर रहे हैं:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN (वैकल्पिक)
तो मैं करने की जरूरत नहीं है मैन्युअल रूप से प्रबंधित अपने क्रेडेंशियल्स का उपयोग करते समय एसडीके?
वर्तमान में कोड के लेखन के लिए के लिए s3 बाल्टी:
import s3 from 'aws-sdk/clients/s3';
const s3Client = new s3({region: process.env['region']});
async upload() {
const params = {
Bucket: process.env['bucket'],
Key: 'test.json',
Body: somejsonfile
}
const res = s3Client.upload(params).promise();
return results;
}