サーバーから取得したファイルをアップロードしようとしています。ただし、フェッチされたファイルが 1MB を超える場合、S3 に保存されるのは 1KB の小さなファイルのみです。1MB 未満の場合、ファイルは適切に保存されます。
さまざまな方法を検索して試しましたが、どれも機能していません。ユーザーがボタンをクリックするとトリガーされるクラスを次に示します。
` class Fetch_by_button(webapp.RequestHandler):
def get(self):
#1. fetch the file
try:
result = urlfetch.fetch('http://someurl.com/music.mp3') # file with 2MB
#result = urlfetch.fetch('http://anotherurl.com/document.pdf') #file with 900KB is working
except DownloadError:
print("URL fetch doesnt work properly")
#2. search datastore UserData-model by userobject to get s3 credentials
usr = users.get_current_user()
query = UserData.gql("WHERE account =:1", usr)
qr = query.get()
#3. establish connection to s3
conn = S3Connection(qr.s3_accesskey, qr.s3_secret_accesskey)
#4. create bucket
ak_lowercase = str.lower(str(qr.s3_accesskey))
individual_bucket_name = ak_lowercase + '_' + usr.nickname()
bucket = conn.create_bucket(individual_bucket_name)
#5. generate key and assign to already created bucket
k = Key(bucket)
#6. name the key by some examplary filename
k.key = 'justsomefilename'
#7. save the correspondent value to the created key
k.set_contents_from_string(result.content)`
なぜこれが起こるのか、私には手がかりがありません。私のコードの何か、AppEngine の制限、boto の何か、... 何か提案はありますか?
前もって感謝します。