Azure Data Factory veya Synapse Analytics kullanarak OData kaynağından veri kopyalama

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, OData kaynağından veri kopyalamak için Azure Data Factory veya Synapse Analytics işlem hattında Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Makale, Kopyalama Etkinliği'ne genel bir genel bakış sunan Kopyalama Etkinliği üzerine derlenmektedir.

Not

Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric OData bağlayıcısı belgelerine bakın.

Desteklenen özellikler

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

Desteklenen özellikler Kızılötesi
Kopyalama etkinliği (kaynak/-) (1) (2)
Arama etkinliği (1) (2)

(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı

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

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

  • OData sürüm 2.0, 3.0 ve 4.0.
  • Aşağıdaki kimlik doğrulamalarından birini kullanarak veri kopyalama: Anonymous, Basic, Windows ve Microsoft Entra hizmet sorumlusu.

Önkoşullar

Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.

Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.

Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.

Kullanmaya başlayın

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

Kullanıcı arabirimini kullanarak OData deposuna bağlı hizmet oluşturma

Azure portalı kullanıcı arabirimindeki bir OData deposuna bağlı hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine gidin ve Bağlı Hizmetler'i ve ardından Yeni'yi seçin:

    Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü.

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

    OData bağlayıcısının ekran görüntüsü.

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

    OData deposu için bağlı hizmet yapılandırmasının ekran görüntüsü.

Bağlayıcı yapılandırma ayrıntıları

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

Bağlı hizmet özellikleri

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

Özellik Açıklama Gerekli
Tip type özelliği OData olarak ayarlanmalıdır. Yes
url OData hizmetinin kök URL'si. Yes
kimlik doğrulama türü OData kaynağına bağlanmak için kullanılan kimlik doğrulama türü. İzin verilen değerler Anonymous, Basic, Windows ve AadServicePrincipal'dır. Kullanıcı tabanlı OAuth desteklenmez. authHeader özelliğinde ayrıca kimlik doğrulama üst bilgilerini yapılandırabilirsiniz. Yes
authHeaders Kimlik doğrulaması için ek HTTP istek üstbilgileri.
Örneğin, API anahtarı kimlik doğrulamasını kullanmak için kimlik doğrulama türünü "Anonim" olarak seçebilir ve üst bilgide API anahtarı belirtebilirsiniz.
Hayır
userName Temel veya Windows authentication kullanıyorsanız userName belirtin. Hayır
şifre userName için belirttiğiniz kullanıcı hesabının parolasını belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString türü olarak işaretleyin. ayrıca Azure Key Vault içinde depolanan bir gizliye başvurabilirsiniz. Hayır
servicePrincipalId Microsoft Entra uygulamanın istemci kimliğini belirtin. Hayır
aadServicePrincipalCredentialType Hizmet sorumlusu kimlik doğrulaması için kullanılacak kimlik bilgisi türünü belirtin. İzin verilen değerler şunlardır: ServicePrincipalKey veya ServicePrincipalCert. Hayır
servicePrincipalKey Microsoft Entra uygulamasının anahtarını belirtin. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir sırrı referans alın. Hayır
HizmetPrensibiGömülüSertifikası Microsoft Entra ID kayıtlı uygulamanızın base64 kodlanmış sertifikasını belirtin ve sertifika içerik türünün PKCS #12 olduğundan emin olun. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir sırrı referans alın. Hayır
servicePrincipalGömülüSertifikaŞifre Sertifikanızın güvenliği bir parolayla sağlanıyorsa sertifikanızın parolasını belirtin. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir sırrı referans alın. Hayır
kiracı Uygulamanızın bulunduğu kiracı bilgilerini (etki alanı adı veya kiracı kimliği) belirtin. Fareyi Azure portalının sağ üst köşesine getirerek edinebilirsiniz. Hayır
aadResourceId Yetkilendirme için istediğiniz Microsoft Entra kaynağını belirtin. Hayır
azureCloudType Hizmet sorumlusu kimlik doğrulaması için, Microsoft Entra uygulamanızın kaydedildiği Azure bulut ortamının türünü belirtin.
İzin verilen değerler AzurePublic, AzureChina, AzureUsGovernment ve AzureGermany'dir. Varsayılan olarak, hizmetin bulut ortamı kullanılır.
Hayır
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime kullanılır. Hayır

Örnek 1: Anonim kimlik doğrulaması kullanma

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek 2: Temel kimlik doğrulamayı kullanma

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Basic",
            "userName": "<user name>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek 3: Windows kimlik doğrulamayı kullanma

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Windows",
            "userName": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek 4: Hizmet ilkesi anahtarı ile kimlik doğrulama

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource URL>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

Örnek 5: Hizmet sorumlusu sertifikası kimlik doğrulamayı kullanma

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalEmbeddedCert": { 
                "type": "SecureString", 
                "value": "<base64 encoded string of (.pfx) certificate data>"
            },
            "servicePrincipalEmbeddedCertPassword": { 
                "type": "SecureString", 
                "value": "<password of your certificate>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource e.g. https://tenant.sharepoint.com>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

Örnek 6: API anahtarı kimlik doğrulamayı kullanma

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Anonymous",
            "authHeader": {
                "APIKey": {
                    "type": "SecureString",
                    "value": "<API key>"
                }
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Veri kümesi özellikleri

Bu bölümde, OData veri kümesinin desteklediği özelliklerin listesi sağlanır.

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri ve bağlı hizmetler.

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

Özellik Açıklama Gerekli
Tip Veri kümesinin tür özelliği ODataResource olarak ayarlanmalıdır. Yes
yol OData kaynağının yolu. Yes

Örnek

{
    "name": "ODataDataset",
    "properties":
    {
        "type": "ODataResource",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<OData linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "path": "Products"
        }
    }
}

Kopyalama Etkinliği özellikleri

Bu bölüm, OData kaynağının desteklediği özelliklerin listesini sağlar.

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz İşlem hatları.

Kaynak olarak OData

OData'dan veri kopyalamak için Kopyalama Etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Kopyalama Etkinliği kaynağının type özelliği ODataSource olarak ayarlanmalıdır. Yes
query Verileri filtrelemek için OData sorgu seçenekleri. Örnek: "$select=Name,Description&$top=5".

Not: OData bağlayıcısı verileri birleştirilmiş URL'den kopyalar: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source]. Daha fazla bilgi için bkz . OData URL bileşenleri.
Hayır
HTTP İstek Zaman Aşımı HTTP isteğinin bir yanıt alması için zaman aşımı (TimeSpan değeri). Bu değer, yanıt verilerini okumak için zaman aşımı değil, yanıt almak için zaman aşımıdır. Belirtilmezse, varsayılan değer 00:30:00 'dır (30 dakika). Hayır

Örnek

"activities":[
    {
        "name": "CopyFromOData",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<OData input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ODataSource",
                "query": "$select=Name,Description&$top=5"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Yazılan kaynağı kullanıyorsanız RelationalSource , yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.

OData için veri türü eşlemesi

OData'dan veri kopyaladığınızda, OData veri türleri ile hizmet içinde dahili olarak kullanılan ara veri türleri arasında aşağıdaki eşlemeler kullanılır. Kopyalama Etkinliği'nin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.

OData veri türü Ara hizmet veri türü
Edm.Binary Byte[]
Edm.Boolean Boole
Edm.Byte Byte[]
Edm.DateTime TarihSaat
Edm.Decimal Ondalık
Edm.Double Çift
Edm.Single Tek
Edm.Guid GUID
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String String
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

Not

OData karmaşık veri türleri (Nesne gibi) desteklenmez.

Project Online'dan veri kopyalama

Project Online, Azure Data Factory tarafından desteklenmeyen kullanıcı tabanlı OAuth gerektirir. Project Online'dan veri kopyalamak için OData bağlayıcısını ve Postman gibi araçlardan alınan erişim belirtecini kullanabilirsiniz.

Dikkat

Erişim belirtecinin süresi varsayılan olarak 1 saat içinde dolar. Süresi dolduğunda yeni bir erişim belirteci almanız gerekir.

  1. Erişim belirtecini almak için Postman'i kullanın:

    Not

    Postman, bazı geliştiriciler tarafından uzak web API'lerini test etme amacıyla kullanılan bir uygulamadır. Ancak, kullanımıyla ilişkili bazı güvenlik ve gizlilik riskleri vardır. Bu makale, üretim ortamları için Postman kullanımını onaylamaz. Lütfen kendi riskinizle kullanın.

    1. Postman Web Sitesinde Yetkilendirme sekmesine gidin.
    2. Tür kutusunda OAuth 2.0'ı seçin ve Yetkilendirme verilerini ekle kutusunda İstek Üst Bilgilerini seçin.
    3. Yeni erişim belirteci almak için Yeni Belirteci Yapılandır sayfasında aşağıdaki bilgileri doldurun:
      • Verme türü: Yetkilendirme Kodu'nu seçin.
      • Geri arama URL'si: girin https://www.localhost.com/.
      • Kimlik Doğrulama URL'si: girin https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com. <your tenant name> değerini kendi kiracı adınızla değiştirin.
      • Erişim Belirteci URL'si: girin https://login.microsoftonline.com/common/oauth2/token.
      • Client Id: Microsoft Entra hizmet sorumlusu kimliğinizi girin.
      • İstemci Sırrı: Hizmet sorumlusu istemci sırrınızı girin.
      • İstemci Kimlik Doğrulaması: Temel Kimlik Doğrulama başlığı olarak gönder'i seçin.
    4. Kullanıcı adınız ve parolanızla oturum açmanız istenir.
    5. Erişim belirtecinizi aldıktan sonra lütfen bir sonraki adım için kopyalayın ve kaydedin.

    Erişim belirtecini almak için Postman kullanmanın ekran görüntüsü.

  2. OData bağlı hizmetini oluşturun:

    • Hizmet URL'si: girin https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata. <your tenant name> değerini kendi kiracı adınızla değiştirin.
    • Kimlik doğrulama türü: Anonim'i seçin.
    • Kimlik doğrulama başlıkları:
      • Özellik adı: Yetkilendirme'yi seçin.
      • Değer: girin Bearer <access token from step 1>.
    • Bağlı hizmeti test edin.

    OData bağlı hizmet oluştur

  3. OData veri kümesini oluşturma:

    1. 2. adımda oluşturulan OData bağlı hizmetiyle veri kümesini oluşturun.
    2. Verileri önizleme.

    Verileri önizleme

Arama etkinliği özellikleri

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

Kopyalama Etkinliği'nin kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz . Desteklenen veri depoları ve biçimleri.