![見出し画像](https://assets.st-note.com/production/uploads/images/120494176/rectangle_large_type_2_c4e19fd2a4243022d6611d5fe5a6395c.png?width=1200)
S3から自動lambdaソースコード更新
この例では、lambda_clientとs3_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)
この記事が気に入ったらサポートをしてみませんか?