Classe NowAttachmentService - iOS

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 32 min. de leitura
  • . NowAttachmentService a classe fornece funções que permitem carregar e consultar anexos associados a registros em uma tabela em um ServiceNow instância.

    Você pode carregar ou recuperar um único arquivo com cada solicitação. NowAttachmentService respeita todas as limitações do sistema em arquivos carregados, como tamanho máximo de arquivo e tipos de anexo permitidos. Você pode controlar essas configurações usando as propriedades da instância com.glide.attachment.max_size, 1024 MB por padrão e glide.attachment.extensions.

    Nota:
    NowAttachmentService Aceita todos os valores de Content-Type (/). Especifique o tipo de conteúdo do arquivo ao carregar um anexo. O tipo de conteúdo é armazenado com os metadados do arquivo, permitindo que outras ferramentas identifiquem e analisem corretamente o arquivo.
    Tabela 1. Propriedades
    Nome Tipo Descrição
    configuração NowServiceConfiguration Definições de configuração fornecidas quando o serviço foi inicializado.

    NowAttachmentService - anexo(para sySID: Cadeia de caracteres, validateAttachment: Boolian) lançamentos assíncronos

    Recupera o anexo com o sys_id especificado e valida o anexo comparando o hash calculado do anexo com a soma de verificação SHA256 esperada.

    Nota:
    A validação de um anexo pode causar um impacto no desempenho. Você pode ignorar a etapa de validação definindo validateAttachmentparâmetro para falso . Você pode validar o anexo em uma fase posterior, se necessário, chamando Attachment.validate() função.
    Tabela 2. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo a ser recuperado.
    ValidateAttachment Booliano Sinalizador que indica se o anexo deve ser validado.
    Valores válidos:
    • Verdadeiro: Valide o anexo.
    • Falso: Não valide o anexo.

    Padrão: verdadeiro

    Tabela 3. Retornos
    Tipo Descrição
    NowAttachment Retornado quando o método é bem-sucedido. Anexo especificado.
    NowDataError Lançado quando o método falha.
    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    Os exemplos de código a seguir mostram como chamar este método.

    func downloadAttachment(sysId: String) async throws -> NowAttachment {
        do {
            let nowAttachment = try await attachmentService.attachment(for: sysId, validateAttachment: false)
            return nowAttachment
        } catch {
            // Handle NowDataError
            throw error
        }
    }

    NowAttachmentService - anexo(para SYSID: Cadeia de caracteres, validateAttachment: Booliano, conclusão: Escape (<NowAttachment, NowDataError>))

    Recupera o anexo com o sys_id especificado e valida o anexo comparando o hash calculado do anexo com a soma de verificação SHA256 esperada. Uma vez concluído, ele executa o manipulador de conclusão aprovado.

    Nota:
    A validação de um anexo pode causar um impacto no desempenho. Você pode ignorar a etapa de validação definindo validateAttachmentparâmetro para falso . Você pode validar o anexo em uma fase posterior, se necessário, chamando Attachment.validate() função.
    Tabela 4. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo a ser recuperado.
    ValidateAttachment Booliano Sinalizador que indica se o anexo deve ser validado.
    Valores válidos:
    • Verdadeiro: Valide o anexo.
    • Falso: Não valide o anexo.

    Padrão: verdadeiro

    conclusão Escapando (Resultado​> NowAttachment NowDataError>) Manipulador de conclusão a ser executado depois que o anexo for recuperado.
    Valores de retorno para o manipulador de conclusão:
    • Sucesso: NowAttachment - Anexo solicitado
    • NowDataError
      • AccessToken(AccessTokenProviderError)
        • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
          • AccessTokenRecupereToken
          • UserSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • AnexoValidação

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCodeCódigo de status recebido da instância.

        Acionado quando uma solicitação retorna uma resposta inesperada

      • CannotDecodeModel(DecodingError)
        • DecodingErrorErro de decodificação detectado.

        Lançado quando um modelo codificável não pode ser decodificado do JSON.

      • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
        • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • fromCadeia de caracteres a ser decodificada para o tipo especificado.

        Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

      • CannotEncodeModel(EncodingError)
        • EncodingErrorErro de codificação detectado.

        Lançado quando um modelo codificável não pode ser codificado para JSON.

      • CannotParseResponse

        Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

      • URL inválida

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

      • MissingAttachmentMetadados

        Acionado quando o cabeçalho de metadados do anexo está ausente.

      • MissingServiceConfiguration

        Acionado quando uma configuração de serviço esperada está ausente.

      • MissingSySID

        Acionado quando um parâmetro sys_id esperado está ausente.

      • Rede (NetworkServiceError)
        • GenericError (cadeia de caracteres)
        • OperaçãoCancelada
        • Serviço​desabilitado
        • ServerError (Erro)
        • SystemError (Erro)

        Disparado quando um serviço de rede encontrou um erro.

    Tabela 5. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

    let sysId = UUID().uuidString  // UUID for the attachment
    private func downloadAttachment(sysId: String) {
      attachmentService.attachment(for: sysId, validateAttachment: false) { (result) in
        switch result {
          case .success(let attachment):
            // Attachment retrieved successful, return attachment
          case .failure(let error):
            // Attachment retrieved failed, return NowDataError
        }
      }
    }

    NowAttachmentService - anexo(para SYSID: Cadeia de caracteres, validateAttachment: Boolian)

    Recupera o anexo com o sys_id especificado e valida o anexo comparando o hash calculado do anexo com o hash esperado.

    Nota:
    A validação de um anexo pode causar um impacto no desempenho. Você pode ignorar a etapa de validação definindo validateAttachmentparâmetro para falso . Se necessário, você pode validar o anexo em uma fase posterior chamando o. Attachment.validate() função.
    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 6. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo a ser recuperado.
    ValidateAttachment Booliano Sinalizador que indica se o anexo deve ser validado.
    Valores válidos:
    • Verdadeiro: Valide o anexo.
    • Falso: Não valide o anexo.

    Padrão: verdadeiro

    Tabela 7. Retornos
    Tipo Descrição
    AnyPublisher ​NowAttachment NowDataError> Sucesso: NowAttachment - Contém o anexo especificado.

    NowDataError

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    let sysId = UUID().uuidString  // UUID for the attachment
    private func downloadAttachment(sysId: String) {
      let publisher = self.attachmentService.attachment(for: sysId, validateAttachment: false)
      publisher
        .receive(on: DispatchQueue.main)
        .sink { [weak self] completion in
          if case let .failure(error) = completion {
            // Attachment retrieved failed, return NowDataError
          }
        } receiveValue: { [weak self] (attachment) in
          // Attachment retrieved successful, return attachment
        }
        .store(in: &subscriptions)
    }

    NowAttachmentService - attachmentMetadata(filter: Filter, limit: Int) lançamentos assíncronos

    Recupera os metadados de todos os anexos que atendem aos critérios especificados.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    filtros Filtro Opcional. Cadeia de caracteres de consulta a ser usada para filtrar os anexos cujos metadados serão retornados.

    Padrão: Nil - Retorna metadados para todos os anexos disponíveis. Leva em consideração limitparâmetro.

    limite Inteiro Opcional. Número máximo de metadados do arquivo de anexo a serem retornados.

    Padrão: Nil - Retorna todos os metadados que atendem a. filterespecificações de parâmetro.

    Tabela 9. Retornos
    Tipo Descrição
    NowAttachmentadata] Retornado quando o método é bem-sucedido. Matriz que contém os metadados dos anexos correspondentes.
    NowDataError Lançado quando o método falha.
    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    Os exemplos de código a seguir mostram como chamar este método.

    let filter = Filter(criteria: [], sortBy: [.desc("created")],
                 queryCategory: nil)
    do {
        let metadata = try await attachmentService.attachmentMetadata(filter: filter, limit: 10)
        // Metadata retrieval successful
    } catch {
        // Metadata retrieval failed, NowDataError thrown
    }

    NowAttachmentService - attachmentMetadata(filtro: Filtro, limite: Int, conclusão: Escape (result), NowDataError>))

    Recupera os metadados de todos os anexos que atendem aos critérios especificados.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    filtros Filtro Opcional. Cadeia de caracteres de consulta a ser usada para filtrar os anexos cujos metadados serão retornados.

    Padrão: Nil - Retorna metadados para todos os anexos disponíveis. Leva em consideração limitparâmetro.

    limite Inteiro Opcional. Número máximo de metadados do arquivo de anexo a serem retornados.

    Padrão: Nil - Retorna todos os metadados que atendem a. filterespecificações de parâmetro.

    conclusão (Resultado​>[ NowAttachmentMetadados ], NowDataError>) Manipulador de conclusão a ser executado depois que os metadados forem recuperados.
    Valores de retorno para o manipulador de conclusão:
    • NowAttachmentMetadata - Objetos que contêm os metadados solicitados.
    • NowDataError
      • AccessToken(AccessTokenProviderError)
        • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
          • AccessTokenRecupereToken
          • UserSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • AnexoValidação

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCodeCódigo de status recebido da instância.

        Acionado quando uma solicitação retorna uma resposta inesperada

      • CannotDecodeModel(DecodingError)
        • DecodingErrorErro de decodificação detectado.

        Lançado quando um modelo codificável não pode ser decodificado do JSON.

      • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
        • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • fromCadeia de caracteres a ser decodificada para o tipo especificado.

        Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

      • CannotEncodeModel(EncodingError)
        • EncodingErrorErro de codificação detectado.

        Lançado quando um modelo codificável não pode ser codificado para JSON.

      • CannotParseResponse

        Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

      • URL inválida

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

      • MissingAttachmentMetadados

        Acionado quando o cabeçalho de metadados do anexo está ausente.

      • MissingServiceConfiguration

        Acionado quando uma configuração de serviço esperada está ausente.

      • MissingSySID

        Acionado quando um parâmetro sys_id esperado está ausente.

      • Rede (NetworkServiceError)
        • GenericError (cadeia de caracteres)
        • OperaçãoCancelada
        • Serviço​desabilitado
        • ServerError (Erro)
        • SystemError (Erro)

        Disparado quando um serviço de rede encontrou um erro.

    Tabela 11. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)
    attachmentService.attachmentMetadata(filter: filter, limit: limit) { (result) in
      DispatchQueue.main.async { [weak self] in
        switch result {
        case .success(let response):
          do {
            let data = try JSONEncoder().encode(response)
            // Retrieve metadata successfully, return data
          } catch {
            // Retrieve metadata failed, return error 
          }
        case .failure(let error):
          // Retrieve metadata failed, return NowDataError
        }	
      }
    }

    NowAttachmentService - attachmentMetadata(filtro: Filtro, limite: Int)

    Recupera os metadados de todos os anexos que atendem aos critérios especificados.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 12. Parâmetros
    Nome Tipo Descrição
    filtros Filtro Opcional. Cadeia de caracteres de consulta a ser usada para filtrar os anexos cujos metadados serão retornados.

    Padrão: Nil - Retorna metadados para todos os anexos disponíveis. Leva em consideração limitparâmetro.

    limite Inteiro Opcional. Número máximo de metadados do arquivo de anexo a serem retornados.

    Padrão: Nil - Retorna todos os metadados que atendem a. filterespecificações de parâmetro.

    Tabela 13. Retornos
    Tipo Descrição
    AnyPublisher ​NowAttachmentMetadados , NowDataError> NowAttachmentMetadata - Objetos que contêm os metadados dos anexos correspondentes.

    NowDataError

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)
    let publisher = self.attachmentService.attachmentMetadata(filter: filter)
    publisher
      .receive(on: DispatchQueue.main)
      .encode(encoder: JSONEncoder())
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // Retrieve metadata failed, return NowDataError
      } receiveValue: { [weak self] (data) in
         // Retrieve metadata successfully, return data
      }
    .store(in: &subscriptions

    NowAttachmentService - attachmentMetadata(for sySID: Cadeia de caracteres) lançamentos assíncronos

    Recupera os metadados do anexo associado ao sys_id especificado.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo cujos metadados serão recuperados.
    Tabela 15. Retornos
    Tipo Descrição
    NowAttachmentMetadados Retornado quando o método é bem-sucedido. Metadados do anexo solicitado.
    NowDataError Lançado quando o método falha.
    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    Os exemplos de código a seguir mostram como chamar este método.

    do {
        let metadata = try await attachmentService.attachmentMetadata(for: sysId)
        // Metadata retrieval successful
    } catch {
        // Metadata retrieval failed, NowDataError thrown
    }

    NowAttachmentService - attachmentMetadata(Para SYSID: Cadeia de caracteres, conclusão: Escape (<NowAttachmentMetadata, NowDataError>))

    Recupera os metadados do anexo associado ao sys_id especificado e executa o manipulador de conclusão depois que os metadados são recuperados.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo cujos metadados serão recuperados.
    conclusão Escapando (Resultado​> NowAttachmentMetadados NowDataError>) Manipulador de conclusão a ser executado depois que os metadados forem recuperados.
    Valores de retorno para o manipulador de conclusão:
    • Sucesso: NowAttachmentMetadados - Metadados solicitados
    • NowDataError
      • AccessToken(AccessTokenProviderError)
        • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
          • AccessTokenRecupereToken
          • UserSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • AnexoValidação

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCodeCódigo de status recebido da instância.

        Acionado quando uma solicitação retorna uma resposta inesperada

      • CannotDecodeModel(DecodingError)
        • DecodingErrorErro de decodificação detectado.

        Lançado quando um modelo codificável não pode ser decodificado do JSON.

      • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
        • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • fromCadeia de caracteres a ser decodificada para o tipo especificado.

        Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

      • CannotEncodeModel(EncodingError)
        • EncodingErrorErro de codificação detectado.

        Lançado quando um modelo codificável não pode ser codificado para JSON.

      • CannotParseResponse

        Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

      • URL inválida

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

      • MissingAttachmentMetadados

        Acionado quando o cabeçalho de metadados do anexo está ausente.

      • MissingServiceConfiguration

        Acionado quando uma configuração de serviço esperada está ausente.

      • MissingSySID

        Acionado quando um parâmetro sys_id esperado está ausente.

      • Rede (NetworkServiceError)
        • GenericError (cadeia de caracteres)
        • OperaçãoCancelada
        • Serviço​desabilitado
        • ServerError (Erro)
        • SystemError (Erro)

        Disparado quando um serviço de rede encontrou um erro.

    Tabela 17. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

    let sysId = UUID().uuidString  // UUID for the attachment
    attachmentService.attachmentMetadata(for: sysId) { (result) in
      DispatchQueue.main.async { [weak self] in
        switch result {
          case .success(let response):
            do {
              let data = try JSONEncoder().encode(response)
              // Retrieve metadata successfully, return data
            } catch {
              // Retrieve metadata failed, return error      
            }
          case .failure(let error):
            // Retrieve metadata failed, return NowDataError
        }	
      }
    }

    NowAttachmentService - attachmentMetadata(para sySID: Cadeia de caracteres)

    Recupera os metadados do anexo associado ao sys_id especificado.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 18. Parâmetros
    Nome Tipo Descrição
    SYSID Cadeia de caracteres Sys_id do anexo cujos metadados serão recuperados.
    Tabela 19. Retornos
    Tipo Descrição
    AnyPublisher ​NowAttachmentMetadados , NowDataError> NowAttachmentMetadata - Objeto que contém os metadados do anexo solicitado.

    NowDataError

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    let sysId = UUID().uuidString  // UUID for the attachment
    let publisher = self.attachmentService.attachmentMetadata(for: sysId)
    publisher
      .receive(on: DispatchQueue.main)
      .encode(encoder: JSONEncoder())
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // Retrieve metadata failed, return NowDataError
        }
      } receiveValue: { [weak self] (data) in
         // Retrieve metadata successfully, return data
      }
    .store(in: &subscriptions)

    NowAttachmentService - attachmentMetadataPaginator(filtro: Filtro, limite: Int)

    Recupera os metadados de todos os anexos que atendem aos critérios especificados e retorna um objeto Paginator para iterar nas páginas dos metadados retornados.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    filtros Filtro Opcional. Cadeia de caracteres de consulta a ser usada para filtrar os anexos cujos metadados serão retornados.

    Padrão: Nil - Retorna metadados para todos os anexos disponíveis. Leva em consideração limitparâmetro.

    limite Inteiro Opcional. Número máximo de metadados do arquivo de anexo a serem retornados.

    Padrão: Nil - Retorna todos os metadados que atendem a. filterespecificações de parâmetro.

    Tabela 21. Retornos
    Tipo Descrição
    Paginador ​[ NowAttachmentMetadados ]> Sucesso: Matriz de objetos NowAttachmentMetadata.

    Falha: Objeto NowDataError.

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    let paginator: Paginator<T> = makePaginator(query: query, fetchLimit: 1)
    
    func makePaginator(query: String, fetchLimit: Int?) -> Paginator<[NowAttachmentMetadata]> {
      attachmentsService.attachmentMetadataPaginator(filter: Filter(query: query), limit: fetchLimit)
    }

    NowAttachmentService - delete(sySID: Cadeia de caracteres) lança assíncrona

    Exclui o anexo com o sys_id especificado.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do anexo a ser excluído.
    Tabela 23. Retornos
    Tipo Descrição
    Nenhum(a) Se o método for bem-sucedido, nada será retornado.
    NowDataError Lançado quando o método falha.
    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    Os exemplos de código a seguir mostram como chamar este método.

    do {
        try await attachmentService.delete(sysId: sysId)
        // Deletion successful
    } catch {
        // Deletion failed, NowDataError thrown
    }

    NowAttachmentService - delete(SYSID: Cadeia de caracteres, conclusão: Escape (<Void, NowDataError>))

    Exclui o anexo com o sys_id especificado e executa o manipulador de conclusão aprovado depois que o anexo é excluído.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do anexo a ser excluído.
    conclusão Escape (<Void, NowDataError>) Manipulador de conclusão a ser executado após a exclusão do anexo.
    Valores de retorno para o manipulador de conclusão:
    • Nulo
    • NowDataError
      • AccessToken(AccessTokenProviderError)
        • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
          • AccessTokenRecupereToken
          • UserSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • AnexoValidação

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCodeCódigo de status recebido da instância.

        Acionado quando uma solicitação retorna uma resposta inesperada

      • CannotDecodeModel(DecodingError)
        • DecodingErrorErro de decodificação detectado.

        Lançado quando um modelo codificável não pode ser decodificado do JSON.

      • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
        • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • fromCadeia de caracteres a ser decodificada para o tipo especificado.

        Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

      • CannotEncodeModel(EncodingError)
        • EncodingErrorErro de codificação detectado.

        Lançado quando um modelo codificável não pode ser codificado para JSON.

      • CannotParseResponse

        Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

      • URL inválida

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

      • MissingAttachmentMetadados

        Acionado quando o cabeçalho de metadados do anexo está ausente.

      • MissingServiceConfiguration

        Acionado quando uma configuração de serviço esperada está ausente.

      • MissingSySID

        Acionado quando um parâmetro sys_id esperado está ausente.

      • Rede (NetworkServiceError)
        • GenericError (cadeia de caracteres)
        • OperaçãoCancelada
        • Serviço​desabilitado
        • ServerError (Erro)
        • SystemError (Erro)

        Disparado quando um serviço de rede encontrou um erro.

    Tabela 25. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

    let sysId = UUID().uuidString  // UUID for the attachment
    attachmentService.delete(sysId: sysId) { (result) in
      DispatchQueue.main.async { [weak self] in
        switch result {
          case .success:
            // Attachment with sysId is deleted
          case .failure(let error):
            // Failed to delete, with NowDataError
        }
      }
    }

    NowAttachmentService - delete(sySID: Cadeia de caracteres)

    Exclui o anexo com o sys_id especificado.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 26. Parâmetros
    Nome Tipo Descrição
    sysId Cadeia de caracteres Sys_id do anexo a ser excluído.
    Tabela 27. Retornos
    Tipo Descrição
    AnyPublisher<Void, NowDataError> Êxito: Nada retornado

    NowDataError

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    let publisher = attachmentService.delete(sysId: sysId)
    publisher
      .receive(on: DispatchQueue.main)
      .sink { [weak self] completion in
        switch completion {
          case .finished:
            // Attachment with sysId is deleted
          case .failure(let error):
           // Failed to delete, with NowDataError
       }
     } receiveValue: {
     }
     .store(in: &subscriptions)

    NowAttachmentService - init(configuração: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding)

    Inicializa uma nova instância do NowAttachmentService.

    Tabela 28. Parâmetros
    Nome Tipo Descrição
    configuração NowServiceConfiguration Informações de configuração necessárias para inicializar corretamente o serviço.
    CoreServiceProvider NowCoreServiceProviding Opcional. Objeto que implementa o protocolo NowCoreServiceProviding.

    Padrão: Nil

    O exemplo de código a seguir mostra como chamar esta função.

    guard let coreService = NowSDK.core() else {
      // Error with NowServiceError.sdkNotConfigured
      return
    }
    guard 
      let instanceUrl = URL(string: "http://sample.service-now.com"), 
      let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
        // Could not create service – 
        // NowServiceError.serviceConfigurationInvalid
        return
    }
    let attachmentService = NowAttachmentService(configuration: serviceConfig, coreServiceProvider: coreService)

    NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: Escapando ProgressUpdate) lançamentos assíncronos

    Carrega os dados do anexo e os anexa a um registro em uma tabela conforme especificado na configuração de carregamento.

    . Atualização O retorno de chamada fornece informações de andamento do carregamento que você pode usar para fornecer feedback de IU.

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    dados Dados Anexo a ser carregado.
    configuração NowAttachmentUpload Configuração Informações de configuração que definem os parâmetros de carregamento do anexo, como:
    • Tabela e registro aos quais anexar o arquivo
    • Nome do arquivo do anexo
    • Tipo de anexo
    • Se o arquivo está criptografado
    ProgressAtualização Escapando ProgressUpdate Manipulador de conclusão a ser executado depois que o anexo for recuperado. Isso é chamado várias vezes até que o processo de carregamento seja concluído.

    Valores de retorno para o manipulador de conclusão:

    ProgressUpdate - Retorna o andamento atual do carregamento.

    (_bytesWritten: Int64, _totalBytesWritten: Int64, _totalBytesExpectedToWrite: Int64) -> Vazid

    Tabela 30. Retornos
    Tipo Descrição
    NowAttachmentMetadados Retornado quando o método é bem-sucedido. Objeto que contém os metadados carregados.
    NowDataError Lançado quando o método falha.
    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    Os exemplos de código a seguir mostram como chamar este método.

    func uploadFile(for tableName: String, sysId: String, mimeType: String, encryptionContext: String?, data: Data, filename: String) async throws -> NowAttachmentMetadata { 
    
        let mimeType = MediaUtilities.mimeType(forFileName: filename)
        let uploadConfig = NowAttachmentUploadConfiguration(tableName: tableName, 
                                                            recordSysId: sysId,
                                                            fileName: filename,
                                                            contentType: mimeType,
                                                            encryptionContext: encryptionContext) 
    
        do {
            let attachmentMetadata = try await attachmentService.upload(data: data, configuration: uploadConfig) { (_, _, _) in }
            return attachmentMetadata
        } catch {
            // Handle NowDataError
            throw error
        }
    }

    NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: Escape ProgressUpdate, conclusão: Escape (<NowAttachmentMetadata, NowDataError>))

    Carrega os dados do anexo e os anexa a um registro em uma tabela conforme especificado na configuração de carregamento.

    . Atualização O retorno de chamada fornece informações de andamento do carregamento que você pode usar para fornecer feedback de IU.

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    dados Dados Anexo a ser carregado.
    configuração NowAttachmentUpload Configuração Informações de configuração que definem os parâmetros de carregamento do anexo, como:
    • Tabela e registro aos quais anexar o arquivo
    • Nome do arquivo do anexo
    • Tipo de anexo
    • Se o arquivo está criptografado
    ProgressAtualização Escapando ProgressUpdate Manipulador de conclusão a ser executado depois que o anexo for recuperado. Isso é chamado várias vezes até que o processo de carregamento seja concluído.

    Valores de retorno para o manipulador de conclusão:

    ProgressUpdate - Retorna o andamento atual do carregamento.

    (_bytesWritten: Int64, _totalBytesWritten: Int64, _totalBytesExpectedToWrite: Int64) -> Vazid

    conclusão Escapando (resultado > NowAttachmentMetadados NowDataError>) Manipulador de conclusão a ser executado depois que os metadados forem carregados.
    Valores de retorno para o manipulador de conclusão:
    • Sucesso: NowAttachmentMetadados - Objeto que contém os metadados do anexo carregado.
    • NowDataError
      • AccessToken(AccessTokenProviderError)
        • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
          • AccessTokenRecupereToken
          • UserSessionError(_ erro: Erro)

        Lançado quando há um erro no token de acesso.

      • AnexoValidação

        Lançado quando um anexo falha na validação.

      • BadResponse(statusCode: HTTPStatusCode)
        • HTTPStatusCodeCódigo de status recebido da instância.

        Acionado quando uma solicitação retorna uma resposta inesperada

      • CannotDecodeModel(DecodingError)
        • DecodingErrorErro de decodificação detectado.

        Lançado quando um modelo codificável não pode ser decodificado do JSON.

      • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
        • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
        • fromCadeia de caracteres a ser decodificada para o tipo especificado.

        Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

      • CannotEncodeModel(EncodingError)
        • EncodingErrorErro de codificação detectado.

        Lançado quando um modelo codificável não pode ser codificado para JSON.

      • CannotParseResponse

        Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

      • URL inválida

        Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

      • MissingAttachmentMetadados

        Acionado quando o cabeçalho de metadados do anexo está ausente.

      • MissingServiceConfiguration

        Acionado quando uma configuração de serviço esperada está ausente.

      • MissingSySID

        Acionado quando um parâmetro sys_id esperado está ausente.

      • Rede (NetworkServiceError)
        • GenericError (cadeia de caracteres)
        • OperaçãoCancelada
        • Serviço​desabilitado
        • ServerError (Erro)
        • SystemError (Erro)

        Disparado quando um serviço de rede encontrou um erro.

    Tabela 32. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

    typealias ProgressUpdate = (_ bytesWritten: Int64, _ totalBytesWritten: Int64, _ totalBytesExpectedToWrite: Int64) -> Void
    
    let image = UIImage(named: "photo.png") 
    let data = image.pngData() 
    let recordSysId = "" // Sys_id of the record on the SN instance
    
    let config = NowAttachmentUploadConfiguration(
      tableName: "tableName", 
      recordSysId: recordSysId, 
      fileName: "photo.png",
      contentType: "image/png",
      encryptionContext: nil)
    
    private func uploadFile(
      data: Data,
      config: NowAttachmentUploadConfiguration,
      progress: @escaping ProgressUpdate) {
        attachmentService.upload(data: data, configuration: config, progressUpdate: progress) { (result) in
          DispatchQueue.main.async { [weak self] in
            switch result {
              case .success(let response)
                do {
                  let data = try JSONEncoder().encode(response)
                    // Upload file successfully, return data
                } catch
                    // Upload file decode failed, return error
                }
              case .failure(let error):
                    // Upload file failed, return NowDataError
          }
        }
      }
    

    NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: Escapando ProgressUpdate)

    Carrega os dados do anexo e os anexa a um registro em uma tabela conforme especificado na configuração de carregamento.

    . Atualização O retorno de chamada fornece informações de andamento do carregamento que você pode usar para fornecer feedback de IU.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 33. Parâmetros
    Nome Tipo Descrição
    dados Dados Anexo a ser carregado. O tamanho dos dados e o tipo de anexo que você pode carregar são controlados por seu ServiceNow instância.
    configuração NowAttachmentUploadConfiguration Informações de configuração que definem os parâmetros de carregamento do anexo, como:
    • Tabela e registro aos quais anexar o arquivo
    • Nome do arquivo do anexo
    • Tipo de anexo
    • Se o arquivo está criptografado
    ProgressAtualização Escapando ProgressUpdate Manipulador de conclusão a ser executado depois que o anexo for recuperado.

    Valores de retorno para o manipulador de conclusão:

    ProgressUpdate - Retorna o andamento atual do carregamento. Isso é chamado várias vezes até que o processo de carregamento seja concluído.

    (_bytesWritten: Int64, _totalBytesWritten: Int64, _totalBytesExpectedToWrite: Int64) -> Vazid

    Tabela 34. Retornos
    Tipo Descrição
    AnyPublisher ​NowAttachmentMetadados NowDataError> Sucesso: NowAttachmentMetadados - Objeto que contém os metadados do anexo solicitado.

    NowDataError

    • AccessToken(AccessTokenProviderError)
      • AccessTokenProviderErrorCódigo ou mensagem de erro do provedor do token de acesso.
        • AccessTokenRecupereToken
        • UserSessionError(_ erro: Erro)

      Lançado quando há um erro no token de acesso.

    • AnexoValidação

      Lançado quando um anexo falha na validação.

    • BadResponse(statusCode: HTTPStatusCode)
      • HTTPStatusCodeCódigo de status recebido da instância.

      Acionado quando uma solicitação retorna uma resposta inesperada

    • CannotDecodeModel(DecodingError)
      • DecodingErrorErro de decodificação detectado.

      Lançado quando um modelo codificável não pode ser decodificado do JSON.

    • CannotDecodeProperty(tipo: Qualquer, de: Cadeia de caracteres)
      • type: Tipo encapsulado para decodificar a partir de uma cadeia de caracteres.
      • fromCadeia de caracteres a ser decodificada para o tipo especificado.

      Acionado quando um valor encapsulado de cadeia de caracteres não pode ser decodificado do JSON.

    • CannotEncodeModel(EncodingError)
      • EncodingErrorErro de codificação detectado.

      Lançado quando um modelo codificável não pode ser codificado para JSON.

    • CannotParseResponse

      Acionado quando uma resposta da instância não pode ser analisada em seu formato esperado.

    • URL inválida

      Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres ilegais em uma URL ou for uma cadeia de caracteres vazia.

    • MissingAttachmentMetadados

      Acionado quando o cabeçalho de metadados do anexo está ausente.

    • MissingServiceConfiguration

      Acionado quando uma configuração de serviço esperada está ausente.

    • MissingSySID

      Acionado quando um parâmetro sys_id esperado está ausente.

    • Rede (NetworkServiceError)
      • GenericError (cadeia de caracteres)
      • OperaçãoCancelada
      • Serviço​desabilitado
      • ServerError (Erro)
      • SystemError (Erro)

      Disparado quando um serviço de rede encontrou um erro.

    O exemplo de código a seguir mostra como chamar esta função.

    typealias ProgressUpdate = (_ bytesWritten: Int64, _ totalBytesWritten: Int64, _ totalBytesExpectedToWrite: Int64) -> Void
    
    let image = UIImage(named: "photo.png") 
    let data = image.pngData() 
    let recordSysId = "" // Sys_id of the record on the SN instance
    let config = NowAttachmentUploadConfiguration(
      tableName: "tableName", 
      recordSysId: recordSysId, 
      fileName: "photo.png",
      contentType: "image/png", 
      encryptionContext: nil)
    
    private func uploadFile(data: Data,
      config: NowAttachmentUploadConfiguration,
      progress: @escaping ProgressUpdate) {
        let publisher = attachmentService.upload(data: data, configuration: config, progressUpdate: progress)
    
        publisher
          .receive(on: DispatchQueue.main)
          .encode(encoder: JSONEncoder())
          .sink { [weak self] completion in
            if case let .failure(error) = completion {
              // Upload file failed, return NowDataError
            }
          } receiveValue: { [weak self] (data) in
            // Upload file successfully, return data
          }
          .store(in: &subscriptions)
      }