SFDCのデータを抽出してAWSのS3にCSVを出力する(その1)
SFDCでたまたま、必要があったので色々と調べてみました。「普通のやり方ではCSV出力をバッチでできない」とかいうことだそうなので、データローダを使ったやり方とかもあるみたいですが要件にそぐわないので、少し格闘しました。
バッチでAWSのS3にCSVを出力したいというのがそもそもの与件です。
1)S3バケット作成
2)IAMポリシー設定
3)IAMユーザ追加
2.SFDC設定
1)環境変数関連設定
2)パラメータ入力
3)リモートサイト許可
3.プログラム作成(単体レベル)
1)環境変数抽出箇所
2)SOQLを使用してデータ抽出
3)S3にCSVファイルをアップロード
4.バッチ設定
・[バケット名]を入力し[作成]ボタンをクリックする。
・ポリシーの作成の箇所で[JSON]を選択する。真ん中の箇所にJSONを入力する
[ポリシーの確認]をクリック
参考:JSON
----
・[名前]と[説明]を入力し[ポリシーの作成]をクリックする。
・[ユーザを追加]をクリック
・[ユーザ名]を入力し[プログラムによるアクセス]を選択して[次ステップ:アクセス権限]
をクリックする。
・「アクセス許可の設定」で[既存ポリシーを直接アタッチ]をクリックする。
[ポリシーのフィルタ]に2)で設定したポリシー名を入力し検索する。
[ポリシー名]の横にチェックを付けて[次のステップ:タグ]ボタンをクリックする。
・「タグの追加」で[次のステップ:確認]ボタンをクリックする
・「確認」となるので[ユーザの作成]をクリックする。
・登録完了画面となるので[csvのダウンロード]をクリックしてファイルを保存後に、
[閉じる]ボタンをクリックしてIAMユーザ追加を完了させる。
https://dev.classmethod.jp/etc/specify_s3_folder_iam_cyberduck/
http://webfood.info/s3-bucket-policy-iam-user/
バッチでAWSのS3にCSVを出力したいというのがそもそもの与件です。
◆大枠の手順
1.AWSでS3を設定する1)S3バケット作成
2)IAMポリシー設定
3)IAMユーザ追加
2.SFDC設定
1)環境変数関連設定
2)パラメータ入力
3)リモートサイト許可
3.プログラム作成(単体レベル)
1)環境変数抽出箇所
2)SOQLを使用してデータ抽出
3)S3にCSVファイルをアップロード
4.バッチ設定
◆手順
1.AWSでS3を設定する
1)S3バケット作成
・AWSの管理コンソールでS3設定を開くバケットを選択して[バケットの作成]をクリックする。・[バケット名]を入力し[作成]ボタンをクリックする。
2)IAMポリシー設定
・AWSの管理コンソールでIAM設定を開く[ポリシー]を選択し[ポリシーの作成]ボタンをクリックする。・ポリシーの作成の箇所で[JSON]を選択する。真ん中の箇所にJSONを入力する
[ポリシーの確認]をクリック
参考:JSON
----
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" }, { "Action": "*", "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucketname", "arn:aws:s3:::bucketname/*" ] } ] }----
・[名前]と[説明]を入力し[ポリシーの作成]をクリックする。
3)IAMユーザ追加
・ポリシー作成完了後[ユーザ]をクリックする。・[ユーザを追加]をクリック
・[ユーザ名]を入力し[プログラムによるアクセス]を選択して[次ステップ:アクセス権限]
をクリックする。
・「アクセス許可の設定」で[既存ポリシーを直接アタッチ]をクリックする。
[ポリシーのフィルタ]に2)で設定したポリシー名を入力し検索する。
[ポリシー名]の横にチェックを付けて[次のステップ:タグ]ボタンをクリックする。
・「タグの追加」で[次のステップ:確認]ボタンをクリックする
・「確認」となるので[ユーザの作成]をクリックする。
・登録完了画面となるので[csvのダウンロード]をクリックしてファイルを保存後に、
[閉じる]ボタンをクリックしてIAMユーザ追加を完了させる。
◆参考サイト
・S3設定https://dev.classmethod.jp/etc/specify_s3_folder_iam_cyberduck/
http://webfood.info/s3-bucket-policy-iam-user/
コメント