Conceito: API REST para exportação de dados
Visão geral
A API de exportação de dados no serviço REST do Prism conhecimento exportar dados em grande escala de fontes de dados do Prism baseadas em tabelas.
Principais recursos
- Crie uma tarefa de exportação de dados para exportar dados de uma fonte de dados Prism baseada em tabela.
- Cancelar uma tarefa de exportação de dados específica. O status da tarefa de exportação de dados deve ser Programado ou Em execução.
- Os usuários em grupos de segurança sem restrição podem visualizar e cancelar todas as tarefas de exportação de dados.
- Os usuários em um grupo de segurança de autoatendimento podem visualizar e cancelar apenas as tarefas de exportação de dados que eles criaram.
- Verifique o status da tarefa de exportação de dados.
- Programado: o Workday programou a execução da tarefa de exportação de dados.
- Em processamento: o Workday está executando a tarefa de exportação de dados no momento.
- Êxito: o Workday concluiu a tarefa de exportação de dados e criou um ou mais arquivos de saída contendo os dados exportados.
- Cancelado: o Workday interrompeu a execução da tarefa de exportação de dados a solicitação de um usuário.
- Falha: o Workday encontrou um erro ao tentar executar a tarefa de exportação de dados.
- Baixe os arquivos de saída que contêm os dados exportados.
- Você só pode download os arquivos de saída permitidos pelo perfil de segurança do usuário atual.
- Você pode download de arquivos em sequência ou em paralelo. Você pode reduzir o tempo necessário para download todos os arquivos de saída baixando-os em paralelo.
- O desempenho do download depende de:
- O número de arquivos.
- O número de downloads simultâneos
- A largura de banda da rede entre o cliente de API e o servidor do Workday . Exemplo: se o cliente estiver em uma região geográfica diferente da do servidor, o tempo para download os arquivos aumentará.
Casos de uso
Caso de uso | Descrição |
|---|---|
Divulgações e relatórios obrigatórios | Em uma programação que pode intervalo de diária a anual, você precisa extrair do Workday grandes volumes de dados financeiros detalhados para períodos específicos. Após a exportação, você pode enviar os dados para um datação até um data lambda da empresa ou uma ferramenta de geração de relatórios regulamentares. A ferramenta facilita a formatação e o envio de divulgações financeiras para cumprir regulamentações rígidas. |
Análise avançada, engenharia de dados e geração de relatórios diversos | Você precisa extrair grandes volumes de dados operacionais e financeiros detalhados para períodos específicos do Workday. Após a exportação, você pode enviar os dados para um corporativoçãoçãose data ou para uma plataforma de computação, onde você pode criar modelos preditivos para estes itens, entre outros:
|
Suspensões e arquivamentos regulamentares | Você deve atender aos padrões regulatórios e de conformidade arquivando de cinco a sete anos de dados financeiros. Você deve disponibilizar esses dados às autoridades regulatórias e auditores imediatamente após a solicitação de, de acordo com as regulamentações e o setor aplicáveis. |
Solicitações de auditoria | Para conduzir uma auditoria completa, você deve solicitação todas as transações, atividades e metadados para determinados saldos durante um período de tempo especificado. Esses dados são necessário em uma base mensal, trimestral e anual, bem como para os exercícios anteriores. Você deve exportar um grande número de dados para o seu banco de dados de auditoria . |
Caminho base do URL
Roteiro base do locatário
Exemplo para criar uma tarefa de exportação de dados:https://{hostname}/api/prismAnalytics/{version}/{tenantname}/dataExport
https://yourTenantHostName.com/api/prismAnalytics/v3/<TENANT_NAME>/dataExport
Caminho base do gateway de API do Workday Extend
Para aplicativos do Workday Extend, use o URL base regional do gateway de API para a sua empresa. Consulte Referência: gateways de API do Workday Extend e URLs base de autorização no site do desenvolvedor.
O URL base do gateway de API não inclui o nome de locatário.
Considerações de segurança
Estes domínios na área funcional Prism:
- Exportação de dados Prism: executar: controla quem pode criar tarefas de exportação de dados.
- Exportação de dados Prism: gerenciar: controla quem pode visualizar e cancelar as tarefas de exportação de dados.
Criação de tarefa de exportação de dados
O campo
POST /dataExport
O ponto de extremidade facilita a criação de uma tarefa de exportação de dados.Considerações de segurança:
- domínioPrism Data Export: Executena área funcional Prism Analytics .
- Qualquer um destes requisitos de segurança para a tabela da qual você exporta:
- domínioPrism: Tables Managena área funcional Prism Analytics .
- domínioPrism: Tables Owner Managena área funcional Prism Analytics .
- permissãode visualizador de tabelana tabela.
- permissãopara editar a tabelana tabela.
- permissãode proprietário da tabelana tabela.
Use este método para criar uma tarefa de exportação de dados para uma fonte de dados Prism especificada.
Quando você cria uma tarefa de exportação de dados, o Workday gera um ou mais arquivos contendo dados da fonte de dados Prism que você pode download no seu computador local.
No corpo da solicitação , forneça um valor para estes parâmetros:
Parâmetro do corpo | Tipo | Descrição |
|---|---|---|
entrada | Objeto | Inclua uma consulta WQL que especifique todos os campos a serem exportados de uma fonte de dados Prism .
Use este formato:
Ao escrever a consulta WQL:
Para obter detalhes sobre como especificar uma consulta válida no parâmetro de entrada, consulte Referência: uso de consulta WQL e diretrizes para exportação de dados . |
saída | Objeto | Use este formato:
|
Solicitação de amostra:
POST /dataExport
Corpo da solicitação de amostra:
{ "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "type": "CSV_GZIP", "headers": true } }
Resposta de amostra
{ "createdMoment": "2017-03-17T00:00:00.000Z", "status": "Scheduled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "id": "b1bd0e1ac5d410001193bf9340050000" }
Obtenção de status da tarefa de exportação de dados
O campo
GET /dataExport
o ponto de extremidade facilita a recuperação de todas as tarefas de exportação de dados.O campo
GET /dataExport/{id}
facilita a recuperação de uma tarefa de exportação.Considerações de segurança:
domínio
Prism Data Export: Manage
na área funcional Prism Analytics .Este ponto de extremidade retorna as tarefas de exportação de dados para as quais o usuário atual tem permissão . Quando recuperar uma coleção, use estes parâmetros de consulta opcionais:
Parâmetro de consulta | Descrição | Valor por padrão | Máx. |
|---|---|---|---|
type | O valor de tipo determina quais campos de resposta devem ser incluídos.
| resumo | |
limit | O limite de entradas de dados de objeto incluídos em uma única resposta. | 20 | 1.000 |
offset | O compensação para o primeiro objeto em uma coleção a ser incluído na resposta. | 0 |
Solicitação de amostra:
GET /dataExport
Exemplo de resposta:
A resposta é uma coleção de tarefas de exportação de dados, no formato JSON .
Este exemplo de resposta exibe apenas uma tarefa de exportação de dados.
{ "total": 7, "data": [ { "createdMoment": "2023-08-03T22:47:10.929Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT insuranceOfficeState, sourceFileTag, sort1, sort2, agentCity, agentCountry, agentNote, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "output": { "noOfFiles": 4, "totalSizeInBytes": 5610214, "totalRows": 110408 }, "id": "b1bd0e1ac5d4100013ad1f50c6910000" }, ... ] }
solicitação de amostra para recuperar informações sobre a tarefa de exportação de dados com a ID = b1bd0e1ac5d410001193bf93400500000:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000
Exemplo de resposta:
{ "createdMoment": "2023-08-03T22:08:42.928Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Success", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData WHERE claimAmount > 1000", "type": "SQL" }, "output": { "createdTime": "2023-08-03T22:08:53.725Z", "expirationTime": "2023-08-10T22:08:53.725Z", "noOfFiles": 2, "totalSizeInBytes": 359680, "totalRows": 41301, "results": [ { "name": "part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 298913 }, { "name": "part-00001-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz", "length": 60767 } ] }, "id": "b1bd0e1ac5d410001193bf9340050000" }
Download de arquivos de saída
O campo
GET /dataExport/{id}/results/{fileName}
O ponto de extremidade facilita o download de arquivos de saída de uma tarefa de exportação de dados.Especifique:
- A ID da tarefa de exportação de dados.
- O nome do arquivo de saída da tarefa de exportação de dados.
O campo
GET /dataExport/{id}
O ponto de extremidade fornece os nomes dos arquivos de saída.Você só pode download os arquivos de saída permitidos pelo perfil de segurança do usuário atual. Você pode download de arquivos em sequência ou em paralelo.
Considerações de segurança:
domínio
Prism Data Export: Manage
na área funcional Prism Analytics . solicitação de amostra para download o arquivo denominado parte-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c000.csv.gz:
GET /dataExport/b1bd0e1ac5d410001193bf9340050000/results/part-00000-70e49bea-487e-4a3e-b43e-be3935e951c1-c 000.csv.gz
Cancelamento de uma tarefa de exportação de dados
O campo
POST /dataExport/{id}/cancel
O ponto de extremidade facilita o cancelamento de uma tarefa específica de exportação de dados que está programada ou em execução.Você só pode cancelar tarefas de exportação de dados permitidas pelo perfil de segurança do usuário atual.
Considerações de segurança:
Um destes domínios na área funcional Prism Analytics :
- Exportação de dados Prism: executar
- Exportação de dados Prism: gerenciar
Qualquer um destes requisitos de segurança para a tabela da qual você exporta:
- domínioPrism: Tables Managena área funcional Prism Analytics .
- domínioPrism: Tables Owner Managena área funcional Prism Analytics .
- permissão de visualização da tabela na tabela.
- permissão para editar a tabela na tabela.
- permissão de proprietário da tabela na tabela.
Solicitação de amostra:
Você deve incluir uma cadeia de caracteres JSON vazio , {} no corpo da solicitação desse método.
solicitação de amostra para cancelar uma tarefa de exportação de dados com a ID b1bd0e1ac5d4100018d18abc4ea000000:
POST /dataExport/b1bd0e1ac5d4100018d18abc4ea00000/cancel
Exemplo de resposta:
A resposta contém a tarefa de exportação de dados, incluindo seu status atual de Cancelado no formato JSON .
{ "createdMoment": "2023-08-04T00:21:24.914Z", "createdBy": { "id": "274555853a4446cf8809325243534f34", "descriptor": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)", "fullName": "BLiu / Betty Liu (manager 4300, CostCtrMgr 30.3, 41200, PayIntPartner; PayPartner, PayAdmin)" }, "status": "Canceled", "input": { "query": "SELECT agentCity, GET_DISPLAY_ID(billingCompany) AS billing_company, GET_DISPLAY_ID(billingCostCenter) AS billing_CostCenter FROM cds_insuranceClaimData", "type": "SQL" }, "id": "b1bd0e1ac5d4100018d18abc4ea00000" }
Limitações
- Os cargos de exportação são de baixa prioridade e terão precedência mais baixa do que outros cargos, como a publicação.
- Você não pode download os arquivos gerados após 7 dias, pois eles serão excluídos.
- Estes valores máximos são definidos como medidas de proteção para otimizar o desempenho e a confiabilidade do sistema:
- 1 bilhões de linhas por tarefa de exportação.
- 1.000 colunas por consulta.
- Solicitações de download simultâneas:
- Se o limite do sistema for atingido, você receber uma resposta 503 - HIT_ SERVER_LIMIT.
- Se um locatário exceder seu limite específico, você receber uma resposta 429 - HIT_TENENT_LIMIT.
- Tarefas de exportação simultâneas:
- Apenas uma tarefa de exportação pode ser executada por vez por usuário ou locatário.
- Todas as tarefas de exportação adicionais serão colocadas automaticamente na fila até que a tarefa atual seja concluída.
Erros comuns
Erros de validação:
- Json de entrada malformado.
- SQL malformado, campos/nome de tabela inválido , funções sem suporte
- medidas de proteção: número de campos > 10000
- Restrições de segurança não atendidas.
Erros de execução
- Erros do sistema
- Feedbacks: falha se a extração tem mais de 1B linhas.
Baixar APIs
- Durante o download, é sempre recomendável que o cliente HTTP tenha novas tentativas devido a problemas imprevistos na rede ou no sistema. Há uma limitação de taxa aplicada ao número de conexões simultâneas criadas para um locatário e um servidor. De vez em quando você pode ver códigos de status HTTP429ou503devido a esses limites aplicados. É recomendável que o cliente aguarde um tempo e tente a solicitação novamente.
Considerações de desempenho
Desempenho da extração de dados:
- O tempo de execução da extração de dados varia de acordo com o tipo de dados e o número de linhas e colunas nos dados.
- O tempo de execução aumenta com o volume de dados.
Baixar desempenho:
- O tempo total de download para todos os tamanhos de arquivo diminui linearmente com o número de processos que download os resultados.
- O desempenho do download também pode ser afetado pela largura de banda da rede e local do servidor do locatário .