0
我試圖通過Python boto
庫從AppEngine標準環境(或從dev_server)調用AWS端點。AppEngine:使用SSL連接boto到AWS雲端點
下面是一個例子:
import boto.sqs
sqs = boto.sqs.connect_to_region(constants.AWS_REGION,
aws_access_key_id = constants.AWS_KEY,
aws_secret_access_key = constants.AWS_SECRET,
is_secure = 1) # <- this option makes the difference!
queue = sqs.create_queue("my-new-queue")
此代碼運行從我的本地控制檯很好,但是當我嘗試從AppEngine上做同樣的事情,我會看到這個錯誤堆棧:
File "C:\Work\xxx\app\lib\boto\connection.py", line 1192, in get_object
response = self.make_request(action, params, path, verb)
File "C:\Work\xxx\app\lib\boto\connection.py", line 1116, in make_request
return self._mexe(http_request)
File "C:\Work\xxx\app\lib\boto\connection.py", line 1030, in _mexe
raise ex
error: [Errno 13] Permission denied
以下是我已經嘗試沒有成功:
- 要使用
boto3
代替boto
- 要通過環境變量禁用
urlfetch
GAE_USE_SOCKETS_HTTPLIB
- 要關閉
is_secure
。那麼,這有助於,但只有在某些終點。例如,STS會拒絕大多數不安全的電話。
歡迎任何想法。
在'urlfetch'爲ENABLED的情況下,錯誤消息不同:'無法獲取URL:http://sts.amazonaws.com/錯誤:[Errno 10061]無法建立連接,因爲目標機器積極拒絕它 – eugals