2017-04-05 56 views
1

TypeErrorを修正するには:オブジェクトstrは 'await'式で使用できませんか?次のコードを実行

async def generate_url(self, ding_id): 
    data = await self.s3.generate_presigned_url(
     ClientMethod='get_object', 
     Params={ 
     'Bucket': '...', 
     'Key': '{}.mp4'.format(ding_id) 
     } 
    ) 

    return data 

def convert_to_json(self, data): 
    loop = asyncio.get_event_loop() 
    for ding in dings: 
     tasks.append(self.generate_url(ding)) 

    video_ids = loop.run_until_complete(asyncio.gather(*tasks)) 
    loop.close() 

は、エラーが発生します。

'Key': '{}.mp4'.format(ding_id) 
TypeError: object str can't be used in 'await' expression` 

私は、非同期リクエストライブラリaiohttpを使用しています。その問題を解決するには?

+0

リクエストは行われていません。文字列を生成するだけです。 – Ryan

+0

私は理解できませんでした。私は 'generate_presigned_url'を呼び出してリクエストしたと思います。しかし、その問題を解決するには? –

答えて

0

generate_presigned_urlは同期方式でsimply returns the URLですので、ここで待つ必要はありません。