2014-09-22 1 views
0

누구나 아마존 s3에 연결하는 데 도움이 될 수 있습니다. 다음 문제가 있습니다 : 그냥 연결을 만들 때 제공된 자격 증명이 단계에 연결할 수 있는지 여부를 확인하고 싶습니다. 예 :파이썬 부트 포스가 s3에 연결

import boto 
boto.connect_s3(access_key,wrong_secret_key) 

잘못된 키를 제공 할 때이 단계에서 오류가 발생합니다. 특정 버킷에 연결할 때 단계에서 오류를 catch 할 수 있지만 이전 단계를 catch하려고합니다. 감사합니다. .

답변

0

connect_s3 함수는 실제로 S3에 대한 요청을하지 않습니다. 단순히 S3Connection 개체를 만들고 구성한 다음 반환합니다. 자격 증명의 유효성을 검사하려면 연결과 함께 일부 S3 작업을 수행해야합니다. 예를 들어, 수행하려고 할 수있는 get_bucket :

import boto 

s3 = boto.connect_s3(...) 
s3.get_bucket('mybucket') 

이 실제로 자격 증명에 문제가있는 경우, 오류가 표시됩니다의 S3 서비스에 왕복을 할 것이다.

+0

get_bucket() 함수에 대해 알고 있지만 오류가 발생합니다. boto.exception.S3ResponseError. 하지만 S3ValidationError 또는 액세스 문제와 관련된 뭔가를 잡으려고합니다. –

+0

당신이 제공하는 자격 증명이''get_bucket()''호출에서 참조 된 버킷에 접근 할 수 없다면 당신은''S3ResponseError''를 받게 될 것입니다. 이 예외의''reason'' 속성은 문자열'' "Forbidden"''을 포함하고''status'' 속성은 정수 값''403''을 포함합니다. 인증 정보가 유효하지 않다는 것을 알려주기에 충분합니다. – garnaat

+0

확인. 당신의 도움을 주셔서 감사합니다. 이제이 특정 유형의 오류를 발견 할 수 있습니다. –