違うアカウント間でLambdaを使ってS3のデータのやり取りをする

アカウントAからアカウントBのS3にアクセスする方法

client = boto3.client('s3',
                       aws_access_key_id='<Bのアクセスキー>',
                       aws_secret_access_key='Bのシークレットアクセスキー')

これでアカウントAのlambdaからアカウントBのS3にアクセスすることが出来る。

またこのようにすることでS3からtxtファイルなどをオブジェクトとして取得することが出来る。 下2行はtxtファイルをオブジェクトとして読み込んだ時に、その中身を取得するためにある。

Object = client.get_object(Bucket='バケット名', Key='データのパス')
Body = Object['Body'].read()
print(Object)