我一直試圖在iOS上使用AWS 2天。我從這裏下載了示例項目:https://github.com/awslabs/aws-sdk-ios-samples亞馬遜網絡服務SDK iOS
我完全按照步驟說的那樣使用cocoapods鏈接所有庫。
我還創建了一個水桶,再按照如何獲得ID,以便在代碼中改變它的步驟如下所示:
AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider
credentialsWithRegionType:AWSRegionUSEast1
accountId:AWSAccountID
identityPoolId:CognitoPoolID
unauthRoleArn:CognitoRoleUnauth
authRoleArn:nil];
所以基本上,當我試着上傳一些圖片/文件(在使用亞馬遜S3的存儲服務的例子中,我得到一個錯誤:
2014-09-04 15:11:57.475 S3TransferManagerSample[5437:400b] AWSiOSSDKv2 [Error] AWSCredentialsProvider.m
line:356 | __40-[AWSCognitoCredentialsProvider refresh]_block_invoke299 | Unable to refresh.
Error is [Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)"
UserInfo=0x14d17770 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
"\n ",
"\n ",
"\n ",
"\n "
), Code=AccessDenied}]
只是要清楚,我已經創建了一個角色,並給它一個政策:AdministratorAccess和所使用的角色ARN設置
unauthRoleArn:CognitoRoleUnauth
我讀過文檔,似乎無法在任何地方找到問題。我有一種感覺,它與這個角色的角色和政策有關。
我真的很感激有關如何開始或如何解決此問題的任何提示。
謝謝,如果您需要關於該問題的更多細節,請隨時發表評論,我會給予更多,因爲問題有點冗長。
當我創建角色時,我只將該角色的權限更改爲Administrator Access,但我沒有更改任何其他內容。 我應該改變角色的信任關係嗎?我真的不知道該怎麼設置。 – RJiryes 2014-09-07 06:30:55
另外,如果它是「爲了這個身份池」,你是什麼意思?我創建了身份池作爲Cognito服務的一部分,而角色則在IAM管理控制檯中設置。我已經閱讀了關於AWS的很多內容,我覺得我有點困惑。對不起,如果我看起來有點不清楚。謝謝。 – RJiryes 2014-09-07 07:49:31
我繼續前進並刪除了當前的身份庫並創建了新的身份庫,但我得到的錯誤消失了。但現在它沒有上傳文件,我在嘗試上傳時遇到了另一個錯誤: – RJiryes 2014-09-07 10:50:36