コンテンツにスキップ

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

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

解決するコード

Storage インスタンスを初期化した時に token を渡さなければ token を発行する処理が走る。この処理が timeout になることがある。そのため、token を事前に発行して渡すことで解決する。

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()