見出し画像

S3から自動lambdaソースコード更新

この例では、lambda_clients3_clientはAWSサービスと通信するために東京リージョンに設定されています。

これにより、Lambda関数のコード更新が正しいリージョンのLambda関数を対象とし、正しいリージョンのS3バケットからファイルを読み取ることが保証されます。

このコードを実行する前に、適切なAWS認証情報と権限が設定されていることを確認してください。これらの設定はAWS Identity and Access Management(IAM)で行うことができます。ローカルでこのコードを実行する場合は、AWS CLIが正しいアクセスキー、シークレットキー、およびデフォルトリージョンで設定されていることを確認してください。コードがAWS Lambda環境で実行される場合、Lambda関数の実行ロールにS3へのアクセスとLambda関数を更新するための十分な権限があることを確認してください。

import boto3

# AWSリージョンを東京 (ap-northeast-1) に設定
lambda_client = boto3.client('lambda', region_name='ap-northeast-1')
s3_client = boto3.client('s3', region_name='ap-northeast-1')

def lambda_handler(event, context):
    # S3で更新されたコードがzipファイルであると仮定
    bucket_name = 'your-s3-bucket-name'
    key = 'path/to/your/code.zip'
    function_name = 'your-target-lambda-function-name'
    
    # Lambda関数のコードを更新
    response = lambda_client.update_function_code(
        FunctionName=function_name,
        S3Bucket=bucket_name,
        S3Key=key
    )
    
    print("Lambda関数が更新されました:", response)

この記事が気に入ったらサポートをしてみませんか?