Método publish()‎

Salva um dataframe do Pandas ou do HCL para um conjunto de dados do Centro de Atividades.

Sintaxe

hcl.publish(dataframe_name, table_name = AC_dataset_name, column_names = {"column_name":"dataset_display_name", "...n":"...n"}|dictionary_object, append = True|False)

AC = Centro de Atividades

Parâmetros

NomeDescrição
dataframe_name

O nome do dataframe Pandas ou HCL a ser salvo no Centro de Atividades.

Todas as colunas no dataframe são salvas. Se você quiser salvar apenas uma seleção das colunas, crie primeiro um dataframe configurado apropriadamente, antes de usar publish().

nome_tabela = AC_dataset_name

O nome do conjunto de dados do Centro de Atividades.

Observação

Revise os nomes dos conjuntos de dados existentes no Centro de Atividades e certifique-se de especificar um nome de conjunto de dados que seja exclusivo.

Para scripts que você pretende ativar no modo de produção, é necessário criar nomes diferentes de conjuntos de dados de desenvolvimento e produção.

Para obter mais informações, consulte .

nomes_colunas = {"nome_coluna" : "dataset_display_name", "...n" : "...n"}

opcional

Mapeamento entre um nome de coluna no dataframe e um nome de exibição para o campo correspondente no conjunto de dados do Centro de Atividades.

Crie o mapeamento para uma ou mais colunas usando um dicionário padrão do Python.

Você está especificando um nome de exibição apenas para o campo no conjunto de dados do Centro de Atividades de destino. O nome do campo subjacente no Centro de Atividades permanece inalterado.

Você pode optar por especificar nomes de exibição apenas para um subconjunto de colunas. Colunas sem um nome de exibição especificado usam o nome da coluna do dataframe no Centro de Atividades.

O parâmetro column_names não seleciona quais colunas são salvas. Por padrão, o método publish() salva todas as colunas no dataframe no Centro de Atividades.

Observação

Certifique-se de que os nomes de exibição especificados sejam exclusivos. O método publish() não impede que você especifique um nome de exibição duplicado em um conjunto de dados. Entretanto, a publicação no Centro de Atividades falha.

Para obter mais informações, consulte .

column_names = dictionary_object

opcional

Um objeto de dicionário preexistente que mapeia um ou mais nomes de colunas no dataframe para exibir nomes para os campos correspondentes no conjuntos de dados do Centro de Atividades.

Como alternativa à criação do mapeamento de coluna em publish(), você pode criá-lo em um dicionário separado e especificar apenas o nome do dicionário em publish(). Se você precisa criar o mesmo conjunto de nomes de exibição para várias tabelas de destino no Resultados, essa abordagem é mais eficiente.

As orientações usadas para criar um dicionário em publish() são as mesmas para a criação de um dicionário separado.

append = True | False
  • VerdadeiroOs dados salvos são anexados aos dados existente no conjunto de dados do Centro de Atividades.
  • FalsoOs dados salvos sobrescrevem quaisquer dados existentes no conjunto de dados do Centro de Atividades.

Se você omitir o parâmetro, por padrão, os dados salvos sobrescrevem quaisquer dados existentes.

Retorna

Para uma execução bem-sucedida, o código de retorno é 204. Em caso de falha, uma mensagem de erro.

O código de retorno 204 significa que o Robôs enviou os dados para o Centro de Atividades com êxito. O posterior processamento de dados no Centro de Atividades também deve ter êxito antes que os dados enviados pelo Robôs estejam disponíveis como um conjunto de dados no Centro de Atividades.

Exemplos

Salve um dataframe para um conjunto de dados do Centro de Atividades

Você salva o dataframe customer_summary em um conjunto de dado do Centro de Atividade chamado Cliente. Se o conjunto de dados Cliente já existir no Centro de Atividades, os registros atuais são sobrescritos.

hcl.publish(customer_summary, table_name = "Customer")

Observações

Evitar conjuntos de dados do Centro de Atividades com nomes duplicados

O método publish() e o Centro de Atividades não impedem a publicação de conjuntos de dados com nomes duplicados ou idênticos. Conjuntos de dados com o mesmo nome criam uma situação confusa no Centro de Atividades.

Duas situações diferentes podem levar a conjuntos de dados com nomes idênticos no Centro de Atividades:

  • O método publish() com um conjunto de dados com nome idêntico é executado em dois robôs diferentes.

  • O método publish() com um conjunto de dados com nome idêntico é executado tanto no modo de desenvolvimento quanto no modo de produção no mesmo robô.

Para evitar a criação de nomes de conjuntos de dados duplicados:

  • Especifique um nome únicoAntes de especificar um nome de conjunto de dados no parâmetro table_name, revise os nomes dos conjuntos de dados existentes no Centro de Atividades. Certifique-se de especificar um nome de conjunto de dados que seja exclusivo.

  • Use nomes diferentes de conjuntos de dados de desenvolvimento e produçãoNo modo de desenvolvimento, use um nome de conjunto de dados de desenvolvimento no parâmetro table_name. Antes de ativar uma versão de script para o modo de produção, atualize o parâmetro table_name para usar um nome de conjunto de dados de produção.

    Por exemplo, atualize table_name = "Customer_dev" para table_name = "Customer".

    Observação

    Por design, o modo de desenvolvimento e o modo de produção segregam os dados armazenados em Robôs. Essa segregação impede a modificação ou exclusão inadvertida de dados de produção por qualquer ação ou script no modo de desenvolvimento. O design significa que tabelas, ou dataframes, ou conjuntos de dados que são nomeados de forma idêntica nos dois modos são objetos completamente separados, sem conexão entre si.

    Para obter mais informações, consulte Modos de desenvolvimento e de produção no Robôs.

Os nomes de coluna e de exibição devem ser exclusivos

Para obter sucesso na publicação de dados do Robôs no Centro de Atividades, os nomes da coluna dataframe devem ser exclusivos. A duplicação de um nome em um dataframe causa a falha do método publish() e exibe uma mensagem de erro.

Se você especificar nomes de exibição para os campos em um conjunto de dados no Centro de Atividades, os nomes devem ser exclusivos. A duplicação de um nome de exibição em um conjunto de dados causa a falha do método publish() e o script contendo o método é executado até ser concluído. No entanto, os próximos processamentos de dados falham, e a publicação no Centro de Atividades não é bem-sucedida.

Escopo de recursos de publicação

Permissões de gravação para os conjuntos de dados do Centro de Atividades criado no Robôs são baseados em robôs. Para atualizar um conjunto de dados, você deve usar o mesmo robô com o qual o conjunto de dados foi criado. O método publish() não é compatível com a interseção de limites de robôs para atualização de conjuntos de dados.

Inclusão automática da data e hora da publicação

O método publish() inclui automaticamente a data e a hora da publicação com os dados enviados para o Centro de Atividades. Quando você adiciona uma tabela de dados a uma análise e um painel ao Centro de Atividades, inclua o campo Publicado em para exibir a data e a hora de publicação mais recente, atualizada dinamicamente, para cada registro na tabela.

As informações do carimbo de data/hora são úteis na verificação do cronograma de uma publicação do Robôs executada na data e hora esperadas. Se você anexar registros a um conjunto de dados, a informação do carimbo e data/hora também mostra quando cada registro foi anexado, permitindo que você ordene por carimbo de data/hora.