DevOps

Visão geral

A API DevOps permite automatizar tarefas comuns aos administradores e desenvolvedores do sistema, responsáveis pela manutenção das bases de dados em operação.

Log transacional

O log transacional do sistema é implementado por meio da tabela iLog. Essa tabela armazena todas as alterações (Log) realizadas pelos usuários na base de dados. Essa tabela é atualizada pelo método ApplyUpdates e nela são registrados os valores anteriores e posteriores de todas as alterações realizadas pelos usuários.

Com todas essas informações é possível fazer um processo de auditoria no sistema com o objetivo de identificar o que foi feito e quando foi feito. Quando há erro de dados em um registro, geralmente se olha o log transacional para verificar toda a “vida” daquele registro na base de dados.

Para mais detalhes, acesse o manual Log transacional.

POST /api/devops/v1/transaction-log/clear

Limpa a tabela iLog com base nas configurações das classes de máximo de dias de manutenção de registros (propriedade “transactionLogMaxDays”).

Escopos de autorização requeridos:

  • api.devops
  • system.clearTransactionLog

Parâmetros:

  • Query string: nenhum
  • Corpo da requisição: nenhum

Exemplo de consumo:

curl -X POST -i https://<your_domain>:<port>/api/devops/v1/transaction-log/clear -u '<user>:<pass>'

Resultado:

HTTP/1.1 200 OK

Replicação de dados

A replicação de dados tem o objetivo de alimentar as bases de homologação, desenvolvimento ou manutenção com massa de dados para testes. Basicamente ela consiste em enviar as inserções, alterações ou remoções de registros de chave positiva ocorridas na base de dados de origem para a base de dados de destino.

Para mais detalhes, acesse o manual Replicação de dados

GET /api/devops/v1/replication/configs

Obtém a lista de configurações de replicação de dados.

Escopos de autorização requeridos:

  • api.devops

Parâmetros:

  • Query string: nenhum
  • Corpo da requisição: nenhum

Exemplo de consumo:

curl -X GET -i https://<your_domain>:<port>/api/devops/v1/replication/configs -u '<user>:<pass>'

Resultado:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "enabled": true,
        "databases": [
            {
                "name": "HOMOLOGACAO",
                "key": 987654
            }
        ],
        "name": "Ambiente de homologação",
        "key": 123456
    },
    {
        "enabled": false,
        "databases": [
            {
                "name": "DESENVOLVIMENTO",
                "key": 456789
            }
        ],
        "name": "Ambiente de desenvolvimento",
        "key": 654321
    }
]

GET /api/devops/v1/replication/configs/<key>

Obtém os dados da configuração de replicação de dados.

Escopos de autorização requeridos:

  • api.devops

Parâmetros:

  • Caminho do ponto de acesso:
    • key: a chave da configuração de replicação de dados
  • Query string: nenhum
  • Corpo da requisição: nenhum

Exemplo de consumo:

curl -X GET -i https://<your_domain>:<port>/api/devops/v1/replication/configs/123456 -u '<user>:<pass>'

Resultado:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "enabled": true,
    "databases": [
        {
            "name": "HOMOLOGACAO",
            "key": 987654
        }
    ],
    "name": "Ambiente de homologação",
    "key": 123456
}

POST /api/devops/v1/replication/configs/<key>/sync

Executa a sincronização para a chave da configuração de dados informada.

Escopos de autorização requeridos:

  • api.devops

Parâmetros:

  • Caminho do ponto de acesso:
    • key: a chave da configuração de replicação de dados
  • Query string: nenhum
  • Corpo da requisição: nenhum

Exemplo de consumo:

curl -X POST -i https://<your_domain>:<port>/api/devops/v1/replication/configs/123456/sync -u '<user>:<pass>'

Resultado:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "targetDatabase": "HOMOLOGACAO",
        "executionTime": 74,
        "configName": "Ambiente de homologação",
        "endVersion": 2000,
        "updateVersions": [
            3000,
            4000
        ],
        "success": true,
        "startVersion": 1000,
        "sourceDatabase": "PRODUCAO",
        "errorMessage": "",
        "stats": {
            "numDeletes": 0,
            "numUpdates": 15,
            "numTransactionLogs": 0,
            "numTargetEntries": 16,
            "numInserts": 0
        }
    }
]

POST /api/devops/v1/replication/sync

Executa a replicação de dados para todas as configurações de replicação de dados habilitadas.

Escopos de autorização requeridos:

  • api.devops

Parâmetros:

  • Query string: nenhum
  • Corpo da requisição: nenhum

Exemplo de consumo:

curl -X POST -i https://<your_domain>:<port>/api/devops/v1/replication/sync -u '<user>:<pass>'

Resultado:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "targetDatabase": "HOMOLOGACAO",
        "executionTime": 74,
        "configName": "Ambiente de homologação",
        "endVersion": 2000,
        "updateVersions": [
            3000,
            4000
        ],
        "success": true,
        "startVersion": 1000,
        "sourceDatabase": "PRODUCAO",
        "errorMessage": "",
        "stats": {
            "numDeletes": 0,
            "numUpdates": 15,
            "numTransactionLogs": 0,
            "numTargetEntries": 16,
            "numInserts": 0
        }
    }
]