2017-05-22 9 views
0

私はAzureデータファクトリを使用して、Azure SQLデータベースからAzure検索インデックスにデータをコピーしようとしていました。 パイプライン、データセット、およびリンクされたサービスを正しく作成しました。 は私がパイプライン/アクティビティの実行後、次のエラーメッセージを取得しています:データソースの場所を検出できません。 CopyActivityでExecutionLocationを指定してください

Can't detect data source location. Please specify ExecutionLocation in CopyActivity. 

入力データセット

{ 
    "name": "Input-notifyDB", 
    "properties": { 
     "structure": [ 
      { 
       "name": "topicid", 
       "type": "String" 
      }, 
      { 
       "name": "createdby", 
       "type": "String" 
      } 
     ], 
     "published": false, 
     "type": "AzureSqlTable", 
     "linkedServiceName": "Source-notifyDB", 
     "typeProperties": {}, 
     "availability": { 
      "frequency": "Minute", 
      "interval": 15 
     }, 
     "external": true, 
     "policy": {} 
    } 
} 

出力データセット:

{ 
    "name": "OutputD-notifyDB", 
    "properties": { 
     "structure": [ 
      { 
       "name": "id", 
       "type": "String" 
      }, 
      { 
       "name": "sender", 
       "type": "String" 
      } 
     ], 
     "published": false, 
     "type": "AzureSearchIndex", 
     "linkedServiceName": "Destination-notifyDB", 
     "typeProperties": { 
      "indexName": "test" 
     }, 
     "availability": { 
      "frequency": "Minute", 
      "interval": 15 
     }, 
     "external": false, 
     "policy": {} 
    } 
} 

パイプライン:

{ 
    "name": "Copy_notifyDB", 
    "properties": { 
     "activities": [ 
      { 
       "type": "Copy", 
       "typeProperties": { 
        "source": { 
         "type": "SqlSource", 
         "sqlReaderQuery": "select convert(varchar(25), topicid) topicid, createdby from [vMessageDetail]" 
        }, 
        "sink": { 
         "type": "AzureSearchIndexSink" 
        }, 
        "translator": { 
         "type": "TabularTranslator", 
         "columnMappings": "topicid:id,createdby:sender" 
        }, 
        "parallelCopies": 8 
       }, 
       "inputs": [ 
        { 
         "name": "Input-notifyDB" 
        } 
       ], 
       "outputs": [ 
        { 
         "name": "OutputD-notifyDB" 
        } 
       ], 
       "policy": { 
        "timeout": "1.00:00:00", 
        "concurrency": 1, 
        "executionPriorityOrder": "NewestFirst", 
        "style": "StartOfInterval", 
        "retry": 3, 
        "longRetry": 0, 
        "longRetryInterval": "00:00:00" 
       }, 
       "scheduler": { 
        "frequency": "Minute", 
        "interval": 15 
       }, 
       "name": "Activity-0-_Custom query_->test" 
      } 
     ], 
     "start": "2017-05-22T10:17:00Z", 
     "end": "2017-05-23T18:30:00Z", 
     "isPaused": false, 
     "pipelineMode": "Scheduled" 
    } 
} 

このエラーを解決する方法はありますか?

+0

このタイプの問題を解決するには、[データのコピー]ウィザード(https://docs.microsoft.com/en-us/azure/data-ja)を使用してパイプラインを作成してください。ファクトリ/データファクトリ/アジュールコピーウィザード)。それがうまくいくとすれば、JSONを比較して、何が違うのかを調べることです。 – wBob

+0

@wbob adfが動かないときも同じトリックを使います。しかし、コピー・データ・ウィザードからパイプラインを作成しても機能しませんでした。 – Jai

答えて

1

メッセージは、パイプライン内のコピーアクティビティで、typeProperties(ソースおよびシンクのピア)内のexecutionLocationプロパティを使用して、 "executionLocation": "East US"のような領域を指定することを意味します。 https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities#a-nameglobalaglobally-available-data-movement

+0

ありがとう、アーサー。それは私のために働いた。 – Jai

関連する問題