Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makalede, http uç noktasından veri kopyalamak için Azure Data Factory ve Azure Synapse kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir. Makale, Kopyalama Etkinliği'ne genel bir genel bakış sunan Kopyalama Etkinliği üzerine derlenmektedir.
Bu HTTP bağlayıcısı, REST bağlayıcısı ve Web tablosu bağlayıcısı arasındaki fark şunlardır:
- REST bağlayıcısı özellikle RESTful API'lerinden veri kopyalamayı destekler;
- HTTP bağlayıcısı , herhangi bir HTTP uç noktasından veri almak için geneldir; örneğin dosyayı indirmek için. REST bağlayıcısı kullanılabilir duruma gelmeden önce, REST bağlayıcısı ile karşılaştırıldığında desteklenen ancak daha az işlevsel olan RESTful API'lerinden veri kopyalamak için HTTP bağlayıcısını kullanabilirsiniz.
- Web tablosu bağlayıcısı, bir HTML web sayfasından tablo içeriğini ayıklar.
Desteklenen özellikler
Bu HTTP 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ı.
Bu HTTP bağlayıcısını kullanarak:
- HTTP GET veya POST yöntemlerini kullanarak bir HTTP/S uç noktasından veri alın.
- Aşağıdaki kimlik doğrulamalarından birini kullanarak verileri alın: Anonymous, Basic, Digest, Windows veya ClientCertificate.
- HTTP yanıtını olduğu gibi kopyalayın veya desteklenen dosya biçimlerini ve sıkıştırma codec'lerini kullanarak ayrıştırın.
İpucu
HTTP bağlayıcısını yapılandırmadan önce veri alma için bir HTTP isteğini test etmek için üst bilgi ve gövde gereksinimleri için API belirtimi hakkında bilgi edinin. Doğrulamak için Visual Studio, PowerShell'in Invoke-RestMethod veya web tarayıcısı gibi araçları kullanabilirsiniz.
Ö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:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak HTTP kaynağına bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde bir HTTP kaynağına bağlı hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü. HTTP araması yapın ve HTTP bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, HTTP bağlayıcısına özgü varlıkları tanımlamak için kullanabileceğiniz özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
HTTP bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | tür özelliği HttpServer olarak ayarlanmalıdır. | Yes |
| url | Web sunucusunun temel URL'si. | Yes |
| sunucuSertifikaDoğrulamasıEtkinleştir | BIR HTTP uç noktasına bağlanırken sunucu TLS/SSL sertifika doğrulamasını etkinleştirip etkinleştiremeyeceğinizi belirtin. HTTPS sunucunuz otomatik olarak imzalanan bir sertifika kullanıyorsa, bu özelliği false olarak ayarlayın. | Hayır (varsayılan değer true'dur) |
| kimlik doğrulama türü | Kimlik doğrulama türünü belirtir. İzin verilen değerler Anonymous, Basic, Digest, Windows ve ClientCertificate.
authHeader özelliğinde ayrıca kimlik doğrulama üst bilgilerini yapılandırabilirsiniz. Daha fazla özellik için bu tabloyu izleyen bölümlere ve bu kimlik doğrulama türleri için JSON örneklerine bakın. |
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 |
| 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 |
Temel, Özet veya Windows kimlik doğrulama kullanma
authenticationType özelliğini Basic, Digest veya Windows olarak ayarlayın. Önceki bölümde açıklanan genel özelliklere ek olarak aşağıdaki özellikleri belirtin:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| userName | HTTP uç noktasına erişmek için kullanılacak kullanıcı adı. | Yes |
| şifre | Kullanıcının parolası ( userName değeri). Güvenli bir şekilde depolamak için bu alanı SecureString türü olarak işaretleyin. Azure Key Vault'ta depolanan bir gizli anahtara da başvurabilirsiniz. | Yes |
Örnek
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "Basic",
"url" : "<HTTP endpoint>",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
ClientCertificate kimlik doğrulamayı kullanma
ClientCertificate kimlik doğrulamasını kullanmak için authenticationType özelliğini ClientCertificate olarak ayarlayın. Önceki bölümde açıklanan genel özelliklere ek olarak aşağıdaki özellikleri belirtin:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| embeddedCertData | Base64 ile kodlanmış sertifika verileri. | embeddedCertData veya certThumbprint belirtin. |
| sertifikaParmakİzi | Kendi kendine barındırılan Integration Runtime makinenizin sertifika mağazasında yüklü olan sertifikanın parmak izi. Yalnızca yerel olarak barındırılan Integration Runtime türü connectVia özelliğinde belirtildiğinde geçerlidir. | embeddedCertData veya certThumbprint belirtin. |
| şifre | Sertifikayla ilişkili parola. Güvenli bir şekilde depolamak için bu alanı SecureString türü olarak işaretleyin. Azure Key Vault'ta depolanan bir gizli anahtara da başvurabilirsiniz. | Hayır |
Kimlik doğrulama için certThumbprint kullanıyorsanız ve sertifika yerel bilgisayarın kişisel deposunda yüklüyse, kendinden barındırılan Integration Runtime'a okuma izinleri verin:
- Microsoft Management Console (MMC) açın. Yerel Bilgisayarı hedefleyen Sertifikalar ek bileşenini ekleyin.
- Kişisel Sertifikalar'ı>genişletin ve ardından Sertifikalar'ı seçin.
- Kişisel depodan sertifikaya sağ tıklayın ve ardından Tüm Görevler>Özel Anahtarları Yönet seçeneğini seçin.
- Güvenlik sekmesinde, sertifikaya okuma erişimiyle Integration Runtime Ana Bilgisayar Hizmeti'nin (DIAHostService) çalıştığı kullanıcı hesabını ekleyin.
- HTTP bağlayıcısı yalnızca güvenilen sertifikaları yükler. Kendi kendine imzalanan veya entegre olmayan bir CA tarafından verilmiş bir sertifika kullanıyorsanız, güveni sağlamak için sertifikanın aşağıdaki depolardan birine de yüklenmesi gerekir:
- Güvenilir Kişiler
- Üçüncü Taraf Kök Sertifika Yetkilileri
- Güvenilen Kök Sertifikasyon Yetkilileri
Örnek 1: certThumbprint kullanma
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"certThumbprint": "<thumbprint of certificate>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek 2: embeddedCertData kullanma
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"embeddedCertData": "<Base64-encoded cert data>",
"password": {
"type": "SecureString",
"value": "password of cert"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Kimlik doğrulama başlıklarını kullanma
Ayrıca, yerleşik kimlik doğrulama türleriyle birlikte kimlik doğrulaması için istek üst bilgilerini yapılandırabilirsiniz.
Örnek: API anahtarı kimlik doğrulaması kullanma
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"url": "<HTTP endpoint>",
"authenticationType": "Anonymous",
"authHeader": {
"x-api-key": {
"type": "SecureString",
"value": "<API key>"
}
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
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.
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Biçim tabanlı veri kümesindeki ayarlar altında location HTTP için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | veri kümesinde altındaki type özelliği location HttpServerLocation olarak ayarlanmalıdır. |
Yes |
| relativeUrl | Verileri içeren kaynağın göreli URL'si. HTTP bağlayıcısı, birleşik URL'den veri kopyalar: [URL specified in linked service][relative URL specified in dataset]. |
Hayır |
Not
Desteklenen HTTP isteği yük boyutu yaklaşık 500 KB'tır. Web uç noktanıza geçirmek istediğiniz yük boyutu 500 KB'tan büyükse yükü daha küçük parçalar halinde toplu işleyebilirsiniz.
Örnek:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "HttpServerLocation",
"relativeUrl": "<relative url>"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Kopyalama Etkinliği özellikleri
Bu bölüm, HTTP 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 HTTP
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings HTTP için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | altındaki storeSettings tür özelliği HttpReadSettings olarak ayarlanmalıdır. |
Yes |
| requestMethod | HTTP yöntemi. İzin verilen değerler Get (varsayılan) ve Post değerleridir. |
Hayır |
| ek başlıklar | Ek HTTP isteği başlıkları. | Hayır |
| requestBody | HTTP isteğinin gövdesi. | Hayır |
| HTTP İstek Zaman Aşımı | Yanıt almak için HTTP isteğinin yanıt 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. Varsayılan değer 00:01:40'tır. | Hayır |
| Maksimum Eşzamanlı Bağlantılar | Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. | Hayır |
Örnek:
"activities":[
{
"name": "CopyFromHTTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "HttpReadSettings",
"requestMethod": "Post",
"additionalHeaders": "<header key: header value>\n<header key: header value>\n",
"requestBody": "<body for POST HTTP request>"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
Eski modeller
Not
Aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi desteklenmektedir. İleride yukarıdaki bölümlerde bahsedilen yeni modeli kullanmanız önerilir ve yazma kullanıcı arabirimi yeni modeli oluşturmaya geçti.
Eski veri kümesi modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Veri kümesinin type özelliği HttpFile olarak ayarlanmalıdır. | Yes |
| relativeUrl | Verileri içeren kaynağın göreli URL'si. Bu özellik belirtilmediğinde, yalnızca bağlı hizmet tanımında belirtilen URL kullanılır. | Hayır |
| requestMethod | HTTP yöntemi. İzin verilen değerler Get (varsayılan) ve Post değerleridir. | Hayır |
| ek başlıklar | Ek HTTP isteği başlıkları. | Hayır |
| requestBody | HTTP isteğinin gövdesi. | Hayır |
| format | VERILERI ayrıştırmadan HTTP uç noktasından olduğu gibi almak ve ardından verileri dosya tabanlı bir depoya kopyalamak istiyorsanız, hem giriş hem de çıkış veri kümesi tanımlarında biçim bölümünü atlayın. Kopyalama sırasında HTTP yanıt içeriğini ayrıştırmak istiyorsanız, şu dosya biçimi türleri desteklenir: TextFormat, JsonFormat, AvroFormat, OrcFormat ve ParquetFormat. Biçim'in altında type özelliğini bu değerlerden birine ayarlayın. Daha fazla bilgi için bkz . JSON biçimi, Metin biçimi, Avro biçimi, Ork biçimi ve Parquet biçimi. |
Hayır |
| sıkıştırma | Verilerin sıkıştırma türünü ve düzeyini belirtin. Daha fazla bilgi için bkz . Desteklenen dosya biçimleri ve sıkıştırma codec'leri. Desteklenen türler: GZip, Deflate, BZip2 ve ZipDeflate. Desteklenen düzeyler: En uygun ve en hızlı. |
Hayır |
Not
Desteklenen HTTP isteği yük boyutu yaklaşık 500 KB'tır. Web uç noktanıza geçirmek istediğiniz yük boyutu 500 KB'tan büyükse yükü daha küçük parçalar halinde toplu işleyebilirsiniz.
Örnek 1: Get yöntemini kullanma (varsayılan)
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"additionalHeaders": "Connection: keep-alive\nUser-Agent: Mozilla/5.0\n"
}
}
}
Örnek 2: Post yöntemini kullanma
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"requestMethod": "Post",
"requestBody": "<body for POST HTTP request>"
}
}
}
Eski kopyalama etkinliği kaynak modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Kopyalama etkinliği kaynağının type özelliği HttpSource olarak ayarlanmalıdır. | Yes |
| HTTP İstek Zaman Aşımı | Yanıt almak için HTTP isteğinin yanıt 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. Varsayılan değer 00:01:40'tır. | Hayır |
Örnek
"activities":[
{
"name": "CopyFromHTTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<HTTP input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "HttpSource",
"httpRequestTimeout": "00:01:00"
},
"sink": {
"type": "<sink type>"
}
}
}
]
İlgili içerik
Kopyalama Etkinliği'nin kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz . Desteklenen veri depoları ve biçimleri.