> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ユーザーのインポート/エクスポート拡張機能

> アカウントに設定したデータベース間でユーザーのインポートとエクスポートを実行できる、ユーザーのインポート/エクスポート拡張機能について説明します。

**［User Import / Export Extension（ユーザーインポート/エクスポート拡張機能）］** を使用すると、次のことが可能になります：

* 既存のデータベースユーザーをAuth0に一括インポートする
* Auth0データベースユーザーの何人か（または全員）を検索またはエクスポートする

インポートおよびエクスポートできるユーザープロファイルフィールドの一覧については、[ユーザープロファイル属性](/docs/ja-jp/manage-users/user-accounts/user-profiles/user-profile-structure)を参照してください。

この拡張機能を使用するには、Dashboard Adminでなければなりません。

## 拡張機能をインストールする

この拡張機能をインストールするには、[Auth0 Dashboard>Extensions](https://manage.auth0.com/#/extensions)に移動し、**［User Import / Export（ユーザーのインポート/エクスポート）］** を選択します。

拡張機能をインストールする前に追加の構成は必要ないため、情報ポップアップウィンドウで **［Install（インストール）］** を選択して続行します。

## 拡張機能を使用する

拡張機能をインストールすると、インストール済み拡張機能のリストに表示されます。**［Import / Export Extension（インポート/エクスポート拡張機能）］** をクリックして起動します。

初めて拡張機能を起動すると、リストにあるアクティビティについて、拡張機能がAuth0アカウントにアクセスすることを許可するかが尋ねられます。

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/Sm-rZzBGG9mhReiN/docs/images/ja-jp/cdy7uua7fh8z/5CCKmxUv1HN5nDj9jL8qel/d7f02ccf3f4be166b00bbf217e14144f/Screen_Shot_2021-05-18_at_9.11.01_PM.png?fit=max&auto=format&n=Sm-rZzBGG9mhReiN&q=85&s=b0f1367f0e475b10d91bf07d6c3a4112" alt="Dashboard Extensions Authorize the Users Import/Export Extension" width="730" height="1254" data-path="docs/images/ja-jp/cdy7uua7fh8z/5CCKmxUv1HN5nDj9jL8qel/d7f02ccf3f4be166b00bbf217e14144f/Screen_Shot_2021-05-18_at_9.11.01_PM.png" />
</Frame>

**［check mark（チェックマーク）］** をクリックして続行します。

拡張機能では以下の2つを行うことができます。

* 既存のデータベースユーザーをAuth0に一括インポートする
* Auth0データベースユーザーの何人か（または全員）を検索またはエクスポートする

これらのユースケースについては以下で詳しく説明します。

### ユーザーをインポートする

デフォルトでは、拡張機能を開くたびに、**［User Import（ユーザーインポート）］** 画面が表示されます（エクスポート画面の場合は、左側のナビゲーションバーの **［Import（インポート）］** をクリックしてこの画面に戻ることができます）。

ユーザーをインポートするには、有効なJSONファイル（[スキーマと例はこちら](/docs/ja-jp/manage-users/user-migration/bulk-user-import-database-schema-and-examples)）を **［Drop your file here, or click to select（ここにファイルをドロップまたはクリックして選択）］** のエリアにドラッグアンドドロップします。または、この領域の任意の場所をクリックし、適切なJSONファイルを探して選択することもできます。JSONファイルには、インポートしたいユーザーのリストが含まれている必要があります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0テナントからエクスポートしたファイルを使用する場合は、`ndjson`から[JSON](https://auth0.com/docs/manage-users/user-migration/bulk-user-exports#json-compatible-format)に変換する必要があります。同じユーザーIDを維持するために、インポートするユーザーIDから`auth0| prefix`を削除しなければなりません。

  インポート処理では、ユーザーIDに自動的に`auth0| prefix`が追加されます。インポートする前に`auth0| prefix`を削除しなかった場合、ユーザーIDは、`auth0|auth0|...`として返されます。
</Callout>

ユーザーのインポート先になるデータベース接続を選択します。選択する接続が、少なくとも1つのアプリケーションで有効になっていることを確認してください。

インポートプロセスを開始するには、**［Start Importing Users（ユーザーのインポートを開始）］** をクリックします。

完了すると、次の **［Completed（完了）］** メッセージが表示されます。

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/qEDznvQyaSJAkqqp/docs/images/ja-jp/cdy7uua7fh8z/7hyE3DWBJuFuAulAAnZlfN/23303644d4c706f4c0937bd363bf6699/import-complete.png?fit=max&auto=format&n=qEDznvQyaSJAkqqp&q=85&s=57d2ffcded3ebb8118b225b8413719d6" alt="Dashboard Extensions Users Import Export Import Complete" width="673" height="293" data-path="docs/images/ja-jp/cdy7uua7fh8z/7hyE3DWBJuFuAulAAnZlfN/23303644d4c706f4c0937bd363bf6699/import-complete.png" />
</Frame>

ユーザーをインポートしたら、[Auth0 Dashboard>User Management>Users](https://manage.auth0.com/#/users)を使用して個別に管理できます。

### ユーザーをエクスポートする

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  エクスポートファイルのサイズが大きいため、Auth0はndjson形式を使用します。ユーザーをインポートする前に、**ndjson** を**json** に変換する必要があります。その際には、[jq](https://stedolan.github.io/jq/)など、ご希望のライブラリーを使用できます。後でインポートするためにユーザーをエクスポートする場合は、ユーザーフィールドの名前をデフォルトのままにしておきます。［Column Name（カラム名）］にマッピングしてはいけません。
</Callout>

データベース接続に関連付けられている既存のAuth0ユーザーをエクスポートするには、**［Export（エクスポート）］** を選択します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/dadTd1GKGvbSPiSP/docs/images/ja-jp/cdy7uua7fh8z/5wUhbGMjVQKIE9vx2SBIA3/a952aee6cc6027234631334c7174c4a8/export-users.png?fit=max&auto=format&n=dadTd1GKGvbSPiSP&q=85&s=df0ea7623a54bd4d0f0a0620c83dc380" alt="Dashboard Extensions Users Import Export Export Users page" width="1504" height="908" data-path="docs/images/ja-jp/cdy7uua7fh8z/5wUhbGMjVQKIE9vx2SBIA3/a952aee6cc6027234631334c7174c4a8/export-users.png" />
</Frame>

**［User Fields（ユーザー フィールド）］** では、エクスポートに含めるユーザー属性または式を決定できます。ユーザー属性は、`user.user_metadata.name`のような静的な値にすることも、`user.user_metadata.name || user.name` のようなJavaScript式にすることもできます。式はエクスポートの実行時に評価されます。**column name** の値は、エクスポートで値がどのように表現されるかを示します。

**［Add Default Fields（デフォルトフィールドの追加）］** ボタンをクリックすると、デフォルトフィールドが自動的に選択され、列名が入力されます（これは、パラメーター/式がどのように表示されるかを視覚化するのにも適した方法です）。

関連する **［trash can（ゴミ箱）］** アイコンをクリックすると、不要な属性/式を削除できます。

**［Settings（設定）］** では次のことができます：

* ユーザーを並べ替える **［User Attribute（ユーザー属性）］**（およびユーザーを昇順または降順で並べ替えるかどうか）を指定して、エクスポートされたユーザーのリスト方法を設定します。
* **［Export Format（エクスポート形式）］** を選択します。JSONファイルとCSVファイルから選択できます。

  <Frame>
    <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/w3k2AH_K7Myvi2qD/docs/images/ja-jp/cdy7uua7fh8z/1HVpo1IevSRJbFvwrEKkzf/761fa914f6c33cdee147e07b2c43f7c7/settings.png?fit=max&auto=format&n=w3k2AH_K7Myvi2qD&q=85&s=2de13cd20cc7d49de3ebf57607ab6f7c" alt="Dashboard 拡張機能 ユーザーのインポートエクスポート 設定 エクスポート形式" width="684" height="472" data-path="docs/images/ja-jp/cdy7uua7fh8z/1HVpo1IevSRJbFvwrEKkzf/761fa914f6c33cdee147e07b2c43f7c7/settings.png" />
  </Frame>

準備ができたら、**［Export X Users（Xユーザーのエクスポート）］** をクリックします（`X`はエクスポートするユーザーの数です）。

エクスポートが完了したら、ユーザーのファイルをダウンロードすることができます。

## ユーザーの更新

Auth0 <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>では、ユーザーインポート/エクスポート拡張機能を使用して、`user_metadata`および `app_metadata`へのユーザープロファイルの一括更新が可能です。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0は、現在、パスワードレスの一括インポートをサポートしていません。[Auth0 Management API](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id)を使って、ユーザーを個別に更新してください。
</Callout>

### ユーザーをエクスポートする

[上記のエクスポートプロセス](https://auth0.com/docs/customize/extensions/user-import-export-extension#export-users)を使用して、すべてのユーザー属性を含む完全なエクスポートファイルを作成します。

エクスポート形式にJSON形式を選択します。

エクスポートが完了したら、ユーザーのファイルをダウンロードします。

### 構成を更新する

前の手順でダウンロードしたJSONファイルの **［copy（コピー）］** を作成します。

<Warning>
  この処理を行うと、データが失われる可能性があります。データが破損したときのために、ユーザーデータベースのバックアップを作成してください。
</Warning>

複製したJSONファイルをテキストエディターで開きます。以下のようなユーザースキーマになっているはずです。

```json lines theme={null}
[
   {
      "Id":"auth0|626737a9813c000069daf462",
      "Nickname":"testuser1",
      "Name":"testuser1@auth0.com",
      "email":"testuser1@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-04-26T00:07:05.098Z",
      "Updated At":"2022-07-06T14:54:19.214Z"
   },
   {
      "Id":"auth0|62d1a1853bdcf11ff5dca672",
      "Nickname":"testuser2",
      "Name":"testuser2@auth0.com",
      "email":"testuser2@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-07-15T17:19:01.531Z",
      "Updated At":"2022-07-15T17:19:01.532Z"
   },
   {
      "Id":"auth0|62d1a1a524f32a4185c9ce23",
      "Nickname":"testuser3",
      "Name":"testuser3@auth0.com",
      "email":"testuser3@auth0.com",
      "Connection":"Username-Password-Authentication",
      "Created At":"2022-07-15T17:19:33.484Z",
      "Updated At":"2022-07-15T17:19:33.484Z"
   }
]
```

ユーザーのメールアドレスは、データベースでユーザーの検索キー（lookup key）となっているため、変更しないでください。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  IDには一意の`connection|id`がなければなりません。複数の接続に同じユーザーIDが存在すると、更新に失敗します。
</Callout>

属性を追加するには、各ユーザースキーマに新しいフィールドを作成し、値で更新します。以下の例では、「Family Name（姓）」属性に「Smith（スミス）」の値があり、新しい属性の後にカンマ（「,」）があります。

複数のユーザーに`email_verified`属性を追加し、値を`true`に設定することもできます。

```json lines theme={null}
{
   "Id":"auth0|626737a9813c000069daf462",
   "Nickname":"testuser1",
   "Family Name":"Smith",
   "Name":"testuser1@auth0.com",
   "email":"testuser1@auth0.com",
   "email_verified":true,
   "Connection":"Username-Password-Authentication",
   "Created At":"2022-04-26T00:07:05.098Z",
   "Updated At":"2022-07-06T14:54:19.214Z"
}
```

変更をユーザーファイルに保存します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  この処理では、複数のユーザーをブロックできません。Auth0 Dashboardまたは[Auth0 Management API](https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id)を使ってユーザーを個別にブロックしなければなりません。
</Callout>

### 更新したユーザープロファイルのデータをインポートする

`users-import`エンドポイントを使用すると、更新されたユーザープロファイルファイルをアップロードし、1つのジョブで複数のユーザーを更新できます。[インポートユーザーのジョブの作成エンドポイント](https://auth0.com/docs/api/management/v2/#!/Jobs/post_users_imports)に移動します。

ユーザーパラメーターにユーザーファイルを追加して、更新したいデータベースのデータベース接続を追加します。

既存のユーザー情報を更新するには、upsert値を`true`にする必要があります。更新を追加するには、**［Try（試す）］** を選択するか、Postmanを使用してユーザーをインポートします。

`job_id`を使用して、`jobs`[エンドポイント](https://auth0.com/docs/api/management/v2/#!/Jobs/get_jobs_by_id)のステータスを確認します。
