Criando uma configuração de extração de dados ad hoc

É possível ajustar o processo de extração de dados para recuperar dados do banco de dados de backup de produção para seus requisitos ad hoc.

Sobre esta tarefa

Se sua consulta puder buscar dados enormes e se não for possível refinar a consulta ou se a paginação não estiver funcionando, será possível usar o Serviço de Extração de Dados de maneira ad hoc para recuperar os dados. Embora isso faça uma extração cega dos dados da tabela, não afeta o desempenho do servidor de aplicativos e do banco de dados.

É possível criar uma configuração de extração de dados ad hoc que seja identificada por um TaskId para as tabelas e colunas com base em seus requisitos, configurar uma alta frequência para que ela não seja chamada automaticamente e configurar quantos dias de dados mais antigos, conforme necessário Não deve-se criar outros critérios do agente para o agente CoC Data Extract Em vez disso, ele será executado com os mesmos critérios do agente, que são configurados para as extrações de dados regulares Os dados extraídos são compactadas e enviados ao mesmo local remoto configurado para as extrações de dados regulares.

É preferencial acionar as extrações ad hoc quando a extração regular não está em execução Os cálculos de memória são feitos considerando apenas um serviço de extração de dados executado no servidor ou JVM e, se um heap maior não for fornecido, a tarefa levará mais tempo. Além disso, se extrações regulares também estão em execução, você precisa fazer seu aplicativo de consumo para não pegar a extração se o arquivo compactado ou as tarefas destinadas para extração ad hoc.

Procedimento

  1. Consulte a amostra a seguir para criar uma configuração ad hoc.. Isso cria uma configuração para extrair as colunas especificadas de YFS_Order_Line para os últimos 90 dias A frequência é configurada para 2400 horas para que não seja acionada automaticamente para os próximos 100 dias.
    <DataExtractConfig Action="ADD" 
    TaskId="yfs_order_line_adhoc_extract_1"
    TableName="YFS_ORDER_LINE"
    Columns="ORDER_LINE_KEY,ORDER_HEADER_KEY,PRIME_LINE_NO,ITEM_ID,UOM,ORDERED_QTY" 
    FrequencyInHours="2400" FirstRunExtractInDays="90"/>
    
  2. Execute a consulta a seguir a partir do Database Query Client para identificar as execuções de extração de dados no passado recente. Esta consulta retorna as tarefas de extração anteriores com a última aparecendo no início da lista. Consulte o valor para a coluna RUN_AT, para um registro de tarefa de extração regular no topo da lista. Saiba o intervalo do acionador de critérios para que seja possível deduzir o tempo aproximado do próximo acionador.
    SELECT CFG.TASK_ID, CFG.TABLE_NAME, JOB.RUN_AT, JOB.STATUS FROM YFS_DATA_EXTR_CFG CFG, 
    YFS_DATA_EXTR_JOB JOB WHERE CFG.DATA_EXTR_CFG_KEY=JOB.DATA_EXTR_CFG_KEY ORDER BY 
    JOB.RUN_AT DESC
  3. Plataforma legada Como alternativa, você pode ver o próximo horário de acionamento para esse critério no Painel do servidor (https://<ip>:<port>/sma/sma/nghome.do). Clique no servidor que está configurado para extração regular de dados e veja a hora do próximo acionamento do cronograma. Se você estiver muito perto do intervalo do acionador, será possível aguardar a execução planejada para selecionar sua configuração e extrair dados Caso contrário, você pode acionar os critérios manualmente na mesma tela.
    Cada acionamento do agente de extração de dados passa por toda a configuração de extração e aciona-os com base no último intervalo de tempo e frequência de extração Pela primeira vez, ele passa pelo atributo FirstRunExtractInDays fornecido na configuração. Portanto, para extrações ad hoc, é aconselhável excluir a configuração após a extração ou manter a frequência alta
    Observação: é aplicável somente a clientes antigos.
  4. O XML de entrada para excluir a tarefa de configuração de extração de dados que é criada acima é o seguinte:
    <DataExtractConfig Action="DELETE" TableName="YFS_ORDER_LINE" 
    TaskId="yfs_order_line_adhoc_extract_1"/>
  5. Se essa configuração for para uma extração, será possível criá-la diretamente no banco de dados de produção usando uma chamada REST e excluí-la após o uso Mas se você vir uma necessidade contínua das mesmas tabelas e colunas e desejar apenas os registros novos ou modificados para execuções subsequentes, será possível criar essa configuração como extração regular no ambiente de Configuração Principal e obtê-la para o ambiente de Produção usando a CDT.
    Tabela 1. URLs REST de amostra para criar e excluir da configuração de extração
    Requisito Padrão URL REST
    Criar Configuração de Extração de dados
    POST
    URL: https://<ip>:<port>/smcfs/restapi/executeFlow/CocDataExtractConfig
    Body: 
    { 
    "Action":"ADD",
    "TaskId":"yfs_order_line_adhoc_extract_1",
    "TableName":"YFS_ORDER_LINE",
    "Columns":"ORDER_LINE_KEY,ORDER_HEADER_KEY,PRIME_LINE_NO,ITEM_ID,UOM, ORDERED_QTY",
    "FrequencyInHours":"2400",
    "FirstRunExtractInDays":"90"
    }
    Headers:
    Content-Type:	application/json
    X-XAPI-Tag:	DataExtractConfig
    
    Excluir Configuração de Extração de Dados
    POST
    https://<ip>:<port>/smcfs/restapi/executeFlow/CocDataExtractConfig
    Body: 
    { 
    "Action":"DELETE",
    "TableName":"YFS_ORDER_LINE",
    "TaskId":"yfs_order_line_adhoc_extract_1"
    }
    Headers:
    Content-Type:	application/json
    X-XAPI-Tag:	DataExtractConfig
    
  6. Depois que os critérios forem acionados, execute a consulta a seguir a partir do Database Query Client para identificar se a extração ad hoc foi bem-sucedida e para obter informações sobre o arquivo extraído.
    SELECT CFG.TASK_ID, CFG.TABLE_NAME, JOB.STATUS, JOB.RUN_AT, JOB.STARTTS, JOB.ENDTS, 
    JOB.FILE_XFR_SIZE, JOB.AVG_ROW_LENGTH FROM YFS_DATA_EXTR_CFG CFG, YFS_DATA_EXTR_JOB 
    JOB WHERE CFG.DATA_EXTR_CFG_KEY=JOB.DATA_EXTR_CFG_KEY AND TASK_ID=<provide  task_id> 
    ORDER BY JOB.RUN_AT DESC
    A extração será bem-sucedida se a coluna STATUS exibir SUCCESS no resultado.. Os dados extraídos são compactadas e enviados para o local de FTP remoto configurado para extrações de dados regulares O padrão do arquivo de extração é <TASK_ID>__<TABLE_NAME>__<STARTTS>_<ENDTS>_m_of_n.zip Observe que TASK_ID, TABLE_NAME, STARTTS e ENDTS do resultado da consulta identificam o arquivo extraído. Por exemplo, a seguir está o resultado da execução de amostra:
    TASK_ID TABLE_NAME Status EXECUTAR_EM INICIAIS FIM
    yfs_inbox_adhoc_extract_3 YFS_INBOX SUCESSO 16/11/2017 05:41:31.0 08/08/2017 05:41:31.0 16/11/2017 05:31:31.0
    E o arquivo de extração é nomeado como yfs_inbox_adhoc_extract_3__YFS_INBOX__20170808054131_20171116053131_1_of_1.zip ..