2016-07-15 47 views
3

我試圖在Elastic Beanstalk上運行需要對SQS和Dynamo DB具有權限的python應用程序。botocore.exceptions.ProfileNotFound當在AWS彈性beanstalk上運行代碼時,但在本地運行良好

我創建一個配置文件在〜/ .aws/config文件是這樣的:

[profile yolo] 
aws_access_key_id = some-key 
aws_secret_access_key = some-secret 
region = some-region 

,並也開始喜歡彈性魔豆:

eb init --profile yolo 

,但是當我檢查日誌網上它狀態:

botocore.exceptions.ProfileNotFound: The config profile (yolo) could not be found 

如何讓boto3知道彈性beanstalk環境中的這個配置文件?

謝謝。

回答

1

試着改變你的.aws/config文件頭 - [yolo]代替[profile yolo],並分離的配置和憑據兩個文件,在這個環節中描述 - http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html 這應該可以解決你的問題。

+0

'配置'文件必須具有每個配置文件的'配置文件'前綴。不過,我會嘗試將憑據分離到「憑據」文件並在此處發佈結果 – nbtk

+0

引用我已鏈接的頁面 - 「*重要* AWS憑證文件使用與CLI命令格式不同的命名格式在AWS憑證文件中配置指定的配置文件時,不要包含'配置文件'前綴。「 –

+0

我對你的建議持懷疑態度,但無論如何都試過 - 它沒有奏效。我將憑據移到'[yolo]'下的'credentials'文件中。我在「配置」下調用配置文件,如'[yolo]'和'[profile yolo]',但沒有解決。 它是有道理的:兩個文件都存儲在本地。沒有什麼將他們移動到AWS。與例如'.ebextensions'和'elasticbeanstalk'下的文件不同,'credentials'和'config'文件對於所有環境都是全局的。 如果我只有一臺EC2服務器,我會把兩個文件放在那裏。但在EB工作時我無法做到這一點。 – nbtk

1

如果設置了AWS_DEFAULT_PROFILE環境變量,但沒有配置文件,您也會收到此錯誤。

相關問題