Amazon Connect Customer Profilesに登録された全顧客の一覧をAWS CLIで取得してみた
こんにちは。
繁松です。
はじめに
前回のブログで「Amazon Connect Customer Profilesに登録された全顧客の一覧を取得する方法」を紹介しました。
コンソールからでは最大 350,000 個のプロファイルを含む顧客セグメントのエクスポートに対応しており、これを超える場合にはAPIを利用する必要があります。
コンソールではファイル形式がCSVのみ対応していますが、APIでは「JSONL」「ORC」でのエクスポートも可能です。
作成されたファイルはS3にアップロードされます。
やってみる
Customer Profiles のドメイン確認
AWSコンソールから対象のAmazon Connectインスタンスを開き、お客様のプロフィールから「Customer Profiles のドメイン」を確認します。
IAMロールの作成
Customer ProfilesからS3にエクスポートファイルをアップロードするための権限を持ったサービスリンクロールを作成します。
ロールはカスタム信頼ポリシーで以下のポリシーを設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "profile.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
許可ポリシーにはS3にアップロード可能となるようにポリシーをアタッチします。
コマンド実行
以下のコマンドを実行します。
aws customer-profiles create-segment-snapshot \
--domain-name ドメイン名 \
--segment-definition-name 顧客セグメント名 \
--data-format CSV \ #JSONLかORCも指定可能
--role-arn IAMロールARN \
--destination-uri アップロード先のS3バケットURI
実行結果
ファイルがS3にアップロードされます。
CSV形式の結果
"ProfileId","AccountNumber","AdditionalInformation","PartyType","BusinessName","FirstName","MiddleName","LastName","BirthDate","Gender","PhoneNumber","MobilePhoneNumber","HomePhoneNumber","BusinessPhoneNumber","EmailAddress","PersonalEmailAddress","BusinessEmailAddress","Address.Address1","Address.Address2","Address.Address3","Address.Address4","Address.City","Address.County","Address.State","Address.Province","Address.Country","Address.PostalCode","ShippingAddress.Address1","ShippingAddress.Address2","ShippingAddress.Address3","ShippingAddress.Address4","ShippingAddress.City","ShippingAddress.County","ShippingAddress.State","ShippingAddress.Province","ShippingAddress.Country","ShippingAddress.PostalCode","MailingAddress.Address1","MailingAddress.Address2","MailingAddress.Address3","MailingAddress.Address4","MailingAddress.City","MailingAddress.County","MailingAddress.State","MailingAddress.Province","MailingAddress.Country","MailingAddress.PostalCode","BillingAddress.Address1","BillingAddress.Address2","BillingAddress.Address3","BillingAddress.Address4","BillingAddress.City","BillingAddress.County","BillingAddress.State","BillingAddress.Province","BillingAddress.Country","BillingAddress.PostalCode"
"4bfd4202d5284b04b16903e11e2aa7bf","","","","","昂大","","繁松","","","+815000000000","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""
"e3a2474374274c6aa78f93ca0248fc87","","","","","","","","","","+815011111111","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""
JSONL形式の結果
{"ProfileId":"4bfd4202d5284b04b16903e11e2aa7bf","AccountNumber":null,"AdditionalInformation":null,"PartyType":null,"BusinessName":null,"FirstName":"昂大","MiddleName":null,"LastName":"繁松","BirthDate":null,"Gender":null,"PhoneNumber":"+815000000000","MobilePhoneNumber":null,"HomePhoneNumber":null,"BusinessPhoneNumber":null,"EmailAddress":null,"PersonalEmailAddress":null,"BusinessEmailAddress":null,"Address":null,"ShippingAddress":null,"MailingAddress":null,"BillingAddress":null,"Attributes":null}
{"ProfileId":"e3a2474374274c6aa78f93ca0248fc87","AccountNumber":null,"AdditionalInformation":null,"PartyType":null,"BusinessName":null,"FirstName":null,"MiddleName":null,"LastName":null,"BirthDate":null,"Gender":null,"PhoneNumber":"+815011111111","MobilePhoneNumber":null,"HomePhoneNumber":null,"BusinessPhoneNumber":null,"EmailAddress":null,"PersonalEmailAddress":null,"BusinessEmailAddress":null,"Address":null,"ShippingAddress":null,"MailingAddress":null,"BillingAddress":null,"Attributes":null}
さいごに
Amazon Connect Customer Profilesに登録された全顧客の一覧をAWS CLIで取得してみました。
コンソールからではcsv形式のみエクスポートに対応していますが、API利用の場合CSV、JSONL、ORCの形式を選択できることも良いですね。