2014-07-23 162 views
0

創建我的AWS客戶端,而不passind在我的令牌或祕密,就像這樣:保護亞馬遜S3存儲

AWSClientFactory.CreateAmazonS3Client() 

我就能夠使用上傳圖片:

var request = new PutObjectRequest 
       { 
        BucketName = _bucketName, 
        CannedACL = S3CannedACL.PublicRead, 
        Key = key, 
        InputStream = inputStream, 
        ContentType = contentType 
       }; 

       _amazonS3Client.PutObject(request); 

我指定我的存儲桶的權限,以便只有我有權寫入,但通過此代碼判斷,由於我沒有傳入我的憑據,我一定會感到委屈嗎?

我不正常配置我的S3存儲桶嗎?

回答

1

您已經創建Amazon S3客戶端而不通過您的AWS憑證,它可以使用從應用程序的默認配置加載的憑據爲Amazon S3服務創建客戶端,並且如果EC2實例上的實例配置文件服務不成功。

示例設置了憑據的App.config。

例如:App.config中設置憑據:

<?xml version="1.0" encoding="utf-8" ?> <configuration> 
    <appSettings> 
     <add key="AWSAccessKey" value="********************"/> 
     <add key="AWSSecretKey" value="****************************************"/> 
    </appSettings> </configuration> 

這樣,你就能夠成功地將物件上傳至您的S3桶。

詳情參見:http://docs.aws.amazon.com/sdkfornet1/latest/apidocs/html/T_Amazon_AWSClientFactory.htm

+0

我沒有在我的配置中包括這些字段... – shenku

+0

你在EC2實例嗎? –

0

如果按照AWS文件,你會看到有要創造一個AWS的SDK可以直接訪問它 (http://docs.aws.amazon.com/AWSSdkDocsNET/V2/DeveloperGuide/net-dg-config-creds.html

檢查證書文件幾種方法表示「有幾種方法可以管理SDK商店中的配置文件」。使用文檔檢查您使用的配置。

您可以通過替換您使用無效字符串設置的say認證文件來測試連接,例如, 「XXXXXXXX」,然後再次嘗試連接以證明它。