SharePointリストからAWS S3へPower Automateで自動アップロードする手順

未分類

はじめに

おつかれさまです。tyamonです。

この記事では、Power Automateを利用してSharePointリストのデータをAWS S3へ自動連携する方法について解説します。
以下のような方を対象としています。

  • SharePointリストのデータエクスポートや保存を自動化したい方
  • Power AutomateからAWS S3リソースに安全にアクセスさせたい方

結論

本記事の手順を実施することで、SharePointリストの更新をトリガーとし、全データをCSV形式でAWS S3に自動でアップロードする仕組みを構築できます。


前提条件・環境

  • 対象SaaS: SharePoint (Microsoft 365)
  • クラウドインフラ: AWS S3, IAM
  • 自動化ツール: Power Automate

1. AWS側の設定詳細(IAM・S3)

セキュリティを担保するため、Power Automate専用のIAMユーザーを作成し、最小権限の原則に基づいたIAMポリシーを適用します。

IAMユーザーの作成

IAMでS3接続用の一意なユーザーを作成し、アクセスキーを取得します。

  • 推奨ユーザー名: [あなたのIAMユーザー名](サービスアカウント形式)

IAM ポリシーの設定

特定のS3バケット(例:[あなたのS3バケット名])の書き込みと一覧取得のみを許可するカスタムポリシーを作成してユーザーにアタッチします。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowS3PutActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectACL"
            ],
            "Resource": "arn:aws:s3:::[あなたのS3バケット名]/*"
        },
        {
            "Sid": "AllowS3ListAndLocation",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::[あなたのS3バケット名]"
        }
    ]
}

2. Power Automate フロー構成

フローは以下の4つの基本アクションで構成します。

1. トリガーの設定 (アイテムが作成または変更されたとき)

リストに新しいデータが追加されたり、既存のデータが更新されたタイミングでフローを開始します。

2. 複数の項目の取得 (Get items)

最新のリスト状態を取り出します。

3. CSVテーブルの作成 (Create CSV table)

取得したデータをAWS S3へのアップロード用にフラットなCSVファイルに変換します。

  • 選択 (From): 「複数の項目の取得」で得た「値 (value)」を指定

4. Amazon S3へ保存 (Put Object)

ここで作成したCSVをS3バケットにアップロードします。

利用するコネクタについての注意点
ここで使用するS3コネクタは、標準で用意されているものではなく 「Amazon S3 バケット (独立パブリッシャー) (プレビュー)」 というコネクタです。コミュニティ・独立パブリッシャーによって提供されているプレビュー版のコネクタであるため、通常のMicrosoft公式AWSコネクタとは経路やサポート体制が異なる点に留意して利用してください。

  • Region: ap-northeast-1(東京)
  • Bucket: [あなたのS3バケット名]
  • Key (ファイル名): 下記の式を利用して、実行時の日本時間を付与したユニークなファイル名を割り当てます。
  concat('item_list_', formatDateTime(addHours(utcNow(), 9), 'yyyyMMdd_HHmm'), '.csv')
  • Content: 「CSVテーブルの作成」アクションの「出力 (Output)」を指定

実運用のポイント

  • 履歴管理: ファイル名に分単位の静的文字列(タイムスタンプ)を含めているため、S3上で上書きされることなくデータの変更履歴が時系列で保存されます。
  • セキュアな設計: AWS接続用の認証情報を限定的な権限のIAMユーザーに紐付けることで、安全な外部連携を実現しています。

まとめ

今回はSharePointとAWS S3をPower Automateで連携させる仕組みを紹介しました。ポイントは以下の通りです。

  • Power Automateにより複雑なインフラ構築無しでSharePointからS3へデータを退避可能。
  • 運用の際は動的タイムスタンプを利用したファイル名生成が肝。

参考資料

コメント

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