หายไปบัตรอยู่ใน config ตอนที่พยายามรวบรวมวัตถุต้อง s3 ถั

0

คำถาม

ผมมีการแสดงบริการที่กำลังพยายามเขียนเป็นวัตถุต้องการ s3 ถัแต่ฉันกำลังต่อไปนี้เกิดข้อผิดพลาด:

หายไปบัตรอยู่ใน config

ฉันคิดว่าฉัน AWS บทบาทในท้องถิ่นซึ่งตั้งค่าบัตรผมอยู่ .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"

เอกสารที่บอก:

ที่ SDK โดยอัตโนมัติ detects AWS บัตรตั้งเป็นตัวแปรในของคุณ สภาพแวดล้อมและใช้มันเพื่อ SDK ร้องขอ,อการกำจัดต้อง จัดการบัตรอยู่ในโปรแกรมของคุณ. คนตัวแปรสภาพแวดล้อมนั่น นายจัดฉากเพื่อให้บัตรของคุณคือ:

AWS_ACCESS_KEY_ID

AWS_SECRET_ACCESS_KEY

AWS_SESSION_TOKEN(เลือกเพิ่ม)

ดังนั้นฉันไม่ต้องด้วยตนเองจัดการบัตรผมเมื่อใช้ sdk?

ปัจจุบันรหัสสำหรับการเขียนไปยัง 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;
}
1

คำตอบที่ดีที่สุด

0

คือ โหนด ที่ถูกต้องของผู้ใช้ที่เรียกประมวลผลดรหัสนี้?

คือแฟ้ม /home/node/.aws/credentials ดูเหมือนบางอย่างเหมือนว่า:

[default]
aws_access_key_id = <AAK>
aws_secret_access_key = <ASK>

ต้องการดีบั๊ก,คุณสามารถลองพยายามต่อไปนี้: คุณสามารถลองเพิ่มของคุณ AWS บัตรโดยตรงเข้ารหัสแบบนั้น:

AWS.config.update({
    accessKeyId: "<AAK>",
    secretAccessKey: "<ASK>",
    "region": "<REGION>"
});

อีกทางเลือก,คุณสามารถลองแบบอักษรเพื่อทำการลบ /home/node/.aws/credentials แฟ้มแล้วย้ายบัตรให้ /home/node/.aws/config แฟ้มแทนที่จะเป็น:

[default]
region=<REGION>
output=json
aws_access_key_id = <AAK>
aws_secret_access_key = <ASK>

และอีกทางเลือกให้คุณสามารถพยายามที่จะเพิ่มบัตรแล้วเขตพื้นที่ที่ซองตัวแปรใน Dockerfile:

ENV AWS_ACCESS_KEY_ID=<AAK>
ENV AWS_SECRET_ACCESS_KEY=<ASK>
ENV AWS_DEFAULT_REGION=<REGION>
2021-11-25 08:53:02

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่