Amazon Connect Customer Profilesに登録された全顧客の一覧をAWS CLIで取得してみた

Amazon Connect Customer Profilesに登録された全顧客の一覧をAWS CLIで取得してみた

Clock Icon2025.06.30

こんにちは。
繁松です。

はじめに

前回のブログで「Amazon Connect Customer Profilesに登録された全顧客の一覧を取得する方法」を紹介しました。
コンソールからでは最大 350,000 個のプロファイルを含む顧客セグメントのエクスポートに対応しており、これを超える場合にはAPIを利用する必要があります。
コンソールではファイル形式がCSVのみ対応していますが、APIでは「JSONL」「ORC」でのエクスポートも可能です。
作成されたファイルはS3にアップロードされます。

やってみる

Customer Profiles のドメイン確認

AWSコンソールから対象のAmazon Connectインスタンスを開き、お客様のプロフィールから「Customer Profiles のドメイン」を確認します。
2025-06-30_20h28_22

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の形式を選択できることも良いですね。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.