2017-10-09 165 views
0

我編寫了一個Java程序,該程序包含在oozie工作流程中,該工作流程將文件從HDFS傳輸到S3存儲桶。不過,我收到以下錯誤將文件從HDFS傳輸到S3存儲桶時拒絕訪問

com.amazonaws.services.s3.model.AmazonS3Exception:拒絕訪問 (服務:亞馬遜S3;狀態代碼:403;錯誤代碼:存取遭拒; 請求ID:310F08CD4FF8B5D9 ),S3擴展請求ID: fAysD1vgtriV8x + sf1zqHk58eAT89Y6HD + ziEokaPvFPKwaPrHDxt5yygsiA1ktNVsyj + GTmbQ0 =

我創建動態地Oozie的工作流程在S3桶中的關鍵路徑。
對於例如:如果我的文件名是abc_20171009.tsv.gz那麼這個文件應該被上傳以下路徑

tsvFile/year=2017/month=10/day=09/abc_20171009.tsv.gz 

到桶,以類似的方式前些天文件應根據日期上傳。
我的查詢是在上載文件之前關鍵路徑是否應預先存儲在存儲桶中,還是可以動態創建?

// Request server-side encryption.   

      BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsAccessKeyId, awsSecretKey); 
      AmazonS3Client s3Client = new AmazonS3Client(awsCredentials); 
      PutObjectRequest request = new PutObjectRequest("bucket_name", "key_name",""); 

      ObjectMetadata objectMetadata = new ObjectMetadata(); 
      objectMetadata.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION); 

      request.setMetadata(objectMetadata); 

      PutObjectResult response = s3Client.putObject(request); 

      LOGGER.info("Server Side Encryption successful" +response.getSSEAlgorithm()); 

注:我可以通過AWS CLI手動將文件並連接到S3桶。

回答

0

亞馬遜S3 serive有可能被用於S3的安全角色列表對象鍵

安全字符以下字符集通常是在關鍵的名稱 使用安全:•字母數字字符[0 -9a-ZA-Z]•特殊字符 , - ,_,*,」,(和)

但是我所看到的,使用的是=,這從另一方面爲需要處理的特殊字符

字符,可能需要特殊處理的 字符的按鍵名稱可能需要額外的代碼處理,並會 可能需要進行網址編碼或十六進制引用。其中有些是 非打印字符和您的瀏覽器可能不處理他們,這 也將需要進行特殊處理

和那些人物之一是=

也許,當你手動上傳文件時, =被自動編碼。所以你必須選擇,刪除thod =標誌或編碼它們(我會去第一個選項)

+0

您還可以確認關鍵路徑(tsvFile /年= 2017 /月= 10 /日= 09 /)需要在上傳文件之前預先存在,還是可以動態創建? – Shash

+0

當你上傳一個文件到S3,你沒有創建任何目錄,你在Web界面上看到的只是對象鍵的解釋(所以文件a/b/c.txt只是S3上的一個文件,但在Web界面上它被解釋爲嵌套目錄)。因爲沒有「預先存在」的目錄,所以你的「目錄」tsvFile/year = 2017/month = 10/day = 09 /中的每個文件都需要轉義「=」號。 – pezetem

+0

This是我目前面臨的問題 - 由com.amazonaws引起。services.s3.model.AmazonS3Exception:此操作不支持x-amz-server-side-encryption標頭。 (Service:Amazon S3; Status Code:400; Error Code:InvalidArgument; Request ID:A4563A21BFA23BCE),S3 Extended Request ID:HoAo1ia5jOO3zuNsBzOspmB5b + ZG9YQHgCuFvJnrd0iGEGegCpUoqMf7VWybOj0Np0KVjk5ovm8 = – Shash

相關問題