POST /api/v2/jobs/users-exportsエンドポイントを使用して、接続に関連付けられているすべてのユーザー、またはテナント内のすべてのユーザーをエクスポートするジョブを作成できます。
エクスポートできるユーザープロファイルフィールドのリストについては、「ユーザープロファイル構造」を参照してください。
ジョブを作成するときは、次の情報を提供する必要があります。
- ユーザーをエクスポートする接続のID(オプション)
- エクスポートファイルの形式(CSVまたはJSON互換)
- エクスポートするユーザーレコードの最大数(オプション、省略するとすべてのレコードがエクスポートされます)
- エクスポートに含めるユーザー関連フィールド(ユーザーIDや名前など)
要求本文を作成する
必要に応じて、でconnection_idとAuth0テナントドメイン名を見つけます。以下の要求本文を含む新しいテキストファイルを作成します。
connection_idをデータベース接続IDで更新するか、削除してテナント内のすべてのユーザーをエクスポートします。
要求例
必要なスコープ:read:users
応答はこのようになっているはずです。
エクスポートされたCSVにユーザーメタデータを含める
ユーザーデータをCSV形式でエクスポートし、メタデータ情報を含める場合は、エクスポートする各メタデータフィールドを指定します。最大30個のフィールドをエクスポートできます。app_metadataまたはuser_metadata全体をCSV形式でエクスポートすることはできません。メタデータオブジェクトのフィールドを明確に指定する必要があります。app_metadataまたはuser_metadataを単一のオブジェクトとしてエクスポートするには、JSON互換の形式で要求ボディのfieldsパラメーターに目的のフィールドを含めます。例:{"name":"app_metadata"}最大30個のフィールドしかエクスポートできないため、ユーザーデータに多くのフィールドがある場合は、JSON形式を使用することをお勧めします。ユーザーエクスポートのCSVファイルでは、CSVインジェクションのリスクを軽減するために、OWASP標準に準拠して以下のように文字列データ型のエスケープ処理を行います。
- 二重引用符の前に二重引用符を付加します。
- 文字列の先頭に一重引用符を付加します。
- 文字列を二重引用符で囲みます。
JSON互換形式
データをJSON互換形式でエクスポートする場合は、ルートプロパティのみを指定する必要があります。個々の内部プロパティは自動的に含められるため、名前を付ける必要はありません。 Auth0のエクスポートファイルは、エクスポートファイルのサイズが大きいためNDJSON形式を使用しますが、インポート機能ではJSONファイルが必要です。 Auth0によって生成されたエクスポートを使用してユーザーをインポートする前に、任意のライブラリ(jqなど)を使用して、ファイルをNDJSONからJSONに変換する必要があります。 この場合、前に使用したのと同じ例では、要求は次のようになります。エクスポートステータスの確認
ユーザーをエクスポートするジョブを作成したら、Get a Jobエンドポイントを使用してそのステータスを確認できます。 ジョブのID(ジョブの作成時に応答で受け取ったID)を指定します。以下のサンプル要求を使用している場合は、プレースホルダー{yourJobId}をIDの値に置き換えます。
必要なスコープ: create:users, read:users, create:passwords_checking_job
次のような応答が返されます。
エクスポートデータの検索
location パラメータの値として提供されたURLを使用することで、エクスポートファイルにアクセスできます。テナントの名前は、ファイルの名前でもあります。たとえば、テナント名がauth0docsの場合、ファイルはauth0docs.csvまたはauth0docs.jsonになります。URLに移動すると、ファイルのダウンロードが自動的に開始されます。
ダウンロードリンクは60秒間有効です。この期間が経過した場合、ジョブが期限切れになる前に24時間以内に再度呼び出すことができます。