Azure Data Factory veya Synapse Analytics kullanarak Xero'dan veri kopyalama

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Bu makalede, Xero'dan veri kopyalamak için Azure Data Factory veya Synapse Analytics işlem hattında Kopyalama Etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.

Desteklenen özellikler

Bu Xero bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) ① ②
Arama etkinliği ① ②

(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı

Kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Özellikle, bu Xero bağlayıcısı şunları destekler:

  • OAuth 2.0 ve OAuth 1.0 kimlik doğrulaması. OAuth 1.0 için bağlayıcı Xero özel uygulamasını destekler ancak genel uygulamayı desteklemez.
  • "Raporlar" dışındaki tüm Xero tabloları (API uç noktaları).

Başlarken

İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Xero'ya bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Xero'ya bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

  2. Xero araması yapın ve Xero bağlayıcısını seçin.

    Select the Xero connector.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Configure a linked service to Xero.

Bağlan veya yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Xero bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Xero bağlı hizmeti için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Tür özelliği şu şekilde ayarlanmalıdır: Xero Evet
Connectionproperties Xero'ya nasıl bağlanıldığını tanımlayan bir özellik grubu. Evet
altında connectionProperties:
host Xero sunucusunun uç noktası (api.xero.com). Evet
authenticationType İzin verilen değerler ve OAuth_1.0değerleridirOAuth_2.0. Evet
consumerKey OAuth 2.0 için Xero uygulamanızın istemci kimliğini belirtin.
OAuth 1.0 için Xero uygulamasıyla ilişkili tüketici anahtarını belirtin.
Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun.
Evet
privateKey OAuth 2.0 için Xero uygulamanız için istemci gizli dizisini belirtin.
OAuth 1.0 için, Xero özel uygulamanız için oluşturulan .pem dosyasındaki özel anahtarı belirtin. kullanarak openssl genrsa -out privatekey.pem 512512 uyuşturmalarıyla privatekey.pem oluşturmak için 1024 desteklenmez. Unix satır sonları(\n) dahil olmak üzere .pem dosyasındaki tüm metni ekleyin, aşağıdaki örneğe bakın.

Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun.
Evet
tenantId Xero uygulamanızla ilişkili kiracı kimliği. OAuth 2.0 kimlik doğrulaması için geçerlidir.
Erişim yetkiniz olan kiracıları denetleme bölümünden kiracı kimliğini nasıl alacağınızı öğrenin.
OAuth 2.0 kimlik doğrulaması için Evet
refreshToken OAuth 2.0 kimlik doğrulaması için geçerlidir.
OAuth 2.0 yenileme belirteci Xero uygulamasıyla ilişkilendirilir ve erişim belirtecini yenilemek için kullanılır; Erişim belirtecinin süresi 30 dakika sonra dolar. Xero yetkilendirme akışının nasıl çalıştığını ve yenileme belirtecini nasıl edineceğinizi bu makaleden öğrenin. Yenileme belirteci almak için offline_access kapsamını istemeniz gerekir.
Sınırlamayı bil: Xero, erişim belirteci yenilemesi için kullanıldıktan sonra yenileme belirtecini sıfırlar. İşletimselleştirilmiş iş yükü için, her kopyalama etkinliği çalıştırılmadan önce hizmetin kullanması için geçerli bir yenileme belirteci ayarlamanız gerekir.
Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun.
OAuth 2.0 kimlik doğrulaması için Evet
useEncryptedEndpoints Veri kaynağı uç noktalarının HTTPS kullanılarak şifrelenip şifrelenmediğini belirtir. Varsayılan değer doğru'dur. No
useHostVerification TLS üzerinden bağlanırken sunucunun sertifikasında ana bilgisayar adının sunucunun ana bilgisayar adıyla eşleşmesi gerekip gerekmediğini belirtir. Varsayılan değer doğru'dur. No
usePeerVerification TLS üzerinden bağlanırken sunucunun kimliğinin doğrulanıp doğrulanmayacağını belirtir. Varsayılan değer doğru'dur. No

Örnek: OAuth 2.0 kimlik doğrulaması

{
    "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
            }            
        }
    }
}

Örnek: OAuth 1.0 kimlik doğrulaması

{
    "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
            }
        }
    }
}

Örnek özel anahtar değeri:

Unix satır sonları(\n) dahil olmak üzere .pem dosyasındaki tüm metni ekleyin.

"-----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-----"

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde Xero veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Xero'dan veri kopyalamak için veri kümesinin type özelliğini XeroObject olarak ayarlayın. Aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: XeroObject Evet
tableName Tablonun adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)

Örnek

{
    "name": "XeroDataset",
    "properties": {
        "type": "XeroObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Xero linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde Xero kaynağı tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak Xero

Xero'dan veri kopyalamak için kopyalama etkinliğindeki kaynak türünü XeroSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: XeroSource Evet
query Verileri okumak için özel SQL sorgusunu kullanın. Örneğin: "SELECT * FROM Contacts". Hayır (veri kümesinde "tableName" belirtilirse)

Örnek:

"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>"
            }
        }
    }
]

Xero sorgusunu belirtirken aşağıdakilere dikkat edin:

  • Karmaşık öğeleri olan tablolar birden çok tabloya bölünür. Örneğin, Banka işlemleri karmaşık bir veri yapısına "LineItems" sahip olduğundan, banka işlemi verileri tablo Bank_Transaction ve ile Bank_Transaction_ID eşlenir ve Bank_Transaction_Line_Itemsbunları birbirine bağlamak için yabancı anahtar olarak kullanılır.

  • Xero verileri iki şema aracılığıyla kullanılabilir: Minimal (varsayılan) ve Complete. Complete şeması, istenen sorguyu yapmadan önce ek veriler (örneğin kimlik sütunu) gerektiren önkoşul çağrı tablolarını içerir.

Aşağıdaki tablolar, En Az ve Tam şemasında aynı bilgilere sahiptir. API çağrılarının sayısını azaltmak için En az şema (varsayılan) kullanın.

  • Bank_Transactions
  • Contact_Groups
  • Kişiler
  • Contacts_Sales_Tracking_Categories
  • Contacts_Telefon
  • Contacts_Addresses
  • Contacts_Purchases_Tracking_Categories
  • Credit_Notes
  • Credit_Notes_Allocations
  • Expense_Claims
  • Expense_Claim_Validation_Errors
  • Faturalar
  • Invoices_Credit_Notes
  • Ön Ödemeleri Invoices_
  • Invoices_Overpayments
  • Manual_Journals
  • Fazla ödemeler
  • Overpayments_Allocations
  • Ön ödemeler
  • Prepayments_Allocations
  • Makbuzlar
  • Receipt_Validation_Errors
  • Tracking_Categories

Aşağıdaki tablolar yalnızca tam şemayla sorgulanabilir:

  • Complete.Bank_Transaction_Line_Items
  • Complete.Bank_Transaction_Line_Item_Tracking
  • Complete.Contact_Group_Contacts
  • Complete.Contacts_Contact_ Kişiler
  • Complete.Credit_Note_Line_Items
  • Complete.Credit_Notes_Line_Items_Tracking
  • Complete.Expense_Claim_ Ödemeler
  • 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

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

Kopyalama etkinliği tarafından desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.