Copiar dados de e para armazenamentos de dados ODBC usando o Azure Data Factory ou o Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados de e para um armazenamento de dados ODBC. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.
Funcionalidades com suporte
O conector do ODBC é compatível com as seguintes funcionalidades:
Funcionalidades com suporte | IR |
---|---|
Atividade de cópia (origem/coletor) | ② |
Atividade de pesquisa | ② |
① Runtime de integração do Azure ② Runtime de integração auto-hospedada
Para obter uma lista de armazenamentos de dados com suporte como origens/coletores, consulte a tabela de Armazenamentos de dados com suporte.
Especificamente, este conector ODBC dá suporte à cópia de dados de/para quaisquer armazenamentos de dados compatíveis com ODBC usando a autenticação Básica ou Anônima. Um driver ODBC de 64 bits é necessário. Para o coletor ODBC, o serviço é compatível com o ODBC versão 2.0 padrão.
Pré-requisitos
Para usar esse conector ODBC, você precisa:
- Configurar um Integration Runtime auto-hospedado. Consulte o artigo Self-hosted integration runtime (Integration Runtime auto-hospedado) para obter detalhes.
- Instalar o driver ODBC de 64 bits para o armazenamento de dados no computador do Integration Runtime.
Introdução
Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:
- A ferramenta Copiar Dados
- O portal do Azure
- O SDK do .NET
- O SDK do Python
- PowerShell do Azure
- A API REST
- O modelo do Azure Resource Manager
Criar um serviço vinculado a um armazenamento de dados ODBC usando a interface do usuário
Use as etapas a seguir para criar um serviço vinculado ao armazenamento de dados ODBC na interface do usuário do portal do Microsoft Azure.
Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou do Synapse e selecione Serviços Vinculados, em seguida, clique em Novo:
Pesquise por ODBC e selecione o conector ODBC.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes da configuração do conector
As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas ao conector ODBC.
Propriedades do serviço vinculado
As propriedades a seguir têm suporte para o serviço vinculado do ODBC:
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade type deve ser definida como: Odbc | Sim |
connectionString | A cadeia de conexão, exceto a parte de credencial. Você pode especificar a cadeia de conexão com um padrão como Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; ou usar DSN (nome da fonte de dados) do sistema que você configurou no computador do Integration Runtime com o DSN=<name of the DSN on IR machine>; (é necessário ainda especificar a parte de credencial no serviço vinculado adequadamente).Também é possível colocar uma senha no Azure Key Vault e extrair a configuração password da cadeia de conexão. Veja o artigo Credenciais de armazenamento no Azure Key Vault para saber mais detalhes. |
Sim |
authenticationType | Tipo de autenticação usado para se conectar ao armazenamento de dados ODBC. Os valores permitidos são: Básica e Anônima. |
Sim |
userName | Especifique o nome de usuário se você estiver usando a autenticação Básica. | Não |
password | Especifique a senha da conta de usuário que você especificou para userName. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. | Não |
credencial | A parte da credencial de acesso da cadeia de conexão especificada no formato propriedade-valor específico do driver. Exemplo: "RefreshToken=<secret refresh token>;" . Marque esse campo como uma SecureString. |
Não |
connectVia | O Integration Runtime a ser usado para se conectar ao armazenamento de dados. É necessário um Integration Runtime auto-hospedado, conforme mencionado nos Pré-requisitos. | Sim |
Exemplo 1: usando a autenticação Básica
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Exemplo 2: usando a autenticação Anônima
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Anonymous",
"credential": {
"type": "SecureString",
"value": "RefreshToken=<secret refresh token>;"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Propriedades do conjunto de dados
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre conjuntos de dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados ODBC.
Para copiar dados de/para o armazenamento de dados compatível com ODBC, as seguintes propriedades são compatíveis:
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade type do conjunto de dados deve ser definida como: OdbcTable | Sim |
tableName | Nome da tabela no repositório de dados ODBC. | Não para fonte (se "query" na fonte da atividade for especificada); Sim para coletor |
Exemplo
{
"name": "ODBCDataset",
"properties": {
"type": "OdbcTable",
"schema": [],
"linkedServiceName": {
"referenceName": "<ODBC linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "<table name>"
}
}
}
Se você estava usando o conjunto de dados com tipos RelationalTable
, ele ainda tem suporte como está, mas é recomendável usar o novo de agora em diante.
Propriedades da atividade de cópia
Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades com suporte pela fonte ODBC.
ODBC como fonte
Para copiar dados do armazenamento de dados compatível com ODBC, as propriedades a seguir são compatíveis com a seção origem da atividade Copy:
Propriedade | Descrição | Obrigatório |
---|---|---|
type | A propriedade type da fonte da atividade de cópia deve ser definida como: OdbcSource | Sim |
Consulta | Utiliza a consulta SQL personalizada para ler os dados. Por exemplo: "SELECT * FROM MyTable" . |
Não (se "tableName" no conjunto de dados for especificado) |
Exemplo:
"activities":[
{
"name": "CopyFromODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<ODBC input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "OdbcSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Se você estava usando a fonte com tipos RelationalSource
, ela ainda tem suporte como está, mas é recomendável usar a nova no futuro.
ODBC como coletor
Para copiar dados para um armazenamento de dados compatível com ODBC, defina o tipo de coletor na atividade de cópia como OdbcSink. As propriedades a seguir têm suporte na seção sink da atividade de cópia:
Propriedade | Descrição | Obrigatório |
---|---|---|
type | O tipo de propriedade do coletor da atividade de cópia deve ser definido como: BlobSink | Sim |
writeBatchTimeout | Tempo de espera para a operação de inserção em lotes ser concluída antes de atingir o tempo limite. Os valores permitidos são: período. Exemplo: "00:30:00" (30 minutos). |
Não |
writeBatchSize | Insere dados na tabela SQL quando o tamanho do buffer atinge writeBatchSize. Os valores permitidos são: inteiro (número de linhas). |
Não (o padrão é 0 – detectado automaticamente) |
preCopyScript | Especifica uma consulta SQL para a atividade de cópia, a ser executada antes de gravar dados no armazenamento de dados em cada execução. Você pode usar essa propriedade para limpar os dados previamente carregados. | Não |
Observação
Para “writeBatchSize”, se não estiver definida (detectada automaticamente), a atividade de cópia primeiro detecta se o driver é compatível com operações em lote e define como 10000, se houver compatibilidade, ou como 1, caso não haja. Se você definir explicitamente o valor como diferente de 0, a atividade de cópia respeitará o valor e falhará em runtime se o driver não for compatível com operações em lote.
Exemplo:
"activities":[
{
"name": "CopyToODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ODBC output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "OdbcSink",
"writeBatchSize": 100000
}
}
}
]
Pesquisar propriedades de atividade
Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.
Solucionar problemas de conectividade
Para solucionar problemas de conexão, use a guia Diagnósticos do Gerenciador de configuração do Integration Runtime.
- Inicie o Gerenciador de configuração do Integration Runtime.
- Alterne para a guia Diagnóstico .
- Na seção "Testar Conexão", selecione o tipo do armazenamento de dados (serviço vinculado).
- Especifique a cadeia de conexão usada para se conectar ao armazenamento de dados, escolha a autenticação e digite o nome de usuário, a senha e/ou as credenciais.
- Clique em Testar Conexão para testar a conexão com o armazenamento de dados.
Conteúdo relacionado
Para obter uma lista de armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os armazenamentos de dados com suporte.