ユーザーインポート CSV ファイルの作成 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ユーザーインポート CSV ファイルの作成

既存のユーザーをユーザープールにインポートする前に、インポートするユーザーとその属性を含むカンマ区切り値 (CSV) ファイルを作成する必要があります。ユーザープールから、ユーザープールの属性スキーマを反映するヘッダーを含むユーザーインポートファイルを取得できます。その後、CSV ファイルのフォーマット のフォーマット要件に一致するユーザー情報を挿入できます。

CSV ファイルヘッダーのダウンロード (コンソール)

CSV ヘッダーファイルをダウンロードするには、次の手順に従います。

CSV ファイルヘッダーをダウンロードするには
  1. Amazon Cognito コンソールに移動します。AWS 認証情報を求められる場合があります。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから存在するユーザープールを 1 つ選択します。

  4. [Users] (ユーザー) タブを選択します。

  5. [Import users] (ユーザーのインポート) セクションで、[Create an import job] (インポートジョブの作成) を選択します。

  6. [Upload CSV] (CSV のアップロード) で [template.csv] リンクを選択し、CSV ファイルをダウンロードします。

CSV ファイルヘッダーのダウンロード (AWS CLI)

正しいヘッダーのリストを取得するには、USER_POOL_ID がユーザーをインポートするユーザープールのユーザープール ID である次の CLI コマンドを実行します。

aws cognito-idp get-csv-header --user-pool-id "USER_POOL_ID"

レスポンス例:

{ "CSVHeader": [ "name", "given_name", "family_name", "middle_name", "nickname", "preferred_username", "profile", "picture", "website", "email", "email_verified", "gender", "birthdate", "zoneinfo", "locale", "phone_number", "phone_number_verified", "address", "updated_at", "cognito:mfa_enabled", "cognito:username" ], "UserPoolId": "USER_POOL_ID" }

CSV ファイルのフォーマット

ダウンロードしたユーザーインポート CSV ヘッダーファイルは次の文字列のようになります。ユーザープールに追加したカスタム属性も含まれます。

cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled

ユーザーのためのこのヘッダーと属性値が含まれ、次のルールに従ってフォーマットされているように CSV ファイルを編集します。

注記

電話番号の適切な形式など属性値の詳細については、「ユーザープール属性」を参照してください。

  • ファイルの最初の行はユーザー属性の名前を含む、ダウンロードされたヘッダーの行です。

  • CSV ファイルの行の順序は重要ではありません。

  • 最初の行の後の各行に、ユーザーの属性値が含まれます。

  • ヘッダーのすべての列が存在している必要がありますが、列の値を指定する必要はありません。

  • 以下の属性は必須です:

    • cognito:username

    • cognito:mfa_enabled

    • [email_verified] または [phone_number_verified]

      • 自動確認された属性の少なくとも一つは、各ユーザーに対して true である必要があります。自動検証属性は、新しいユーザーがユーザープールに参加したときに Amazon Cognito が自動的にコードを送信する E メールアドレスまたは電話番号です。

      • ユーザープールは [email_verified] または [phone_number_verified] の少なくとも一つの自動確認された属性が必要です。ユーザープールに自動確認された属性が存在しない場合は、インポートジョブは開始されません。

      • ユーザープールに一つの自動確認された属性がある場合のみ、その属性はユーザーごとに確認する必要があります。たとえば、ユーザープールに自動確認された属性として [phone_number] だけがある場合、[phone_number_verified] 値はそれぞれのユーザーに対して true である必要があります。

      注記

      ユーザーがパスワードをリセットするには、検証済みの E メールまたは電話番号が必要です。Amazon Cognito は、CSV ファイルで指定された E メールアドレスまたは電話番号にパスワードのリセットコードが含まれるメッセージを送信します。メッセージが電話番号に送信される場合は、SMS メッセージで送信されます。詳細については、「サインアップ時に連絡先情報を検証する」を参照してください。

    • [email] ([email_verified] がtrue の場合)

    • [phone_number] ([phone_number] が true の場合)

    • ユーザープールを作成する際に必須と指定した任意の属性

  • 文字列である属性値には、引用符は使用できません

  • 属性値にカンマが含まれる場合、カンマの前にバックスラッシュ (\) を置く必要があります。これは、CSV ファイルのフィールドがカンマで区切られているためです。

  • CSV ファイルのコンテンツは、バイトオーダーマークのない UTF-8 形式にする必要があります。

  • [cognito:username] フィールドは必須であり、ユーザープール内で一意である必要があります。任意の Unicode 文字列を使えます。ただし、スペースまたはタブを含めることはできません。

  • [birthdate] (生年月日) の値がある場合、「mm/dd/yyyy」の形式である必要があります。たとえば、生年月日が 1985 年 2 月 1 日だとすると、02/01/1985 にエンコードされる必要があります。

  • [cognito:mfa_enabled] フィールドは必須です。ユーザープールで Multi-Factor Authentication (MFA) が必要であると設定している場合、このフィールドはすべてのユーザーに true である必要があります。MFA をオフに設定している場合、このフィールドはすべてのユーザーに false である必要があります。MFA をオプションとして設定している場合、このフィールドは true または false で、空にすることはできません。

  • 最大行数は 16,000 文字です。

  • CSV ファイルの最大サイズは 100 MB です。

  • ファイルの最大行数 (ユーザー) は 500,000 です。この最大値にはヘッダー行は含まれません。

  • [updated_at] フィールド値はエポック時間 (秒) であると想定します。たとえば 1471453471 などです。

  • 属性値の先頭または末尾の空白は切り捨てられます。

次のリストは、カスタム属性のないユーザープールの CSV インポートファイルの例です。ユーザープールスキーマは、この例とは異なる場合があります。その場合は、ユーザープールからダウンロードした CSV テンプレートにテスト値を入力する必要があります。

cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled John,,John,Doe,,,,,,,johndoe@example.com,TRUE,,02/01/1985,,,+12345550100,TRUE,123 Any Street,,FALSE Jane,,Jane,Roe,,,,,,,janeroe@example.com,TRUE,,01/01/1985,,,+12345550199,TRUE,100 Main Street,,FALSE