Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo descreve como usar a Atividade de Cópia em um pipeline do Azure Data Factory ou do Synapse Analytics para copiar dados do Xero. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.
Nota
O conector Xero requer autenticação OAuth e não se destina ao uso de servidor para servidor.
Importante
O conector Xero versão 2.0 fornece suporte nativo melhorado ao Xero. Se estiver a usar o conector Xero versão 1.0 na sua solução, por favor atualize o conector Xero antes de 31 de março de 2026. Consulte esta seção para obter detalhes sobre a diferença entre a versão 2.0 e a versão 1.0.
Capacidades suportadas
Este conector Xero é suportado para as seguintes capacidades:
| Capacidades suportadas | IR |
|---|---|
| Atividade de cópia (fonte/-) | (1) (2) |
| Atividade de Pesquisa | (1) (2) |
(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado
Para obter uma lista de armazenamentos de dados suportados como fontes/coletores, consulte a tabela Armazenamentos de dados suportados.
Especificamente, este conector Xero suporta:
- Autenticação OAuth 2.0.
- Todas as tabelas Xero (pontos de extremidade API), exceto "Relatórios".
- Versões do Windows neste artigo.
Nota
Devido ao fim da autenticação OAuth 1.0 no Xero, atualize para o tipo de autenticação OAuth 2.0 se você estiver usando o tipo de autenticação OAuth 1.0.
Introdução
Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:
- Ferramenta Copiar dados
- portal do Azure
- SDK do .NET
- Python SDK
- Azure PowerShell
- API REST
- Modelo Azure Resource Manager
Criar um serviço vinculado ao Xero usando a interface do usuário
Use as etapas a seguir para criar um serviço vinculado ao Xero na interface do usuário do portal do Azure.
Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:
Procure Xero e selecione o conector Xero.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes de configuração do conector
As seções a seguir fornecem detalhes sobre as propriedades que são usadas para definir entidades do Data Factory específicas para o conector Xero.
Propriedades do serviço vinculado
O conector Xero agora suporta a versão 2.0. Consulte esta seção para fazer a atualização do conector Xero a partir da versão 1.0. Para obter os detalhes da propriedade, consulte as seções correspondentes.
Versão 2.0
O serviço Xero ligado suporta as seguintes propriedades ao utilizar a versão 2.0.
| Property | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type deve ser definida como: Xero | Sim |
| versão | A versão que especificares. O valor é 2.0. |
Sim |
| alojar | O ponto de extremidade do servidor Xero (api.xero.com). |
Sim |
| clientId | Especifique o ID do cliente para seu aplicativo Xero. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim |
| clientSecret | Especifique o segredo do cliente para seu aplicativo Xero. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim |
| tenantId | O ID do locatário associado ao seu aplicativo Xero. Aplicável à autenticação OAuth 2.0. Saiba como obter o ID do inquilino na secção Verificar os inquilinos a que está autorizado a aceder. |
Sim |
| refreshToken | O token de atualização OAuth 2.0 está associado ao aplicativo Xero e é usado para atualizar o token de acesso; O token de acesso expira após 30 minutos. Saiba mais sobre como o fluxo de autorização do Xero funciona e como obter o token de atualização deste artigo. Para obter um token de atualização, você deve solicitar o escopo offline_access. Limitação conhecida: Observação O Xero redefine o token de atualização depois que ele é usado para a atualização do token de acesso. Para carga de trabalho operacionalizada, antes de cada atividade de cópia ser executada, você precisa definir um token de atualização válido para o serviço usar. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim |
| conectarVia | O ambiente de execução de integração a ser usado para se conectar ao armazenamento de dados. Se nenhum valor for especificado, a propriedade usará o tempo de execução de integração padrão do Azure. Pode usar o runtime de integração auto-hospedado e a sua versão deve ser 5.61 ou superior. | Não |
Exemplo:
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"host": "api.xero.com",
"clientId": "<client ID>",
"clientSecret": "<client secret>",
"tenantId": "<tenant ID>",
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
},
"authenticationType":"OAuth_2.0",
"version": "2.0"
}
}
}
Versão 1.0
O serviço associado Xero suporta as seguintes propriedades ao utilizar a versão 1.0:
| Property | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type deve ser definida como: Xero | Sim |
| connectionProperties | Um grupo de propriedades que define como se conectar ao Xero. | Sim |
Em connectionProperties: |
||
| alojar | O ponto de extremidade do servidor Xero (api.xero.com). |
Sim |
| authenticationType | Os valores permitidos são OAuth_2.0 e OAuth_1.0. |
Sim |
| consumerKey [en] | Para OAuth 2.0, especifique o ID do cliente para seu aplicativo Xero. Para OAuth 1.0, especifique a chave de consumidor associada ao aplicativo Xero. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim |
| chave privada | Para OAuth 2.0, especifique o segredo do cliente para seu aplicativo Xero. Para OAuth 1.0, especifique a chave privada do arquivo .pem que foi gerado para seu aplicativo privado Xero. Observação para gerar o privatekey.pem com numbits de 512 usando openssl genrsa -out privatekey.pem 512, 1024 não é suportado. Inclua todo o texto do arquivo .pem, incluindo as terminações de linha Unix(\n), veja o exemplo abaixo.Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim |
| tenantId | O ID do locatário associado ao seu aplicativo Xero. Aplicável à autenticação OAuth 2.0. Saiba como obter o ID do inquilino na secção Verificar os inquilinos a que está autorizado a aceder. |
Sim para autenticação OAuth 2.0 |
| refreshToken | Aplicável à autenticação OAuth 2.0. O token de atualização OAuth 2.0 está associado ao aplicativo Xero e é usado para atualizar o token de acesso; O token de acesso expira após 30 minutos. Saiba mais sobre como o fluxo de autorização do Xero funciona e como obter o token de atualização deste artigo. Para obter um token de atualização, você deve solicitar o escopo offline_access. Limitação conhecida: Observação O Xero redefine o token de atualização depois que ele é usado para a atualização do token de acesso. Para carga de trabalho operacionalizada, antes de cada atividade de cópia ser executada, você precisa definir um token de atualização válido para o serviço usar. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. |
Sim para autenticação OAuth 2.0 |
| useEncryptedEndpoints | Especifica se os pontos de extremidade da fonte de dados são criptografados usando HTTPS. O valor predefinido é true. | Não |
| useHostVerification | Especifica se o nome do host é necessário no certificado do servidor para corresponder ao nome do host do servidor ao se conectar por TLS. O valor predefinido é true. | Não |
| usePeerVerification | Especifica se a identidade do servidor deve ser verificada ao se conectar por TLS. O valor predefinido é true. | Não |
Exemplo: autenticação OAuth 2.0
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"connectionProperties": {
"host": "api.xero.com",
"authenticationType":"OAuth_2.0",
"consumerKey": {
"type": "SecureString",
"value": "<client ID>"
},
"privateKey": {
"type": "SecureString",
"value": "<client secret>"
},
"tenantId": "<tenant ID>",
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
},
"useEncryptedEndpoints": true,
"useHostVerification": true,
"usePeerVerification": true
}
}
}
}
Exemplo: autenticação OAuth 1.0
{
"name": "XeroLinkedService",
"properties": {
"type": "Xero",
"typeProperties": {
"connectionProperties": {
"host": "api.xero.com",
"authenticationType":"OAuth_1.0",
"consumerKey": {
"type": "SecureString",
"value": "<consumer key>"
},
"privateKey": {
"type": "SecureString",
"value": "<private key>"
},
"useEncryptedEndpoints": true,
"useHostVerification": true,
"usePeerVerification": true
}
}
}
}
Exemplo de valor de chave privada:
Inclua todo o texto do arquivo .pem, incluindo as terminações de linha Unix(\n).
"-----BEGIN RSA PRIVATE KEY-----\nMII***************************************************P\nbu****************************************************s\nU/****************************************************B\nA*****************************************************W\njH****************************************************e\nsx*****************************************************l\nq******************************************************X\nh*****************************************************i\nd*****************************************************s\nA*****************************************************dsfb\nN*****************************************************M\np*****************************************************Ly\nK*****************************************************Y=\n-----END RSA PRIVATE KEY-----"
Propriedades do conjunto de dados
Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades suportadas pelo conjunto de dados Xero.
Para copiar dados do Xero, defina a propriedade type do conjunto de dados como XeroObject. As seguintes propriedades são suportadas:
| Property | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type do conjunto de dados deve ser definida como: XeroObject | Sim |
| tabela | Nome da tabela. Os nomes das tabelas usam o nome do objeto, por exemplo: Accounts. Esta propriedade só é suportada na versão 2.0. |
Sim |
| tableName | Nome da tabela. Os nomes das tabelas usam nomes de objetos com prefixo, por exemplo, "Global"."Accounts". Esta propriedade só é suportada na versão 1.0. |
Não (caso "consulta" esteja especificada na fonte da atividade) |
Exemplo
{
"name": "XeroDataset",
"properties": {
"type": "XeroObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Xero linked service name>",
"type": "LinkedServiceReference"
}
}
}
O conector versão 2.0 suporta as seguintes tabelas Xero:
- Accounts
- Itens_de_Linha_de_Transação_Bancária
- Transferências_Bancárias
- Orçamentos
- Contacts_Addresses
- Grupo_de_Contatos
- Contacts_Phones
- Itens_da_Nota_de_Crédito
- Rastreamento_de_Itens_de_Linha_de_Notas_de_Crédito
- Moedas
- Itens_de_Linha_da_Fatura
- Rastreamento_de_Itens_de_Linha_da_Fatura
- Itens
- Diários
- Linhas do Diário
- Categorias_de_Rastreio_de_Linha_do_Jornal
- Manual_Journals
- Linhas_de_Jornal_Manual
- Organizações
- Itens_de_Linha_de_Prepagamento
- Projetos
- Utilizadores do Projeto
- Itens_de_Linha_de_Ordem_de_Compra
- Taxas_Fiscais
- Tracking_Categories
- Opções_de_Categorias_de_Rastreamento
- Utilizadores
Propriedades da atividade Copy
Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela fonte Xero.
Xero como fonte
Para copiar dados do Xero, defina o tipo de origem na atividade de cópia como XeroSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:
| Property | Descrição | Obrigatório |
|---|---|---|
| tipo | A propriedade type da fonte de atividade de cópia deve ser definida como: XeroSource | Sim |
| consulta | Use a consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM Contacts". |
Não (se "tableName" no conjunto de dados for especificado) |
Nota
query não é suportado na versão 2.0.
Exemplo:
"activities":[
{
"name": "CopyFromXero",
"type": "Copy",
"inputs": [
{
"referenceName": "<Xero input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "XeroSource",
"query": "SELECT * FROM Contacts"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Observe o seguinte ao especificar a consulta Xero:
As tabelas com itens complexos serão divididas em várias tabelas. Por exemplo, as transações bancárias têm uma estrutura de dados complexa "LineItems", de modo que os dados da transação bancária são mapeados para a tabela
Bank_TransactioneBank_Transaction_Line_Items, comBank_Transaction_IDcomo chave estrangeira para vinculá-los.Os dados do Xero estão disponíveis através de dois esquemas:
Minimal(padrão) eComplete. O esquema completo contém tabelas de chamada de pré-requisito que exigem dados adicionais (por exemplo, coluna ID) antes de fazer a consulta desejada.
As tabelas a seguir têm as mesmas informações no esquema Mínimo e Completo. Para reduzir o número de chamadas de API, use Esquema mínimo (padrão).
- Bank_Transactions
- Contact_Groups
- Contactos
- Contacts_Sales_Tracking_Categories
- Contacts_Phones
- Contacts_Addresses
- Contacts_Purchases_Tracking_Categories
- Credit_Notes
- Credit_Notes_Allocations
- Expense_Claims
- Expense_Claim_Validation_Errors
- Faturas
- Invoices_Credit_Notes
- Invoices_ Pré-pagamentos
- Invoices_Overpayments
- Manual_Journals
- Pagamentos em excesso
- Overpayments_Allocations
- Pré-pagamentos
- Prepayments_Allocations
- Recibos
- Receipt_Validation_Errors
- Tracking_Categories
As tabelas a seguir só podem ser consultadas com esquema completo:
- Complete.Bank_Transaction_Line_Items
- Complete.Bank_Transaction_Line_Item_Tracking
- Complete.Contact_Group_Contacts
- Complete.Contacts_Contact_ Pessoas
- Complete.Credit_Note_Line_Items
- Complete.Credit_Notes_Line_Items_Tracking
- Complete.Expense_Claim_ Pagamentos
- Complete.Expense_Claim_Receipts
- Complete.Invoice_Line_Items
- Complete.Invoices_Line_Items_Tracking
- Complete.Manual_Journal_Lines
- Complete.Manual_Journal_Line_Tracking
- Complete.Overpayment_Line_Items
- Complete.Overpayment_Line_Items_Tracking
- Complete.Prepayment_Line_Items
- Complete.Prepayment_Line_Item_Tracking
- Complete.Receipt_Line_Items
- Complete.Receipt_Line_Item_Tracking
- Complete.Tracking_Category_Options
Mapeamento de tipo de dados para Xero
Quando você copia dados do Xero, os mapeamentos a seguir se aplicam dos tipos de dados do Xero aos tipos de dados internos usados pelo serviço. Para saber como a atividade de cópia mapeia o esquema de origem e o tipo de dados para o destino, consulte Mapeamentos de esquema e tipo de dados.
| Tipo de dados Xero | Tipo de dados de serviço provisório (para a versão 2.0) | Tipo de dados de serviço provisório (para a versão 1.0) |
|---|---|---|
| Corda | Corda | Corda |
| Date | Corda | Date |
| DateTime | Corda | Corda |
| booleano | booleano | booleano |
| Número (padrão) | Int32 | Int32 |
| Número (grande) | Int64 | Int64 |
Propriedades da atividade de pesquisa
Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.
Ciclo de vida e atualização do conector Xero
A tabela a seguir mostra o estágio de liberação e os logs de alteração para diferentes versões do conector Xero:
| Versão | Fase de lançamento | Registo de alterações |
|---|---|---|
| Versão 1.0 | Anunciado o fim do suporte | / |
| Versão 2.0 | Versão GA disponível | • No serviço ligado, consumerKey é substituído por clientId, e privateKey é substituído por clientSecret. • Usar table em vez de tableName nos conjuntos de dados. • O valor para table é o nome do objeto, por exemplo: Accounts. • A versão de runtime de integração auto-hospedada deve ser 5.61 ou superior. • A data é lida como tipo de dados String. • Suporte a tabelas Xero específicas. Para a lista de tabelas suportadas, vá para Propriedades do conjunto de dados. • useEncryptedEndpoints, useHostVerification, usePeerVerification não são suportados no serviço ligado. query• não é suportado. • A autenticação OAuth 1.0 não é suportada. |
Atualize o conector Xero da versão 1.0 para a versão 2.0
Na página Editar serviço vinculado , selecione a versão 2.0 e configure o serviço vinculado consultando as propriedades do serviço vinculado versão 2.0.
O mapeamento de tipo de dados para o serviço vinculado Xero versão 2.0 é diferente daquele para a versão 1.0. Para saber o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para Xero.
Se usares o runtime de integração auto-hospedado, a versão deverá ser 5.61 ou superior.
Use
tableem vez detableNamena versão 2.0. Para a configuração detalhada, vá a Propriedades do Conjunto de Dados.querysó é suportado na versão 1.0. Você deve usar otableem vez dequeryna versão 2.0.Note que a versão 2.0 suporta tabelas Xero específicas. Para a lista de tabelas suportadas, vá para Propriedades do conjunto de dados.
Conteúdos relacionados
Para obter uma lista de armazenamentos de dados suportados pela atividade de cópia, consulte Armazenamentos de dados suportados.