2016-12-15 215 views
0

根據Amazon S3 documentation我試圖使用S3最新sdk從Android設備上的Amazon S3下載文件內容。AmazonS3Exception:拒絕訪問S3

final AmazonS3Client mAmazonS3Client = getS3Client(getAwsDataAccessKey(), getAwsDataSecretKey(), getAwsDataRegion()); 

// set decryption key 
final SSECustomerKey sseCustomerKey = new SSECustomerKey(getPolicySseCustomerKey()); 

// create request 
final GetObjectRequest getObjectRequest = new GetObjectRequest(getAwsDataBucketName(),getPolicyKey()) 
     .withSSECustomerKey(sseCustomerKey); 

// download 
final S3Object s3Object = mAmazonS3Client.getObject(getObjectRequest); 
// get content 
objectContent = s3Object.getObjectContent(); 

然後我收到以下異常:

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: ...), S3 Extended Request ID: .. 

所有的憑據是正確的。
也以同樣的方式我可以讀取未加密的文件。
它可能是什麼?

+0

可以確認AWS S3控制檯上的對象的權限是正確的? – Megadec

+0

是的,我可以用Python代碼下載 – NickF

回答

0

的解決方案是編碼getPolicySseCustomerKey()base64