Cloud StorageからS3へデータ転送

Google Cloud
※本ページにはプロモーションが含まれます
※本ページにはプロモーションが含まれます
スポンサーリンク


Cloud StorageからS3へデータ転送の背景

Google Cloudでデータを収集・加工し、AWSでメルマガの自動配信を行いました。

その際の、Cloud StorageからS3にデータを転送する際のCloud Functionsに記述するコードが参考になればと思いまとめてみます。

S3データ転送時の前提

  • Google CloudとAWSの初期設定が完了している
  • Cloud Functionsの使用方法をおおよそ理解している
  • AWSでアクセスキーを作成しキー情報を取得済みである

Cloud StorageからS3にデータ転送してやっていたこと

  • Google CloudのCloud StorageからAWSのS3へcsvファイルを転送する
    • Google Cloudで購買データと顧客データを収集・加工しS3へ転送
    • S3に転送したデータを使用してAmazon PinpointというMA的な使い方が出来るサービスでメルマガを自動配信・分析
AWSのMA基盤

S3転送のためCloud Functionsに記述したコードサンプル

Cloud Functionsのpythonファイルに以下コードを記述しました。
(ライブラリのインポート部分等割愛)

※青字部分はコメント

    bucket_name = '転送先のgcsバケット名'
    file_name = 'gcsに送るファイル名'
 
    client = storage.Client(project_id)
    bucket = client.get_bucket(bucket_name)

    # 格納するGCSパスを指定
    blob = bucket.blob(file_name)

    # DataFrameをGCSにUpload
    blob.upload_from_string(df.to_csv(index=False, sep=","))

    # s3 へのアップロード
    key = "アクセスキー"
    secret = "シークレットアクセスキー"
    path = "S3のパス("s3://s3バケット名/{}.format(file_name) みたいに書ける)"

  
    bytes_to_write = df.to_csv(header=True, index=False).encode()
    fs = s3fs.S3FileSystem(key=key, secret=secret)
    with fs.open(path, 'wb') as f:
        f.write(bytes_to_write)

もしプログラム学習でお困りでしたら受講生に1人ずつ現役のプロのパーソナルメンターがつく TechAcademy [テックアカデミー] のご活用をぜひご検討ください!

CloudFunctionsの実行とAWS学習について

Google Cloud関連記事

Google Cloud関連記事をこちらにまとめておりますので、よろしければご参考ください。

また、厳選された優良IT/Web系企業約260社からダイレクトスカウトを受け取ることができる

年収UP率93.8% / 平均年収UP額126万円のエンジニア転職サイト【転職ドラフト】 への登録もおススメです。転職のみならず、ご自身の市場価値の査定にもつながるかと思います!

参考になれば幸いです☕


コメント

タイトルとURLをコピーしました