Esportazione mediante l'API REST
Questa sezione fornisce richieste e risposte di esempio quando si desidera esportare utenti, gruppi e AppRoles dall'ambiente in un altro dominio di Identity utilizzando l'API REST dei domini di Identity.
Le sezioni seguenti illustrano i passi riportati di seguito.
Per gestire in modo sicuro l'esportazione del file CSV da un dominio di Identity, viene eseguito il escape per tutti i valori di cella che iniziano con i caratteri seguenti. Ciò garantisce che se un valore di cella inizia con uno di questi valori inseriti nella lista di blocco, viene salvato nel file CSV, che evita l'inserimento del file CSV. Ad esempio, durante l'esportazione se il valore è
@test, il valore effettivo sarà '@test'.- Alle:
@ - Più:
+ - Meno:
- - Uguale a:
= - Barra verticale:
| - Percentuale:
%
Pianifica il job di esportazione
GET <domainURL>/admin/v1/ResourceTypeSchemaAttributes?filter=resourceType eq "User" and idcsCsvAttributeName pr&attributes=name,idcsCsvAttributeName,idcsDisplayName,description,type,required,canonicalValues,mutability,caseExact,multiValued,idcsMinLength,idcsMaxLength,idcsSearchablePer ulteriori informazioni sul caricamento di massa mediante la console del dominio di Identity, vedere Trasferimento dei dati.
Per esportare utenti, gruppi o AppRoles, inviare una richiesta POST all'endpoint /job/v1/JobSchedules e utilizzare il payload fornito nella richiesta di esempio. Nel corpo della richiesta di esempio JSON riportato di seguito, per le esportazioni jobType specifiche della risorsa, il valore per jobType può essere UserExport, GroupExport o AppRoleExport, a seconda del tipo di dati che si sta tentando di esportare.
È inoltre disponibile un'opzione di esportazione generica in cui il valore per jobType è Export, quindi viene aggiunto l'attributo resourceType e i valori possono essere User, Group o AppRole, a seconda del tipo di dati che si sta tentando di esportare.
Esportare le appartenenze a AppRole in una sola applicazione. L'esportazione tra più applicazioni esporta l'appartenenza di vari AppRoles in tutte le applicazioni.
Gli esempi riportati di seguito mostrano sia le opzioni di esportazione jobType specifiche delle risorse che le opzioni di esportazione generiche.
Richiesta di esempio per l'esportazione jobType specifica delle risorse
curl
-X POST
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: application/scim+json"
-H "Cache-Control: no-cache"
-d '{
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"],
"jobType": "UserExport",
"runNow": true,
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToExclude",
"value": "userName, profileUrl"
}
]
}'
"https://<domainURL>/job/v1/JobSchedules"
Risposta di esempio per esportazione jobType specifica di risorse
Prendere nota del valore
id (grassetto nella risposta di esempio). Questo è il valore per jobScheduleid specificato nella sezione successiva.{
"id": "fc565f0f-9555-4a44-803f-c06fe1d5d325",
"jobType": "UserExport",
"nextFireTime": "2022-08-12T15:27:28.057Z",
"runAt": "2022-08-12T15:27:28.057Z",
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToExclude",
"value": "userName, profileUrl"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"
]
}
Richiesta di esempio per esportazione generica
curl
-X POST
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: application/scim+json"
-H "Cache-Control: no-cache"
-d '{
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"],
"jobType": "Export",
"runNow": true,
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToGet",
"value": "userName,name,emails"
},
{
"name": "resourceType",
"value": "User"
}
]
}'
"https://<domainURL>/job/v1/JobSchedules"
Risposta di esempio per esportazione generica
Prendere nota del valore
id (grassetto nella risposta di esempio). Questo è il valore per jobScheduleid specificato nella sezione successiva.{
"id": "9cc824a6-87df-4831-8d2b-6cb524384733",
"isDisabled": false,
"jobType": "Export",
"nextFireTime": "Apr 21, 2017 3:44:11 AM CDT",
"runAt": "Apr 21, 2017 3:44:11 AM CDT",
"parameters": [
{
"name": "exportFormat",
"value": "CSV"
},
{
"name": "attributesToGet",
"value": "userName,name,emails"
},
{
"name": "resourceType",
"value": "User"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobSchedule"
],
"meta": {
"resourceType": "JobSchedule",
"location": "https://<domainURL>/job/v1/JobSchedules"
}
}
Visualizza dettagli job
Per visualizzare i dettagli del job di esportazione, inviare una richiesta GET all'endpoint /job/v1/JobHistories utilizzando jobScheduleid come identificativo.
Richiesta di esempio
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobHistories?filter=jobScheduleid%20eq%20%229cc824a6-87df-4831-8d2b-6cb524384733%22"
Risposta di esempio
Prendere nota del valore
id (grassetto nella risposta di esempio). Questo è il valore del job historyId specificato nella sezione successiva.{
"idcsLastModifiedBy": {
"type": "User",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"display": "admin opc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"idcsCreatedBy": {
"type": "User",
"display": "admin opc",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"percentage": 100,
"id": "d17135ee4d2a4c2e8d7e29eccb7c4f71",
"jobScheduleId": "9cc824a6-87df-4831-8d2b-6cb524384733",
"meta": {
"created": "Apr 21, 2017 3:44:11 AM CDT",
"lastModified": "Apr 21, 2017 3:44:12 AM CDT",
"resourceType": "JobHistory",
"location": "https://<domainURL>/job/v1/JobHistories/d17135ee4d2a4c2e8d7e29eccb7c4f71"
},
"jobDescription": "An Oracle Identity Cloud Service job to export User.",
"failureCount": 0,
"status": "succeeded",
"scheduled": "Apr 21, 2017 3:44:11 AM CDT",
"jobDisplayName": "User Export Job",
"totalCount": 1,
"instanceId": "afd082996a7b14927604199281492760419777",
"successCount": 1,
"startTime": "Apr 21, 2017 3:44:11 AM CDT",
"jobType": "Export",
"runNow": true,
"endTime": "Apr 21, 2017 3:44:12 AM CDT",
"parameters": [{
"name": "exportFormat",
"value": "CSV"
}, {
"name": "attributesToGet",
"value": "userName,name,emails"
}, {
"name": "resourceType",
"value": "User"
}
],
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:JobHistory"]
}
Visualizza report mansione
Per visualizzare il report job per il job di esportazione, inviare una richiesta GET all'endpoint /job/v1/JobReports utilizzando il job historyId come identificativo.
Richiesta di esempio
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
"https://<domainURL>/job/v1/JobReports?filter=historyId%20eq%20%22d17135ee4d2a4c2e8d7e29eccb7c4f71%22"
Risposta di esempio
Prendere nota del valore
name (grassetto nella risposta di esempio). Questo è il valore per fileName specificato nella sezione successiva.{
"schemas": [
"urn:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"Resources": [
{
"idcsLastModifiedBy": {
"type": "User",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"display": "admin opc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"idcsCreatedBy": {
"type": "User",
"display": "admin opc",
"value": "ed39884ad56b42ae91d80b8db57251dc",
"$ref": "https://<domainURL>/admin/v1/Users/ed39884ad56b42ae91d80b8db57251dc"
},
"type": "info",
"historyId": "d17135ee4d2a4c2e8d7e29eccb7c4f71",
"id": "9c1a12081ed04aeeaa9dd480c5f39094",
"jobType": "Export",
"meta": {
"created": "Apr 21, 2017 3:44:12 AM CDT",
"lastModified": "Apr 21, 2017 3:44:12 AM CDT",
"resourceType": "JobReport",
"location": "https://<domainURL>/job/v1/JobReports/9c1a12081ed04aeeaa9dd480c5f39094"
},
"message": "fileName",
"name": "files/export/201704210844/Export_d17135ee4d2a4c2e8d7e29eccb7c4f71.csv",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:JobReport"
]
}
],
"startIndex": 1,
"itemsPerPage": 1
}
Scarica file
Per scaricare il file dal server, inviare una richiesta GET all'endpoint /storage/v1/Files utilizzando fileName come identificativo.
curl
-X GET
-H "Authorization: Bearer <AccessToken>"
-H "Content-Type: multipart/form-data"
-H "Cache-Control: no-cache"
"https://<domainURL>/storage/v1/Files?fileName=export/201704210844/Export_d17135ee4d2a4c2e8d7e29eccb7c4f71.csv"