botocore.Exceptions.ClientError เกิดข้อผิดพลาด (SignatureDoesNotMatch) เมื่อเรียกการดำเนินการ GetObject

ขณะรันโค้ดต่อไปนี้:

import boto3
BUCKET = 'bwd-plfb'

s3 = boto3.client('s3',use_ssl = False)

resp = s3.list_objects_v2(Bucket = BUCKET )

s3.download_file(BUCKET,'20171018/OK/OK_All.zip','test.zip')

ฉันได้รับข้อผิดพลาดต่อไปนี้:

   botocore.exceptions.ClientError: An error occurred 
   (SignatureDoesNotMatch) when calling the GetObject operation: The request 
   signature we calculated does not match the signature you provided. Check 
   your key and signing method.

สิ่งที่ฉันได้ลองไปแล้ว:

  1. ตรวจสอบ ID คีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับที่กำหนดค่าใน aws cli อีกครั้ง (การรัน aws กำหนดค่าในพร้อมท์คำสั่ง) - ถูกต้อง
  2. กำลังพยายามแสดงรายการวัตถุที่ฝากข้อมูลโดยใช้ boto3 - ทำงานได้สำเร็จ ดูเหมือนว่าปัญหาจะเกิดขึ้นเมื่อพยายามดาวน์โหลดไฟล์
  3. การใช้ปลั๊กอิน Chrome เพื่อเรียกดูเนื้อหาที่เก็บข้อมูลและดาวน์โหลดไฟล์: ปลั๊กอิน Chrome มันทำงานได้สำเร็จ

สิ่งที่น่าสนใจคือการดาวน์โหลดไฟล์บางไฟล์ได้ แต่ไม่ใช่ทั้งหมด ฉันดาวน์โหลดไฟล์ซึ่งก่อนหน้านี้ใช้งานได้ก่อน 20 ครั้งติดต่อกันเพื่อดูว่าข้อผิดพลาดเกิดขึ้นเป็นระยะๆ หรือไม่ มันได้ผลทั้งหมด 20 ครั้ง ฉันทำสิ่งเดียวกันนี้กับไฟล์ที่ไม่เคยใช้งานได้มาก่อนและไม่ได้ดาวน์โหลดเลยถึง 20 ครั้ง

ฉันเห็นโพสต์อื่น ๆ ใน stackoverflow บอกว่าคีย์ api และคีย์การเข้าถึงอาจไม่ถูกต้อง อย่างไรก็ตาม ฉันไม่เชื่อว่าเป็นเช่นนั้นหากฉันสามารถแสดงรายการออบเจ็กต์และดาวน์โหลดไฟล์ (อันที่ทำ & ไม่ทำงานผ่าน boto3) โดยใช้ปลั๊กอิน Chrome S3

ไม่มีใครมีข้อเสนอแนะเกี่ยวกับสิ่งที่อาจเป็นปัญหาที่นี่หรือไม่

ขอบคุณ


person bodhisattva0743    schedule 27.12.2017    source แหล่งที่มา
comment
ทำไมคุณถึงมี use_ssl=False?   -  person hjpotter92    schedule 27.12.2017
comment
คุณจัดการเพื่อแก้ไขปัญหานี้หรือไม่?   -  person Sivasubramaniam Arunachalam    schedule 10.02.2018
comment
ฉันกำจัดข้อผิดพลาดนี้หลังจากสร้างคีย์การเข้าถึงชุดใหม่   -  person Sivasubramaniam Arunachalam    schedule 10.02.2018


คำตอบ (1)


ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณใช้รหัสลับผิด/ไม่ถูกต้องสำหรับ s3

person Ryabchenko Alexander    schedule 27.02.2019