generated at
AWS Lambda から Google SpreadSheet を編集する

AWS LambdaからGCP上のSpreadsheetを編集する
GCP側の準備
Google Sheets API を有効化する
サービスアカウントの鍵を保存する
編集対象のスプレッドシートを開き、サービスアカウントに共有する
AWS側の準備
Secrets Managerで以下を管理する
GCPのサービスアカウントの鍵
編集対象スプレッドシートのkey
AWS Lambdaのスクリプトを用意する
gspreadを同フォルダに pip install する(もしくは Layer を使ったりできる)
SecretManager から取得したGCP認証情報を元に、スプレッドシートにアクセスして操作する
こんな感じ
py
gc = gspread.service_account_from_dict(json.loads(GCP_KEY)) sh = gc.open_by_key(SPREADSHEET_FILE_KEY) worksheet_title = get_worksheet_name() worksheet = None try: worksheet = sh.worksheet(worksheet_title) except gspread.exceptions.WorksheetNotFound: pass # ワークシートが存在すれば削除 if worksheet: sh.del_worksheet(worksheet) # 編集対象のシートを追加 worksheet = sh.add_worksheet(title=worksheet_title, rows=100, cols=20)
Lambda にアップロードして、動作確認