コンテンツにスキップ

gcloud aio storage の token 発行が timeout になる

Google Cloud のサービスに対して非同期で処理を行うためのgcloud aioのライブラリを使用していたところ、token の発行が timeout になる問題が発生した。これを解決する方法を紹介する。

解決するコード

Storageの初期化時にトークンを渡さないと、ライブラリ側でトークンを発行する。その処理がタイムアウトしたため、次のコードで事前に発行したトークンを渡して回避した。

import asyncio

from gcloud.aio.auth import Token
from gcloud.aio.storage import Storage

def main():
    token = Token()
    storage_client = Storage(token=token)
    task = storage_client.copy(...)
    asyncio.run(task)

if __name__ == '__main__':
    main()