Recuperar anexos e metadados de anexos

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • A API NowAttachmentService permite que você execute operações CRUD em anexos e recupere metadados de anexo da sua instância ServiceNow.

    Usando esta API, você pode:
    • Carregar anexos para sua instância ServiceNow e associá-los a um registro específico.
    • Baixe um ou mais anexos.
    • Excluir anexos.
    • Valide um anexo comparando o hash calculado do anexo com o hash esperado.
    • Baixar metadados de anexo. Esses metadados são gerados por sua instância ServiceNow quando um anexo é carregado.

    Para obter informações adicionais sobre como trabalhar com anexos, consulte API de anexos.

    Todos os métodos NowAttachmentService fornecem três implementações para retornar dados de resultados. Um que chama um manipulador de conclusão com os resultados de retorno, um que executa um assíncrono/aguarda e outro que retorna um fornecedor Combine (obsoleto). Por exemplo, cada método upload() carrega e associa um anexo especificado a um registro especificado. No entanto, o método NowAttachmentService - upload (dados: dados, configuração: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate, conclusão: @escaping (resultado<NowAttachmentMetadata, NowDataError> )) chama um manipulador de conclusão com os resultados de retorno, o método NowAttachmentService - upload (dados: dados, configuração: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) lançamentos assíncronos executa um assíncrono/aguarda e o método NowAttachmentService - upload (dados: dados, configuração: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) retorna um publicador Combine.

    Antes de poder usar a API NowAttachmentService, você deve importar NowData e inicializar um objeto NowAttachmentService.
    // Import the NowData framework
    import NowData
    
    func makeAttachmentService(instanceUrl: URL, 
      completion: @escaping ((Result<NowAttachmentService, NowServiceErrors>) → Void))

    Paginação de metadados de anexo

    Você pode usar os métodos NowAttachmentService para baixar metadados de anexo para um ou mais anexos. Ao baixar metadados de vários anexos, convém usar o método NowAttachmentService - attachmentMetadataPaginator (filtro: filtro, limite: int), que retorna um objeto Paginator que permite iterar facilmente sobre a quantidade potencialmente grande de dados retornados. Normalmente, você usa resultados de retorno paginados para fornecer capacidades de rolagem infinitas para dados apresentados dentro de um UITableView, um UICollectionView (UIKit) ou uma lista (SwiftUI) ou para simplificar a iteração de página de resultados em geral.

    Depois de obter um objeto Paginator, assine seu fornecedor para começar a receber dados.
    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { ... }
      .store(in: &subscriptions)
    O objeto Paginator retornado fornece os seguintes métodos que permitem paginar os registros retornados:
    • primeiro ()
    • último ()
    • próximo ()
    • anterior ()
    • redefinir ()
    Nota:
    Alguns métodos do Paginador podem gerar uma exceção, como quando não há mais páginas para buscar.

    Além disso, o objeto Paginator fornece propriedades que permitem obter informações sobre os dados paginados. Para obter detalhes adicionais sobre essas propriedades e os métodos disponíveis, consulte API do Paginator - iOS.