Leia os dados compartilhados usando o compartilhamento aberto do Delta Sharing (para destinatários)

Este artigo descreve como ler os dados que foram compartilhados com o senhor usando o Delta Sharing protocolo de compartilhamento aberto . Inclui instruções para a leitura do uso compartilhado de dados Databricks, Apache Spark, Pandas, Power BI, e Tableau.

No compartilhamento aberto, o senhor usa um arquivo de credencial que foi compartilhado com um membro da sua equipe pelo provedor de dados para obter acesso seguro de leitura aos dados compartilhados. O acesso persiste enquanto a credencial for válida e o provedor continuar a compartilhar os dados. Os provedores gerenciam a expiração e a rotação de credenciais. As atualizações dos dados estão disponíveis para o senhor quase em tempo real. O senhor pode ler e fazer cópias dos dados compartilhados, mas não pode modificar os dados de origem.

Observação

Se os dados tiverem sido compartilhados com o senhor usando o site Databricks-to-Databricks Delta Sharing, o senhor não precisará de um arquivo de credencial para acessar os dados, e este artigo não se aplica ao senhor. Para obter instruções, consulte Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).

As seções a seguir descrevem como usar Databricks, Apache Spark, Pandas e Power BI para acessar e ler o uso compartilhado de dados do arquivo de credenciais. Para obter uma lista completa dos conectores Delta Sharing e informações sobre como usá-los, consulte a documentação do código abertoDelta Sharing . Se o senhor tiver problemas para acessar os dados compartilhados, entre em contato com o provedor de dados.

Observação

As integrações de parceiros são, salvo indicação em contrário, fornecidas por terceiros e o senhor deve ter um account com o provedor apropriado para o uso de seu produto e serviço. Embora a Databricks faça o possível para manter esse conteúdo atualizado, não fazemos nenhuma declaração em relação às integrações ou à precisão do conteúdo das páginas de integração de parceiros. Entre em contato com os provedores apropriados sobre as integrações.

Antes de começar

Um membro da sua equipe deve fazer o download do arquivo de credenciais compartilhado pelo provedor de dados. Consulte Obter acesso no modelo de compartilhamento aberto.

Eles devem usar um canal seguro para compartilhar esse arquivo ou local de arquivo com o senhor.

Databricks: Leitura compartilhada uso de dados conectores de compartilhamento aberto

Esta seção descreve como usar um conector de compartilhamento aberto para acessar o uso compartilhado de dados a Notebook em seu Databricks workspace. O senhor ou outro membro da sua equipe armazena o arquivo de credencial em DBFS e o utiliza para se autenticar no site do provedor de dados Databricks account e ler os dados que o provedor de dados compartilhou com o senhor.

Observação

Se o provedor de dados estiver usando o Databricks-to-Databricks compartilhamento e não tiver compartilhado um arquivo de credencial com o senhor, será necessário acessar o uso de dados Unity Catalog. Para obter instruções, consulte Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).

Neste exemplo, o senhor cria um Notebook com várias células que podem ser executadas de forma independente. Em vez disso, o senhor poderia adicionar o comando Notebook à mesma célula e executá-los em sequência.

passo 1: Armazene o arquivo de credencial em DBFS (instruções Python)

Nesta passo, você usa um Python Notebook no Databricks para armazenar o arquivo de credencial para que os usuários da sua equipe possam acessar os dados compartilhados.

Vá para a próxima passo se você ou alguém da sua equipe já tiver armazenado o arquivo de credencial no DBFS.

  1. Em um editor de texto, abra o arquivo de credenciais.

  2. Em seu site Databricks workspace, clique em New > Notebook.

    • Digite um nome.

    • Defina o idioma default para o Notebook como Python.

    • Selecione um cluster para anexar ao Notebook.

    • Clique em Criar.

    O Notebook é aberto no editor de Notebook.

  3. Para usar Python ou Pandas para acessar os dados compartilhados, instale o conector delta-compartilhamento Python . No editor do Notebook, cole o seguinte comando:

    %sh pip install delta-sharing
    
  4. execução da célula.

    A biblioteca Python delta-sharing é instalada no cluster se ainda não estiver instalada.

  5. Em uma nova célula, cole o comando a seguir, que carrega o conteúdo do arquivo de credencial para uma pasta em DBFS. Substitua as variáveis da seguinte forma:

    • <dbfs-path>: o caminho para a pasta onde o senhor deseja salvar o arquivo de credenciais

    • <credential-file-contents>O senhor pode ver o conteúdo do arquivo de credenciais. Esse não é um caminho para o arquivo, mas o conteúdo copiado do arquivo.

      O arquivo de credencial contém JSON que define três campos: shareCredentialsVersion, endpoint e bearerToken.

      %scala
      dbutils.fs.put("<dbfs-path>/config.share","""
      <credential-file-contents>
      """)
      
  6. execução da célula.

    Depois que o arquivo de credenciais for carregado, o senhor poderá excluir essa célula. Todos os usuários de workspace podem ler o arquivo de credenciais em DBFS e o arquivo de credenciais está disponível em DBFS em todos os depósitos de clusters e SQL em seu workspace. Para excluir a célula, clique em x no menu de ações da célula Ações da célula na extrema direita.

passo 2: Use um Notebook para listar e ler tabelas compartilhadas

Nesta passo, você lista as tabelas no compartilhamento ou conjunto de tabelas e partições compartilhadas e query uma tabela.

  1. Usando Python, liste as tabelas no compartilhamento.

    Em uma nova célula, cole o seguinte comando. Substitua <dbfs-path> pelo caminho que foi criado no passo 1: Armazene o arquivo de credencial em DBFS (instruções emPython ).

    Quando o código é executado, o site Python lê o arquivo de credenciais de DBFS no site cluster. Acessar os dados armazenados no DBFS no caminho /dbfs/.

    import delta_sharing
    
    client = delta_sharing.SharingClient(f"/dbfs/<dbfs-path>/config.share")
    
    client.list_all_tables()
    
  2. execução da célula.

    O resultado é uma matriz de tabelas, juntamente com metadados para cada tabela. A saída a seguir mostra duas tabelas:

    Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]
    

    Se a saída estiver vazia ou não contiver as tabelas que o senhor espera, entre em contato com o provedor de dados.

  3. Consultar uma tabela compartilhada.

    • Usando Scala:

      Em uma nova célula, cole o seguinte comando. Quando o código é executado, o arquivo de credenciais é lido no site DBFS por meio do site JVM.

      Substitua as variáveis da seguinte forma:

      • <profile-path>: o caminho DBFS do arquivo de credenciais. Por exemplo, /<dbfs-path>/config.share.

      • <share-name>: o valor de share= para a tabela.

      • <schema-name>: o valor de schema= para a tabela.

      • <table-name>: o valor de name= para a tabela.

      %scala
          spark.read.format("deltaSharing")
          .load("<profile-path>#<share-name>.<schema-name>.<table-name>").limit(10);
      

      execução da célula. Sempre que o senhor carrega a tabela compartilhada, vê dados novos da fonte.

    • Usando SQL:

      Para consultar o uso de dados SQL, o senhor cria uma tabela local no workspace a partir da tabela compartilhada e, em seguida, consulta a tabela local. Os dados compartilhados não são armazenados ou armazenados em cache na tabela local. Sempre que o senhor consulta a tabela local, vê o estado atual dos dados compartilhados.

      Em uma nova célula, cole o seguinte comando.

      Substitua as variáveis da seguinte forma:

      • <local-table-name>: o nome da tabela local.

      • <profile-path>: o local do arquivo de credenciais.

      • <share-name>: o valor de share= para a tabela.

      • <schema-name>: o valor de schema= para a tabela.

      • <table-name>: o valor de name= para a tabela.

      %sql
      DROP TABLE IF EXISTS table_name;
      
      CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";
      
      SELECT * FROM <local-table-name> LIMIT 10;
      

      Quando o senhor executa o comando, os dados compartilhados são consultados diretamente. Como teste, a tabela é consultada e os primeiros 10 resultados são retornados.

    Se a saída estiver vazia ou não contiver os dados que o senhor espera, entre em contato com o provedor de dados.

Apache Spark: Ler dados compartilhados

Siga estes passos para acessar o uso compartilhado de dados Spark 3.x ouacima.

Essas instruções pressupõem que o senhor tenha acesso ao arquivo de credenciais que foi compartilhado pelo provedor de dados. Consulte Obter acesso no modelo de compartilhamento aberto.

Instale os conectores Delta Sharing Python e Spark

Para acessar os metadados relacionados aos dados compartilhados, como a lista de tabelas compartilhadas com o senhor, faça o seguinte Este exemplo usa Python.

  1. Instale o conector Python de compartilhamento delta:

    pip install delta-sharing
    
  2. Instale o conector do Apache Spark.

Listar tabelas compartilhadas usando o Spark

Liste as tabelas no compartilhamento. No exemplo a seguir, substitua <profile-path> pelo local do arquivo de credenciais.

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

O resultado é uma matriz de tabelas, juntamente com metadados para cada tabela. A saída a seguir mostra duas tabelas:

Out[10]: [Table(name='example_table', share='example_share_0', schema='default'), Table(name='other_example_table', share='example_share_0', schema='default')]

Se a saída estiver vazia ou não contiver as tabelas que o senhor espera, entre em contato com o provedor de dados.

Acesso compartilhado uso de dados Spark

Execute o seguinte, substituindo essas variáveis:

  • <profile-path>: o local do arquivo de credenciais.

  • <share-name>: o valor de share= para a tabela.

  • <schema-name>: o valor de schema= para a tabela.

  • <table-name>: o valor de name= para a tabela.

  • <version-as-of>: opcional. A versão da tabela para carregar os dados. Só funciona se o provedor de dados compartilhar a história da tabela. Requer delta-sharing-spark 0.5.0 ouacima.

  • <timestamp-as-of>: opcional. Carregue os dados na versão anterior ou no carimbo de data/hora fornecido. Só funciona se o provedor de dados compartilhar a história da tabela. Requer delta-sharing-spark 0.6.0 ouacima.

delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", version=<version-as-of>)

spark.read.format("deltaSharing")\
.option("versionAsOf", <version-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10))

delta_sharing.load_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>", timestamp=<timestamp-as-of>)

spark.read.format("deltaSharing")\
.option("timestampAsOf", <timestamp-as-of>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")\
.limit(10))

Execute o seguinte, substituindo essas variáveis:

  • <profile-path>: o local do arquivo de credenciais.

  • <share-name>: o valor de share= para a tabela.

  • <schema-name>: o valor de schema= para a tabela.

  • <table-name>: o valor de name= para a tabela.

  • <version-as-of>: opcional. A versão da tabela para carregar os dados. Só funciona se o provedor de dados compartilhar a história da tabela. Requer delta-sharing-spark 0.5.0 ouacima.

  • <timestamp-as-of>: opcional. Carregue os dados na versão anterior ou no carimbo de data/hora fornecido. Só funciona se o provedor de dados compartilhar a história da tabela. Requer delta-sharing-spark 0.6.0 ouacima.

spark.read.format("deltaSharing")
.option("versionAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)

spark.read.format("deltaSharing")
.option("timestampAsOf", <version-as-of>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
.limit(10)

Acesse o feed de dados de alterações compartilhadas usando o Spark

Se a história da tabela foi compartilhada com você e o feed de dados alterados (CDF) está ativado na tabela de origem, você pode acessar o feed de dados alterados executando o seguinte, substituindo essas variáveis. Requer delta-sharing-spark 0.5.0 ouacima.

Um e somente um parâmetro de início deve ser fornecido.

  • <profile-path>: o local do arquivo de credenciais.

  • <share-name>: o valor de share= para a tabela.

  • <schema-name>: o valor de schema= para a tabela.

  • <table-name>: o valor de name= para a tabela.

  • <starting-version>: opcional. A versão inicial da consulta, inclusive. Especificar como Long.

  • <ending-version>: opcional. A versão final da consulta, inclusive. Se a versão final não for fornecida, a API usará a versão mais recente da tabela.

  • <starting-timestamp>: opcional. O registro de data e hora inicial da consulta é convertido em uma versão criada maior ou igual a esse registro de data e hora. Especifique como uma cadeia de caracteres no formato yyyy-mm-dd hh:mm:ss[.fffffffff].

  • <ending-timestamp>: opcional. O registro de data e hora final da consulta é convertido em uma versão criada antes ou igual a esse registro de data e hora. Especifique como uma cadeia de caracteres no formato yyyy-mm-dd hh:mm:ss[.fffffffff]

delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_version=<starting-version>,
  ending_version=<ending-version>)

delta_sharing.load_table_changes_as_spark(f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_timestamp=<starting-timestamp>,
  ending_timestamp=<ending-timestamp>)

spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("statingVersion", <starting-version>)\
.option("endingVersion", <ending-version>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

spark.read.format("deltaSharing").option("readChangeFeed", "true")\
.option("startingTimestamp", <starting-timestamp>)\
.option("endingTimestamp", <ending-timestamp>)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("statingVersion", <starting-version>)
.option("endingVersion", <ending-version>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

spark.read.format("deltaSharing").option("readChangeFeed", "true")
.option("startingTimestamp", <starting-timestamp>)
.option("endingTimestamp", <ending-timestamp>)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

Se a saída estiver vazia ou não contiver os dados que o senhor espera, entre em contato com o provedor de dados.

Acessar uma tabela compartilhada usando Spark transmissão estructurada

Se a história da tabela for compartilhada com você, você poderá ler os dados compartilhados por transmissão. Requer delta-sharing-spark 0.6.0 ouacima.

Opções suportadas:

  • ignoreDeletes: Ignorar transações que excluem dados.

  • ignoreChanges: Processe novamente as atualizações se os arquivos foram reescritos na tabela de origem devido a operações de alteração de dados, como UPDATE, MERGE INTO, DELETE (dentro de partições) ou OVERWRITE. As linhas não alteradas ainda podem ser emitidas. Portanto, seus consumidores downstream devem ser capazes de lidar com duplicatas. As exclusões não são propagadas downstream. ignoreChanges subsume ignoreDeletes. Portanto, se o senhor usar ignoreChanges, sua transmissão não será interrompida por exclusões ou atualizações na tabela de origem.

  • startingVersion: A versão da tabela compartilhada a partir da qual o senhor deve começar. Todas as alterações na tabela a partir dessa versão (inclusive) serão lidas pela fonte de transmissão.

  • startingTimestamp: O registro de data e hora para começar. Todas as alterações de tabela confirmadas no registro de data e hora ou após esse registro (inclusive) serão lidas pela fonte de transmissão. Exemplo: "2023-01-01 00:00:00.0".

  • maxFilesPerTrigger: O número de novos arquivos a serem considerados em cada micro-lote.

  • maxBytesPerTrigger: A quantidade de dados que é processada em cada micro-lote. Essa opção define um "soft max", o que significa que um lote processa aproximadamente essa quantidade de dados e pode processar mais do que o limite para que a consulta de transmissão avance nos casos em que a menor unidade de entrada for maior do que esse limite.

  • readChangeFeedTransmissão: lê o feed de dados de alteração da tabela compartilhada.

Opções sem suporte:

  • Trigger.availableNow

Exemplo de consultas de transmissão estruturada

spark.readStream.format("deltaSharing")
.option("startingVersion", 0)
.option("ignoreChanges", true)
.option("maxFilesPerTrigger", 10)
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")
spark.readStream.format("deltaSharing")\
.option("startingVersion", 0)\
.option("ignoreDeletes", true)\
.option("maxBytesPerTrigger", 10000)\
.load("<profile-path>#<share-name>.<schema-name>.<table-name>")

Consulte também Streaming em Databricks.

Ler tabelas com vetores de exclusão ou mapeamento de colunas ativado

Prévia

Este recurso está em prévia pública.

Os vetores de exclusão são um recurso de otimização de armazenamento que seu provedor pode ativar em tabelas Delta compartilhadas. Consulte O que são vetores de exclusão?

O Databricks também oferece suporte ao mapeamento de colunas para tabelas Delta. Consulte Renomear e soltar colunas com o mapeamento de colunas do Delta Lake.

Se o provedor compartilhou uma tabela com vetores de exclusão ou mapeamento de coluna ativado, o senhor pode ler a tabela usando compute que esteja executando delta-sharing-spark 3.1 ou acima. Se o senhor estiver usando Databricks clusters, poderá realizar leituras de lotes usando um cluster executando Databricks Runtime 14.1 ou acima. As consultas de CDF e transmissão exigem o site Databricks Runtime 14.2 ou superior.

O senhor pode realizar muitas consultas como estão, porque elas podem resolver automaticamente responseFormat com base no recurso de tabela da tabela compartilhada.

Para ler um feed de dados de alteração (CDF) ou para realizar consultas de transmissão em tabelas compartilhadas com vetores de exclusão ou mapeamento de coluna ativados, o senhor deve definir a opção adicional responseFormat=delta.

Os exemplos a seguir mostram consultas de lotes, CDF e transmissão:

import org.apache.spark.sql.SparkSession

val spark = SparkSession
        .builder()
        .appName("...")
        .master("...")
        .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
        .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
        .getOrCreate()

val tablePath = "<profile-file-path>#<share-name>.<schema-name>.<table-name>"

// Batch query
spark.read.format("deltaSharing").load(tablePath)

// CDF query
spark.read.format("deltaSharing")
  .option("readChangeFeed", "true")
  .option("responseFormat", "delta")
  .option("startingVersion", 1)
  .load(tablePath)

// Streaming query
spark.readStream.format("deltaSharing").option("responseFormat", "delta").load(tablePath)

Pandas: Ler dados compartilhados

Siga estes passos para acessar dados compartilhados em pandas 0.25.3 ouacima.

Essas instruções pressupõem que o senhor tenha acesso ao arquivo de credenciais que foi compartilhado pelo provedor de dados. Consulte Obter acesso no modelo de compartilhamento aberto.

Instale o conector Python do Delta Sharing

Para acessar os metadados relacionados aos dados compartilhados, como a lista de tabelas compartilhadas com o senhor, é necessário instalar o conector Python de compartilhamento delta.

pip install delta-sharing

Listar tabelas compartilhadas usando Pandas

Para listar as tabelas no compartilhamento, execute o seguinte, substituindo <profile-path>/config.share pelo local do arquivo de credenciais.

import delta_sharing

client = delta_sharing.SharingClient(f"<profile-path>/config.share")

client.list_all_tables()

Se a saída estiver vazia ou não contiver as tabelas que o senhor espera, entre em contato com o provedor de dados.

Acesso compartilhado uso de dados Pandas

Para acessar dados compartilhados em Pandas usando Python, execute o seguinte, substituindo as variáveis da seguinte forma:

  • <profile-path>: o local do arquivo de credenciais.

  • <share-name>: o valor de share= para a tabela.

  • <schema-name>: o valor de schema= para a tabela.

  • <table-name>: o valor de name= para a tabela.

import delta_sharing
delta_sharing.load_as_pandas(f"<profile-path>#<share-name>.<schema-name>.<table-name>")

Acesse um feed de dados de alterações compartilhadas usando Pandas

Para acessar o feed de dados de alteração de uma tabela compartilhada em Pandas usando Python, execute o seguinte, substituindo as variáveis da seguinte forma. Um feed de dados de alteração pode não estar disponível, dependendo se o provedor de dados compartilhou ou não o feed de dados de alteração para a tabela.

  • <starting-version>: opcional. A versão inicial da consulta, inclusive.

  • <ending-version>: opcional. A versão final da consulta, inclusive.

  • <starting-timestamp>: opcional. O registro de data e hora inicial da consulta. Isso é convertido em uma versão criada maior ou igual a esse registro de data e hora.

  • <ending-timestamp>: opcional. O registro de data e hora final da consulta. Isso é convertido em uma versão criada antes ou igual a esse registro de data e hora.

import delta_sharing
delta_sharing.load_table_changes_as_pandas(
  f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_version=<starting-version>,
  ending_version=<starting-version>)

delta_sharing.load_table_changes_as_pandas(
  f"<profile-path>#<share-name>.<schema-name>.<table-name>",
  starting_timestamp=<starting-timestamp>,
  ending_timestamp=<ending-timestamp>)

Se a saída estiver vazia ou não contiver os dados que o senhor espera, entre em contato com o provedor de dados.

Power BI: ler dados compartilhados

O conector Power BI Delta Sharing permite que o senhor descubra, analise e visualize o conjunto de dados compartilhado com o senhor por meio do protocolo aberto Delta Sharing.

Requisitos

Conectar-se ao Databricks

Para se conectar ao Databricks usando o conector Delta Sharing, faça o seguinte:

  1. Abra o arquivo de credencial compartilhada com um editor de texto para recuperar o URL endpoint e os tokens.

  2. Abra o Power BI Desktop.

  3. No menu Get Data (Obter dados ), procure por Delta Sharing.

  4. Selecione o conector e clique em Connect.

  5. Digite o URL do endpoint que o senhor copiou do arquivo de credenciais no campo URL do Delta Sharing Server.

  6. Opcionalmente, em Advanced Options tab, defina um Row Limit para o número máximo de linhas que o senhor pode download. Isso é definido como 1 milhão de linhas em default.

  7. Clique em OK.

  8. Para Authentication (Autenticação), copie os tokens que o senhor recuperou do arquivo de credenciais para Bearer tokens (Tokens do portador).

  9. Clique em Conectar.

Limitações do conector Power BI Delta Sharing

O conector Power BI Delta Sharing tem as seguintes limitações:

  • Os dados que o conector carrega devem caber na memória de sua máquina. Para gerenciar esse requisito, o conector limita o número de linhas importadas ao Limite de linhas que o senhor define nas Opções avançadas tab em Power BI Desktop.

Tableau: Ler dados compartilhados

O conector Tableau Delta Sharing permite que o senhor descubra, analise e visualize conjuntos de dados compartilhados com o senhor por meio do protocolo aberto Delta Sharing.

Requisitos

Conectar-se ao Databricks

Para se conectar ao Databricks usando o conector Delta Sharing, faça o seguinte:

  1. Acesse Tableau Exchange, siga as instruções para download o conector Delta Sharing e coloque-o em uma pasta apropriada da área de trabalho.

  2. Abra o Tableau Desktop.

  3. Na página Connectors (Conectores ), procure por "Delta Sharing by Databricks".

  4. Selecione carregar arquivo de compartilhamento e escolha o arquivo de credencial que foi compartilhado pelo provedor.

  5. Clique em Get Data.

  6. No Data Explorer, selecione a tabela.

  7. Opcionalmente, adicione filtros SQL ou limites de linha.

  8. Clique em Get Table Data.

Limitações do conector Tableau Delta Sharing

O conector Tableau Delta Sharing tem as seguintes limitações:

  • Os dados que o conector carrega devem caber na memória de sua máquina. Para gerenciar esse requisito, o conector limita o número de linhas importadas ao limite de linhas que o senhor definiu no Tableau.

  • Todas as colunas são retornadas como tipo String.

  • O SQL Filter só funciona se o seu servidor Delta Sharing suportar predicateHint.

Solicitar uma nova credencial

Se o URL de ativação da credencial ou a credencial de downloads for perdida, corrompida ou comprometida, ou se a credencial expirar sem que o provedor envie uma nova, entre em contato com o provedor para solicitar uma nova credencial.