Apêndice do guia de API Catalog Service

Este documento contém informações adicionais para ajudar você a trabalhar com a API Catalog.

Exibir objetos inter-relacionados view-interrelated-objects

Alguns objetos Catalog podem ser inter-relacionados com outros objetos Catalog. Quaisquer campos que tenham o prefixo @ em cargas de resposta denotam objetos relacionados. Os valores desses campos tomam a forma de um URI, que pode ser usado em uma solicitação do GET separada para recuperar os objetos relacionados que representam.

O conjunto de dados de exemplo retornado no documento em procurando um conjunto de dados específico contém um campo files com o seguinte valor de URI: "@/datasetFiles?datasetId={DATASET_ID}". O conteúdo do campo files pode ser visualizado usando esse URI como o caminho para uma nova solicitação GET.

Formato da API

GET {OBJECT_URI}
Parâmetro
Descrição
{OBJECT_URI}
O URI fornecido pelo campo de objeto inter-relacionado (excluindo o símbolo @).

Solicitação

A solicitação a seguir usa o URI fornecido com a propriedade files do conjunto de dados de exemplo para recuperar uma lista dos arquivos associados do conjunto de dados.

curl -X GET \
  'https://platform.adobe.io/data/foundation/catalog/dataSets/datasetFiles?datasetId={DATASET_ID}' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Resposta

Uma resposta bem-sucedida retorna uma lista de objetos relacionados. Neste exemplo, uma lista de arquivos de conjunto de dados é retornada.

{
    "7d501090-0280-11ea-a6bb-f18323b7005c-1": {
        "id": "7d501090-0280-11ea-a6bb-f18323b7005c-1",
        "batchId": "7d501090-0280-11ea-a6bb-f18323b7005c",
        "dataSetViewId": "5ba9452f7de80400007fc52b",
        "imsOrg": "{ORG_ID}",
        "createdUser": "{USER_ID}",
        "createdClient": "{CLIENT_ID}",
        "updatedUser": "{USER_ID}",
        "version": "1.0.0",
        "created": 1573256315368,
        "updated": 1573256315368
    },
    "148ac690-0280-11ea-8d23-8571a35dce49-1": {
        "id": "148ac690-0280-11ea-8d23-8571a35dce49-1",
        "batchId": "148ac690-0280-11ea-8d23-8571a35dce49",
        "dataSetViewId": "5ba9452f7de80400007fc52b",
        "imsOrg": "{ORG_ID}",
        "createdUser": "{USER_ID}",
        "createdClient": "{CLIENT_ID}",
        "updatedUser": "{USER_ID}",
        "version": "1.0.0",
        "created": 1573255982433,
        "updated": 1573255982433
    },
    "64dd5e19-8ea4-4ddd-acd1-f43cccd8eddb-1": {
        "id": "64dd5e19-8ea4-4ddd-acd1-f43cccd8eddb-1",
        "batchId": "64dd5e19-8ea4-4ddd-acd1-f43cccd8eddb",
        "dataSetViewId": "5ba9452f7de80400007fc52b",
        "imsOrg": "{ORG_ID}",
        "createdUser": "{USER_ID}",
        "createdClient": "{CLIENT_ID}",
        "updatedUser": "{USER_ID}",
        "version": "1.0.0",
        "created": 1569499425037,
        "updated": 1569499425037
    }
}

Cabeçalhos de solicitação adicionais

O Catalog fornece várias convenções de cabeçalho para ajudar você a manter a integridade dos dados durante as atualizações.

Se-Correspondência

É uma boa prática usar o controle de versão de objetos para evitar o tipo de corrupção de dados que ocorre quando um objeto é salvo por vários usuários quase simultaneamente.

A prática recomendada ao atualizar um objeto envolve primeiro fazer uma chamada de API para exibir (GET) o objeto a ser atualizado. Contido na resposta (e qualquer chamada em que a resposta contenha um único objeto) é um cabeçalho E-Tag que contém a versão do objeto. Adicionar a versão do objeto como um cabeçalho de solicitação chamado If-Match em suas chamadas de atualização (PUT ou PATCH) resultará na atualização apenas se a versão ainda for a mesma, ajudando a evitar colisão de dados.

Se as versões não corresponderem (o objeto foi modificado por outro processo desde que você o recuperou), você receberá o status HTTP 412 (Falha na pré-condição), indicando que o acesso ao recurso de destino foi negado.

Pragma

Ocasionalmente, talvez você queira validar um objeto sem salvar as informações. O uso do cabeçalho Pragma com um valor de validate-only permite enviar solicitações POST ou PUT somente para fins de validação, impedindo que as alterações nos dados sejam persistentes.

Compactação de dados

A compactação é um serviço Experience Platform que mescla dados de arquivos pequenos em arquivos maiores sem alterar dados. Por motivos de desempenho, às vezes é útil combinar um conjunto de arquivos pequenos em arquivos maiores para fornecer acesso mais rápido aos dados ao serem consultados.

Quando os arquivos em um lote assimilado tiverem sido compactados, seu objeto Catalog associado será atualizado para fins de monitoramento.

recommendation-more-help
c5c02be6-79a3-4a2f-b766-136bffe8b676