Recuperar anexos e metadados de anexo
A API NowAttachmentService permite que você execute operações CRUD em anexos e recupere metadados de anexo da sua instância ServiceNow.
- 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 do anexo. Esses metadados são gerados pela 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 publicador Combinar (descontinuado). 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 (data: Data, configuração: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) lançamentos assíncronos executa um assíncrono/aguarda e o método NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) retorna um publicador Combine.
// 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 a quantidade potencialmente grande de dados retornados. Normalmente, você usa resultados de retorno paginados para fornecer recursos de rolagem infinita para os dados apresentados em um UITableView, um UICollectionView (UIKit) ou uma Lista (SwiftUI) ou para simplificar a iteração de página de resultados em geral.
paginator.publisher
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { ... }
.store(in: &subscriptions)- first()
- último ()
- avançar()
- anterior ()
- redefinir ()
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 paginador - iOS.