Import API

Import API

CARTO Import APIを使用すると、CARTOアカウントにファイルをアップロードしたり、現在のアップロード状況を確認したり、特定のアカウントでプロセスをインポートしたり削除したりすることができます。 このAPIは、送信されたファイルの変換およびインポートを処理する一連のCARTOエンドポイントを対象とするいくつかのHTTP要求で構成されています。 CARTOテーブルは、標準テーブルまたは同期テーブルとして分類できます。 さらに、ArcGIS Server™コネクタを使用すると、ArcGIS™レイヤをデータセットにインポートできます。

クイックスタート

この例では、コマンドラインツールのcURLを使います。このツールについて詳しく知りたい方は、このブログポストを読むか、bashでman curlとタイプしてマニュアルを御覧ください。

ローカルファイルのアップロード

documentationという名前のCARTOのアカウントと、prism_tour.csvというファイルがローカルにあって、そのファイルをアカウントにアップロードしたいと仮定します。この場合、以下の様なコマンドをターミナルウィンドウで実行してください。


curl -v -d -F file=@/home/documentation/Documents/prism_tour.csv
"https://documentation.carto.com/api/v1/imports/?api_key=3102343c42da0f1ffe6014594acea8b1c4e7fd64"

api_keyの部分は、英数半角文字で構成されており、この場合、documentationアカウントに個別に指定された値です。

このリクエストへの反応は、以下の様なフォーマットになり、インポートは成功したことになります。


{
  "item_queue_id": "efa9925c-31dd-11e4-a95e-0edbca4b5057",
  "success": true
}

item_queue_id値は、インポートのプロセスを参照するための識別子となります。一旦インポートのプロセスが始まると、それに関する情報は、「インポートプロセスの状態をチェック」のセクションで説明するように、インポートのエンドポイントにリクエストを送ることで得ることができます。

リモートURLからのインポート

仮にホスト名が、examplehost.comというサーバに、sample.csvというファイルがアップロードされているとします。このファイルからテーブルを作成するには、ターミナルウィンドウで以下のコマンドを実行します。


curl -v -H "Content-Type: application/json" -d '{"url":"https://examplehost.com/sample.csv"}'
"https://documentation.cartodb.com/api/v1/imports/?api_key=3102343c42da0f1ffe6014594acea8b1c4e7fd64"`

このリクエストに対する反応は、以下の様なフォーマットで、インポートが成功したことを知らせてくれます。


{
"item_queue_id": "efa9925c-31dd-11e4-a95e-0edbca4b5057",
"success": true
}

データベースへの接続

接続するmydbという外部MySQLデータベースがあるとします。 この例では、アドレスがmydbserver.comのサーバーにアクセスします。 ユーザー名はmyuser、パスワードはmypassです。 ターミナルウィンドウで次のコマンドを実行して、mytableという名前のリモートテーブルにCARTOデータセットを接続します。ArcGIS™レイヤをデータセットにインポートします。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "mysql",
"connection": {
"server":"mydatabaserver.com",
"database":"mydb",
"username":"myuser,
"password":"mypass"
},
"table": "mytable"
}
}' "https://documentation.carto.com/api/v1/imports/?api_key=3102343c42da0f1ffe6014594acea8b1c4e7fd64"

レスポンス


{
"item_queue_id": "tyf9925c-32dd-11f4-a95f-0fdbca4b5058",
"success": true
}

詳細については、データベース接続を参照してください。

一般的概念

以下のコンセプトは、例外と明記していない限り、APIの全てのエンドポイントについて同様です。

Auth

CARTOのアカウト内にあるデータを操作するには、パスワードとしてユニークな識別子を使って、事前に承認を取る必要があります。インポートAPIに関しては、APIキーとして知られる特別の識別子が使われますが、このAPIキーは、各ユーザーアカウントについて認証されていることを証明するもので、これを使うことでデータにアクセスすることができます。

承認されたリクエストを実行するには、api_key=YOURAPIKEYをリクエストするURLに追加する必要があります。パラメタは、POSTパラメタとして渡すこともできます。api_keyを含むリクエストを送る際には、HTTPSを使うことを強く推薦します


エラー

エラーは、標準のHTTPコードを使って報告され、以下の例のように、より詳しい情報がHTML形式でさらに報告されます。


<html>
  <head>
    <title>411 Length Required</title>
  </head>
  <body bgcolor="white">
    <center>
      <h1>411 Length Required</h1>
    </center>
    <hr>
    <center>nginx</center>
  </body>
</html>

特定の場合に応じて、エラーに関する追加情報が提示されることがあります。 既知のエラーコードと解決策の詳細については、インポートエラーを参照してください。

標準テーブル

CartoDBが受け付けるファイルフォーマットでデータをアップロードすると、標準のインポートプロセスを経て、データはCartoDBのテーブルとしてインポートされます。

ファイルのアップロード

定義


POST api/v1/imports

パラメタ

  • auth_token
    • 対象となるCartoDBアカウントのAPIキー
  • Local file upload
    • ローカルファイルをインポートする際、ファイルを指定したPOSTを実行する必要があります(以下にあるCURLをつかった実行例を参照して下さい)
  • url
    • 一般公開されているリモートファイルをインポートする際のフルURL
  • type_guessing
    • falseに設定した場合、フィールドのデータタイプの推測を無効にします(ExcelとCSVファイルに関して)。オプション。デフォルトはtrue。
  • quoted_field_guessing
    • falseに指定した場合、CSVファイルのフィールドで、ダブルクォートされているフィールドのデータタイプの推測を無効にします。オプション。デフォルトはtrue。
  • content_guessing
    • trueに設定した場合、データ内容の推測を有効にし、その結果に基づくジオコーディングを有効にします。今のところ、国名によるジオコーディングだけが行えます。オプション。デフォルトはfalse。
  • create_vis
    • trueに設定した場合、データセットをインポートした後、自動的に地図を作成するように、そのインポートプロセスに対し、フラグを立てます。オプション。デフォルトはfalse。
  • collision_strategy
    • 既存のテーブルと同じ名前のデータセットをインポートするときの動作を指定します。 デフォルトでは、インポートされ、連続番号(mytable、mytable_1 …)で名前が変更されます。 オプション。 collision_strategy = skipを設定すると、一致する名前のテーブルはインポートされません。 collision_strategy = overwriteを設定すると、スキーマに互換性がある場合のみ、テーブルが一致する名前に置き換えられます。
  • privacy
    • インポートによって生成された1つまたは複数のテーブルのプライバシー設定を設定するために使用されます。 create_visがtrueに設定されている場合、結果として得られる視覚化のプライバシー設定もこのパラメータによって決定されます。 プライバシーは次のように設定できます:
    • public
      • 生成されるテーブルとビジュアリゼーションは、だれでも見ることができます。
    • private
      • アップロードした人のみ、生成されるテーブルとビジュアリゼーションを見ることができます。
    • link
      • アップロードした人が共有したプライベートリンクを知っている人のみが、生成されるテーブルとビジュアリゼーションを見ることができます。
  • table_name
    • 既に存在するテーブルを複製する際に使います。ファイルとURLからのインポートと混同して使わないで下さい。
  • table_copy
    • table_nameと同様、テーブルをコピーする際に内部的に使われます。設定しません。
  • table_id
    • テーブルを移植する際の内部で使うID。設定しません。
  • append
    • 将来使用予定。設定しません。
  • sql
    • すでにあるテーブルに適用し、新しいテーブルを作成するSQLクエリ。ファイル/URLインポートと混在させないこと
  • service_name
    • 複数のデータソースからどのデータソースをアップロードするか指定するために使用。使用できるデータソースの最新のリストを見るにはこちらをクリック。最初はCartoDBのウェブエディタで内部的に使うことを意図。
  • service_name_id
    • 複数のデータソースからどのデータソースをアップロードするか指定するために使用。使用できるデータソースの最新のリストを見るにはこちらをクリック。最初はCartoDBのウェブエディタで内部的に使うことを意図。

レスポンス

以下のレスポンスがあります。

  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • success
    • ファイルのインポートが成功したかどうか示すブーリアン値

ローカルファイルアップロードの例


curl -v -F file=@/path/to/local/file "https://{account}.carto.com/api/v1/imports/?api_key={account API Key}"


{
"item_queue_id": "9906bce0-f1a3-4b07-be71-818f4bfd7673",
"success": true
}

URLアップロードの例


curl -v -H "Content-Type: application/json" -d '{"url":"https://remotehost.url/path/to/remotefile"}'
"https://{account}.cartodb.com/api/v1/imports/?api_key={account API Key}"`


{
  "item_queue_id": "9906bce0-f1a3-4b07-be71-818f4bfd7673",
  "success": true
}

インポートプロセスの状況チェック

インポートに際し、ファイルをアップロードした際、ファイルサイズとCARTOサイドのプロセッシングにより、少し処理に時間がかかるかもしれません。以下のリクエストを送ることで、インポートプロセスの状況に関する情報が得られます。

定義


GET /api/v1/imports/<import_id>

パラメタ

  • auth_token
    • 対象とするCARTOのAPIキー
  • The import identifier
    • 問い合わせを行う対象のインポートプロセスを識別するためのユニークな英数半角の識別子。アップロードのリクエストが成功した際に戻されるitem_queue_id要素。

レスポンス

  • id
    • インポートプロセスごとに付けられるユニークなID。リクエストの際に作成されるimport idと同一
  • user_id
    • 内部データベースで使われるCARTOのアカウントユーザーを識別するための英数半角で構成される識別子
  • table_id
    • 内部CARTOデータベースで作成されたテーブルを識別する一意の英数字要素。
  • data_type
    • この要素は、ファイルのインポートに使用されるサービスタイプを識別します。 可能な値は、file、url、external_table、query、tableまたはdatasourceです。
  • table_name
    • ターゲットのCARTOアカウントに作成されたテーブルの最終的な名前。 同じ名前のテーブルが存在しない限り、アップロードされたファイルと同じ名前になります(この場合は、テーブル名に整数が追加されます)。
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。enqueuedpendinguploadingunpackingimportingguessingcomplete, または failure。
  • error_code
    • インポートプロセスが途中で失敗した場合、メッセージが出力されます。すなわち、successアイテムがfalse値を持つ場合です。
  • queue_id
    • インポートキュー内のインポートプロセスの一意の識別子。 要求で提供されたインポートIDと同じです。
  • tables_created_count
    • インポートプロセスが生成したテーブルの数。 複数ファイルのアップロードの場合、この値は1より大きい場合があります。 インポートプロセスが失敗した場合、その値はnullになります。
  • synchronization_id
    • この要素は、インポートが同期テーブルとして構成されていない場合はNULL値を持ちます。
  • type_guessing
    • フィールド型推測(ExcelおよびCSVの場合)が有効かどうかを示すブール値。
  • content_guessing
    • コンテンツの推測と自動ジオコーディングがデータのインポートに対して有効かどうかを示すブール値。
  • create_visualization
    • インポートプロセスがマップを自動的に作成するかどうかを示すブール値。 その値は、ユーザーが選択したインポートオプションcreate_visに対応します。
  • visualization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • user_defined_limits
    • ユーザー制限に関する内部利用
  • get_error_text
    • この要素には、インポート処理中にエラーが発生した場合に出力されるエラー記述が含まれます。 エラーのタイトルと説明、ソース(ユーザーまたはカートード)、およびトラブルシューティングの詳細が含まれています。
  • display_name
    • table_nameと同様です。 URLのアップロードの場合は、ファイルの名前が表示されます。 それ以外の場合は、インポートIDが表示されます。
  • success
    • インポートプロセスが成功したかどうか示すブール値(trueまたはfalse)
  • warnings
    • 該当する場合、インポートプロセスに関連する警告メッセージを含むテキストフィールド。
  • is_raster
    • インポートされたテーブルにラスタデータが含まれているかどうかを示すブール値。

コール


curl -v "https://{account}.carto.com/api/v1/imports/1234abcd-1234-1a2b-3c4d-4321dcba5678?api_key={account API Key}

レスポンス


{
  "id": "1234abcd-1234-1a2b-3c4d-4321dcba5678",
  "user_id": "abcd1234-a5b6-c7d8-1a2b-efgh5678abcd",
  "table_id": "mnop5678-12cd-ab34-abc1-4321dcba2b4d",
  "data_type": "url",
  "table_name": "sample_file",
  "state": "complete",
  "error_code": null,
  "queue_id": "1234abcd-1234-1a2b-3c4d-4321dcba5678",
  "get_error_text": {
    "title": "Unknown",
    "what_about": "Sorry, something went wrong and we're not sure what. Try\n uploading your file again, or <a href='mailto:support@cartodb.com?subject=Unknown error'>contact us</a> and we'll try to help you quickly."
  },
  "tables_created_count": null,
  "synchronization_id": null,
  "success": true
}



現在のインポートプロセスの全てをリストで取得

対象とするCartoDBアカウントにインポートするファイルのインポート識別子をリスト。

定義


GET /api/v1/imports/

パラメタ

  • api_key
    • 対象とするCartoDBアカウントのAPIキー

レスポンス

レスポンスには以下が含まれます。

  • imports
    • 対象のCARTOアカウントのインポートプロセスを参照する一意の英数字の識別子のリスト。
  • success
    • ファイルのインポートが成功したかどうか示すブーリアン値


curl -v "https://{account}.carto.com/api/v1/imports/?api_key={account API Key}"


{
 "item_queue_id": "1234abcd-1234-1a2b-3c4d-4321dcba5678",
 "success": true
}

 CARTO地図のビジュアリゼーション

地図をエクスポートのオプションを使用すると、地図と接続されたデータセットを.cartoファイルとしてダウンロードできます。 この.cartoファイルには、地図に適用されたSQLクエリ、CartoCSS、ベースマップ、属性、メタデータ、およびスタイリングを含む、データセットとビジュアライゼーション定義が含まれています。 これは、共有またはインポートできる完全なCARTOビジュアライゼーションをダウンロードするのに便利です。

注:APIインポートのエクスポートのビジュアリゼーションコマンドは、マップダッシュボードから作成されたマップでのみ機能します。

cURL POSTリクエストでは、ビジュアライゼーションをエクスポートできます。ビジュアライゼーションは、状態が完了するまでGETコマンドでポーリングする必要があります。

CARTOビジュアリゼーションのエクスポート

コール


curl -H 'Content-Type: application/json' https://{username}.carto.com/api/v3/visualization_exports\?api_key\={api_key} -X POST --data '{"visualization_id":"{visualization_id}"}'

パラメタ

  • api_key
    • 対象とするCARTOアカウントのAPIキー
  • visualization_id
    • エクスポートプロセスで作成されたマップの一意の識別子。 マップの作成時にcreated_visualizationがtrueに設定されている場合のみ適用されます。

レスポンス


{"id":"b94c26f3-fa16-4f13-b672-45ebbd5a9c95","visualization_id":"ace62506-brc8-6570-2p91-8vf3af3ftc44","user_id":"42b78090-6a11-475a-8060-0a90322752af2","state":"pending","url":null,"created_at":"2016-05-05T09:36:09+00:00","updated_at":"2016-05-05T09:36:09+00:00"}

エクスポートを作成するためのPOST要求を行った後、要求には時間がかかることが予想されます。 状態が完了するまで、GET要求を行うことによってサーバーをポーリングする必要があります。 例えば:


curl -v -H 'Content-Type: application/json' https://{username}.carto.com/api/v3/visualization_exports/{visualization_export_id}\?api_key\={api_key} -X GET

完了すると、応答ステータスは完了に変わり、.cartoビジュアライゼーションファイルのアップロードURLの場所が表示されます。

[bahs]

{“id”:”b94c26f3-fa16-4f13-b672-45ebbd5a9c95″,”visualization_id”:”{visualization_id}”,”user_id”:”42b78090-6a11-475a-8060-0a90322752af2″,”state”:”complete”,”url”:”/uploads/6a2b6fbd86e2c750160a/ace62506-brc8-6570-2p91-8vf3af3ftc44.carto”,”created_at”:”2016-05-05T09:36:09+00:00″,”updated_at”:”2016-05-05T09:36:13+00:00″}%

[/bash]

レスポンスには以下のものが含まれます:

  • id
    • エクスポートプロセスの一意の識別子。 これは、要求で提供されたエクスポートIDと同じです。
  • visuzlization_id
    • エクスポートプロセスで作成されたマップの一意の識別子。 マップの作成時にcreated_visualizationがtrueに設定されている場合のみ適用されます。
  • user_id
    • 内部データベースのCARTOアカウントユーザーを識別する一意の英数字要素。
  • state
    • エクスポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。enqueued, pending, uploading, unpacking, importing, guessing, complete, または failure。
  • url
    • エクスポートするファイルが送られるパブリックURLアドレス。
  • created_at
    • ビジュアリゼーションが作成された日付と時刻。
  • updated_at
    • ビジュアリゼーションの内容が変更された日付と時刻。

POSTリクエストの例

<pre><code class="language-javascript" data-lang="javascript"><span class="nx">curl</span> <span class="o">-</span><span class="nx">v</span> <span class="o">-</span><span class="nx">H</span> <span class="s1">'Content-Type: application/json'</span> <span class="nx">https</span><span class="err">:</span><span class="c1">//{username}.carto.com/api/v3/visualization_exports\?api_key\={api_key} -X POST --data '{"visualization_id":"9a0f4384-afe3-412a-8b09-136b7d9a4013"}'</span>
<span class="p">{</span><span class="s2">"id"</span><span class="err">:</span><span class="s2">"72e488a6-cf0e-404d-bc7e-de9c9840aadf"</span><span class="p">,</span><span class="s2">"visualization_id"</span><span class="err">:</span><span class="s2">"9a0f4384-afe3-412a-8b09-136b7d9a4013"</span><span class="p">,</span><span class="s2">"user_id"</span><span class="err">:</span><span class="s2">"d80fe0f5-0465-4c4a-a2fe-1f14a93f3c5b"</span><span class="p">,</span><span class="s2">"state"</span><span class="err">:</span><span class="s2">"pending"</span><span class="p">,</span><span class="s2">"url"</span><span class="err">:</span><span class="kc">null</span><span class="p">,</span><span class="s2">"created_at"</span><span class="err">:</span><span class="s2">"2016-05-20T07:01:38+00:00"</span><span class="p">,</span><span class="s2">"updated_at"</span><span class="err">:</span><span class="s2">"2016-05-20T07:01:38+00:00"</span><span class="p">}</span><span class="o">%</span></code></pre>

完了した際のレスポンスの例

<pre><code class="language-javascript" data-lang="javascript"><span class="nx">curl</span> <span class="o">-</span><span class="nx">H</span> <span class="s1">'Content-Type: application/json'</span> <span class="nx">https</span><span class="err">:</span><span class="c1">//{username}.carto.com/api/v3/visualization_exports/72e488a6-cf0e-404d-bc7e-de9c9840aadf\?api_key\=04039a13c1bdda65df8bd825b3b8e8117444c950 -X GET</span>
<span class="p">{</span><span class="s2">"id"</span><span class="err">:</span><span class="s2">"72e488a6-cf0e-404d-bc7e-de9c9840aadf"</span><span class="p">,</span><span class="s2">"visualization_id"</span><span class="err">:</span><span class="s2">"9a0f4384-afe3-412a-8b09-136b7d9a4013"</span><span class="p">,</span><span class="s2">"user_id"</span><span class="err">:</span><span class="s2">"d80fe0f5-0465-4c4a-a2fe-1f14a93f3c5b"</span><span class="p">,</span><span class="s2">"state"</span><span class="err">:</span><span class="s2">"complete"</span><span class="p">,</span><span class="s2">"url"</span><span class="err">:</span><span class="s2">"http://s3.amazonaws.com/com.cartodb.imports.production/9d149e72331bf074e35f/9a0f4384-afe3-412a-8b09-136b7d9a4013.carto?AWSAccessKeyId=AKIAJK5S64CVBE35QTKA&Expires=1463734900&Signature=b4cwrdoB%2B0FlTelIzNOAgslUDXY%3D"</span><span class="p">,</span><span class="s2">"created_at"</span><span class="err">:</span><span class="s2">"2016-05-20T07:01:38+00:00"</span><span class="p">,</span><span class="s2">"updated_at"</span><span class="err">:</span><span class="s2">"2016-05-20T07:01:40+00:00"</span><span class="p">}</span><span class="o">%</span></code></pre>

CARTOビジュアリゼーションのインポート

.cartoビジュアライゼーションをインポートするには、標準のImport APIプロシージャを使用してローカルファイルをアップロードします。

インポートエラーのトラブルシューティングについては、インポートエラーセクションを参照してください。

同期テーブル

同期テーブルは、特定のCARTOプランで使用できます。 これらのテーブルは、リモートファイルからのデータを格納し、ユーザーが指定した時間間隔で内容を更新します。 同期テーブルの内容を取得するベースファイルは、Googleドライブ、Dropbox、ボックス、または一般公開のURLから取得できます。

同期テーブルのアップロードと管理

定義

</pre>
<pre><code class="language-html" data-lang="html">GET /api/v1/synchronizations</code></pre>
<pre>

パラメタ

  • api_key
    • 対象とするCARTOアカウントのAPIキー

レスポンス

レスポンスには配列となり、次の要素が含まれます。

  • id
    • 同期テーブルの一意の英数字の識別子。
  • name
    • 作成された同期テーブルの名前
  • interval
    • テーブルの内容を同期させるまでの秒数を表す整数値。
  • url
    • 同期されるファイルが存在する公開URLアドレス。
  • state
    • 同期データセットの現在の状態を示す文字列値。 created, queued, syncing, success, failureのいずれかの値を持つことができます。
  • created_at
    • テーブルがCARTOデータベースに作成された日時
  • updated_at
    • テーブル内の内容が変更された日時
  • run_at
    • テーブルの内容がソースファイルと同期される日付の時刻。
  • retried_times
    • テーブルを同期させるために実行された試行回数を示す整数値。
  • log_id
    • 指定されたテーブルのログトレースを特定するための一意の英数字の識別子。
  • error_code
    • 一意のエラー識別子を表す整数値。
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • run_at
    • テーブルの内容がソースファイルと同期されている日付の時刻。
  • modified_at
    • 該当する場合、テーブルが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • user_id
    • 内部データベースのCARTOアカウントユーザーを識別する一意の英数字要素。
  • service_name
    • ファイルをインポートするために使用されたデータソースの名前を含む文字列。 Googleドライブの場合はgdrive、Dropboxの場合はDropbox、URLのインポートの場合はnullのいずれかの値を設定できます。
  • service_item_id
    • 同期テーブルおよびその関連データソースサービスを参照するためにCARTOによって使用される一意の識別子。
  • type_guessing
    • フィールド型推測(ExcelおよびCSVの場合)が有効かどうかを示すブール値。
  • quoted_fields_guessing
    • データのインポートで、二重引用符で囲まれたCSVフィールドの型推測が有効かどうかを示すブール値。
  • content_guessing
    • コンテンツの推測と自動ジオコーディングがデータのインポートに対して有効かどうかを示すブール値。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • 同期テーブルが外部ソース(通常はCARTOデータライブラリ)に接続されているかどうかを示すブール値。

最後に、配列には、レスポンス配列に含まれる項目の数を示すtotal_entries要素が含まれています。

コール

<pre class="Console"><code class="language-bash" data-lang="bash">curl -v <span class="s2">"https://{username}.carto.com/api/v1/synchronizations/?api_key={account API Key}"</span></code></pre>

レスポンス


{
"synchronizations": [
{
"id": "246dae5e-5302-1ae5-af51-0e85ad047bba",
"name": "barrios_5",
"interval": 2592000,
"url": "https://common-data.carto.com/api/v2/sql?q=select+*+from+%22barrios%22&format=shp&filename=barrios",
"state": "success",
"created_at": "2015-09-04T12:40:37+00:00",
"updated_at": "2016-02-01T12:45:07+00:00",
"run_at": "2016-03-02T12:45:07+00:00",
"retried_times": 0,
"log_id": "2d9b4a52-1daa-429b-b425-6ad561609cb1",
"error_code": null,
"error_message": null,
"ran_at": "2016-02-01T12:45:07+00:00",
"modified_at": "2015-04-22T12:17:50+00:00",
"etag": null,
"checksum": null,
"user_id": "cf8a5cce-d573-4a0b-8c43-6caeaf1dd80e",
"service_name": null,
"service_item_id": "https://common-data.carto.com/api/v2/sql?q=select+*+from+%22barrios%22&format=shp&filename=barrios",
"type_guessing": true,
"quoted_fields_guessing": true,
"content_guessing": true,
"visualization_id": "2954fa60-5a02-11e5-888a-0e5e07bb5d8a",
"from_external_source": false
}
],
"total_entries": 1
}


URLからファイルを同期

定義


POST /api/v1/synchronizations

パラメタ

  • api_key
    • 対象とするCARTOアカウントのAPIキー
  • url
    • インポートするファイルが置かれている場所のパブリックURLアドレス
  • interval
    • 同期期間を秒数で示したもの。同期インターバルは、最低で900(15分)にする必要があります。
  • type_guessing
    • falseに設定すると、フィールドタイプ推測が無効になります(ExcelおよびCSVの場合)。 オプション。 デフォルトはtrueです。
  • quoted_field_guessing
    • falseに設定すると、二重引用符で囲まれたCSVフィールドの型推測が無効になります。 オプション。 デフォルトはtrueです。
  • content_guessing
    • 結果に基づいてコンテンツの推測と自動ジオコーディングを有効にするには、trueに設定します。 現在、国のジオコーディングのみを実装しています。 オプション。 デフォルトはfalseです。

レスポンス

レスポンスには以下の内容が含まれます:

  • endpoint
    • このアイテムは、インポートを実行する内部CARTOコントローラコードを参照します。
  • item_queue_id
    • インポートプロセスを参照する一意の英数字の識別子。 作成されたテーブルに関連するデータを取得するために使用できます。
  •  id
    • インポート処理を識別するためのCARTO内部で利用される一意の英数字の識別子。
  • name
    • 現在使われていません。
  • interval
    • テーブルの内容を同期させるまでの秒数を表す整数値。
  • state
    • 同期データセットの現在の状態を示す文字列値。 created, queued, syncing, success, failureのいずれかの値を持つことができます。
  • user_id
    • CARTO Engine内のユーザーを示す一意の英数字の識別子。
  • created_at
    • テーブルがCARTO Engine データベースに作成された日時
  • updated_at
    • テーブル内の内容が変更された日時
  • run_at
    • テーブルの内容がソースファイルと同期される日付の時刻。
  • modified_at
    • 該当する場合、テーブルが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • 指定されたテーブルのログトレースを特定するための一意の英数字の識別子。
  • error_code
    • 一意のエラー識別子を表す整数値。
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_at
    • テーブルを同期させるために実行された試行回数を示す整数値。
  • service_name
    • ファイルをインポートするために使用されたデータソースの名前を含む文字列。 Googleドライブの場合はgdrive、Dropboxの場合はDropbox、URLのインポートの場合はnullのいずれかの値を設定できます。
  • service_item_id
    • 同期テーブルおよびその関連データソースサービスを参照するためにCARTOによって使用される一意の識別子。
  • type_guessing
    • フィールド型推測(ExcelおよびCSVの場合)が有効かどうかを示すブール値。
  • quoted_fields_guessing
    • データのインポートで、二重引用符で囲まれたCSVフィールドの型推測が有効かどうかを示すブール値。
  • content_guessing
    • コンテンツの推測と自動ジオコーディングがデータのインポートに対して有効かどうかを示すブール値。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • 同期テーブルが外部ソース(通常はCARTOデータライブラリ)に接続されているかどうかを示すブール値。

コール


curl -v -H "Content-Type: application/json" -d '{"url":"https://public.url.to.file/sample_file", "interval":"3600"}' "https://{username}.carto.com/api/v1/synchronizations/?api_key={account API Key}"

レスポンス


{
"data_import": {
"endpoint": "/api/v1/imports",
"item_queue_id": "1234abcd-1234-1a2b-3c4d-4321dcba5678"
},
"id": "abcd1234-a5b6-c7d8-1a2b-efgh5678abcd",
"name": null,
"interval": 3600,
"url": "https://public.url.to.file/sample_file",
"state": "created",
"user_id": "aaaabbbb-1234-5678-dcba-abcd1234efgh",
"created_at": "2014-08-05T13:39:15+00:00",
"updated_at": "2014-08-05T13:39:15+00:00",
"run_at": "2014-08-05T14:39:15+00:00",
"ran_at": "2014-08-05T13:39:15+00:00",
"modified_at": null,
"etag": null,
"checksum": "",
"log_id": "06fafab8-3502-11e4-9514-0e230854a1cb",
"error_code": null,
"error_message": null,
"retried_times": 0,
"service_name": null,
"service_item_id": null,
"type_guessing": true,
"quoted_fields_guessing": true,
"content_guessing": false,
"visualization_id": null,
"from_external_source": false
}

テーブルから同期テーブル機能を外す

同期テーブルは、一般のテーブルに変更することができます。

定義


DELETE /api/v1/synchronizations/<import_id>

パラメタ

  • api_key
    • 対象とするCARTOのAPIキー
  • sync table import id
    • 対象となるテーブルの英数半角の識別子


curl -v -X "DELETE" https://{account}.carto.com/api/v1/synchronizations/<import-identifier>?api_key={account API Key}"

レスポンス

HTTP204が同期テーブル機能が外れた際にメッセージとして返されます。


同期テーブルが同期しているかどうか確認

巨大なテーブルを同期する際には、完全に同期するまでにしばらく時間がかかる場合があります。そのために、同期が終了しているかどうか確認できると便利です。

定義


GET /api/v1/synchronizations/<import_id>/sync_now

パラメタ

  • api_key
    • 対象とするCARTOのAPIキー
  • Target table import id
    • 対象となるテーブルの英数半角の識別子

レスポンス

レスポンスには以下の様なものがあります。

  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。uploading、importing、complete、failure。


curl -v -X "GET" "https://{account}.carto.com/api/v1/synchronizations/1234abcd-1234-1a2b-3c4d-4321dcba5678/sync_now?api_key={account API Key}"


{
"state": "syncing"
}



同期テーブルの同期を強制する

同期テーブルは、作成プロセス中にユーザーが指定した周期的な時間間隔でソースファイルと同期します。 ただし、必要に応じて、任意の時点でデータセットを同期させることができます。 注:同期を強制するには、前回の同期試行が少なくとも900秒(15分)前に行われたときのみ実行してください。

定義


PUT /api/v1/synchronizations/<import_id>/sync_now

パラメタ

  • api_key
    • 対象とするCARTOのAPIキー
  • Target table import id
    • 対象となるテーブルの英数半角の識別子

レスポンス

レスポンスには以下の様なものがあります。

  • enqueued
    • プロセスのキューにれクエストが上手く加えられたかどうか示すブーリアン値
  • synchronization_id
    • 追加したキュー要素を参照する英数半角の識別子


curl -v -X "PUT" "https://{username}.carto.com/api/v1/synchronizations/<import_id>/sync_now?api_key={account API Key}" -H "Content-Length:0"

レスポンス


{
"enqueued": true,
"synchronization_id": "1234abcd-aaaa-2222-4444-dcba4321a1b2"
}

ArcGISレイヤのインポート

ArcGIS™コネクタを使用すると、ArcGIS Server™(バージョン10.1以上が必要です)からデータセットとしてArcGIS™レイヤをCARTOアカウントにインポートできます。 このコネクタは、デフォルトでCARTOインポータオプションで無効になっています。 有効にするには、support@carto.comまでご連絡ください。

ヒント:ArcGIS ServerのConnect Datasetオプションを使用して、CARTO BuilderからArcGIS™サーバテーブルのURLを簡単にインポートできます。

ArcGIS™Layerをインポート

ArcGIS Server™に格納されているArcGIS™レイヤは、CARTOデータセットとしてインポートできます。 このようなレイヤは、(PUBLIC)で、次の構造を使用してArcGIS™API REST URL経由でアクセス可能である必要があります。

http://<host>/<site>/rest/services/<folder>/<serviceName>/<serviceType>/<layer_ID>

定義


POST api/v1/imports

パラメタ

  • interval
    • 値を0に設定する必要があります。他の値を使うと正しくインポートされない場合があります。
  • service_item_id
    • ArcGISのレイヤが保存されているArcGIS API REST URL
  • service_name
    • この値は、arcgisとする必要があります。
  • value
    • service_item_idパラメタと同じURLを指定します。

レスポンス

以下のレスポンスがあります。

  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • success
    • ファイルのインポートが成功したかどうか示すブーリアン値


curl -v -H "Content-Type: application/json" -d '{"interval":"0","service_item_id": "http://url.to.arcgis.server.layer", "service_name": "arcgis", "value": "http://url.to.arcgis.server.layer"}' "https://{account}.cartodb.com/api/v1/imports?api_key={API_KEY}"


{
  "item_queue_id": "d676fd50-b774-4052-a4f1-e56ac6a4300e",
  "success": true
}

ArcGISレイヤとの同期

ArcGISレイヤは、CARTOのアカウントへ同期テーブルとしてインポートすることができます。

レイヤは、ArcGIS API REST URLによりアクセスできるようになっていなければなりません。以下の様な構造になっています。

http://<host>/<site>/rest/services/<folder>/<serviceName>/<serviceType>/<layer_ID>

定義

POST /api/v1/synchronizations

パラメタ

  • interval
    • 同期期間の秒数。 注:同期間隔は少なくとも900(15分)でなければなりません。。
  • service_item_id
    • ArcGIS™データセットが置かれている、ArcGIS™APIのREST URL。注意:レイヤーとデータセットは(PUBLIC)で、ArcGIS™API REST URLを介してアクセス可能である必要があります。 要求にArcGIS Serverセキュリティパラメータを適用することはできません。RESTエンドポイントは公開されている必要があります。
  • service_name
    • この値は、arcgisとする必要があります。
  • url
    • この値は空に設定する必要があります。

レスポンス

以下のレスポンスがあります。

  • endpoint
    • このアイテムは、CARTO内部のインポート作業を行うコントローラーコードです。
  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • id
    • インポートプロセスの参照としてCARTOによって内部的に使用される英数字の識別子。
  • name
    • このアイテムは現在廃止されています。
  • interval
    • テーブル内容の同期間隔を整数秒で示した値
  • url
    • この場合、値は指定しません。
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。created, queued, syncing, success, そしてfailure。
  • user_id
    • 内部データベースで使われるCARTO Engineのアカウントユーザーを識別するための英数半角で構成される識別子
  • created_at
    • CARTOデータベースにテーブルが作成された日時
  • updated_at
    • テーブルの内容が変更された日付
  • run_at
    • 同期テーブルがソーステーブルと同期される予定の日時
  • ran_at
    • 同期テーブルが最後にソーステーブルと同期された日時
  • modified
    • 該当する場合、データセットが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • テーブルをトレースするログを識別するための英数半角の識別子
  • error_code
    • 整数のエラー識別子
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_times
    • テーブル同期を何度試したか示す整数値
  • service_name
    • arcgisと設定します。
  • service_item_id
    • このアイテムには、インポートされたArcGIS™レイヤをターゲットとするArcGIS API REST URLが含まれています。
  • type_guessing
    • フィールド型推測(ExcelおよびCSVの場合)が有効かどうかを示すブール値。
  • quoted_fields_guessing
    • データのインポートで、二重引用符で囲まれたCSVフィールドの型推測が有効かどうかを示すブール値。
  • content_guessing
    • コンテンツの推測と自動ジオコーディングがデータのインポートに対して有効かどうかを示すブール値。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • 同期テーブルが外部ソース(通常はCARTOデータライブラリ)に接続されているかどうかを示すブール値。


curl -v -H "Content-Type: application/json" -d '{"interval":"604800","service_item_id": "http://url.to.arcgis.server.layer", "service_name": "arcgis", "url":""}' "https://{account}.cartodb.com/api/v1/synchronizations?api_key={API_KEY}"

レスポンス


{
"endpoint":"/api/v1/imports",
"item_queue_id":"4ff4abdd-9d37-4b7a-8e13-fb00376e2a58",
"id":"d4bc05e8-5063-11e4-9886-0e018d66dc29",
"name":null,
"interval":604800,
"url":"",
"state":"created",
"user_id":"4884b545-07f4-4ce4-a62f-fe9e2412098f",
"created_at":"2014-10-10T09:57:22+00:00",
"updated_at":"2014-10-10T09:57:22+00:00",
"run_at":"2014-10-17T09:57:22+00:00",
"ran_at":"2014-10-10T09:57:22+00:00",
"modified_at":null,
"etag":null,
"checksum":"",
"log_id":"6aa19bf6-42db-477a-9b69-2c4f74fd8c31",
"error_code":null,
"error_message":null,
"retried_times":0,
"service_name":"arcgis",
"service_item_id":"http://url.to.arcgis.layer",
"type_guessing": true,
"quoted_fields_guessing": true,
"content_guessing": true,
"visualization_id": "2954fa60-5a02-11e5-888a-0e5e07bb5d8a",
"from_external_source": false
}

ArcGISデータセットのインポート


このオプションを使用すると、ArcGIS™データセットに属するレイヤの完全なセットをプログラムでインポートできます(CARTO BuilderのArcGIS Server™Connectデータセットオプションを使用するのではなく)。 このようなデータセットは(PUBLIC)で、次の構造を使用してArcGIS™API REST URLを介してアクセス可能である必要があります。

http://<host>/<site>/rest/services/<folder>/<serviceName>/<serviceType>/<layer_ID>

定義


POST api/v1/imports

 パラメタ

  • interval
    • 値を0に設定する必要があります。他の値を使うと正しくインポートされない場合があります。
  • service_item_id
    • ArcGISのレイヤが保存されているArcGIS API REST URL
  • service_name
    • この値は、arcgisとする必要があります。
  • value
    • service_item_idパラメタと同じURLを指定します。

レスポンス

以下が含まれます。

  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • success
    • ファイルのインポートが成功したかどうか示すブーリアン値


curl -v -H "Content-Type: application/json" -d '{"interval":"0","service_item_id": "http://url.to.arcgis.server.dataset", "service_name": "arcgis", "value": "http://url.to.arcgis.server.dataset"}' "https://{account}.cartodb.com/api/v1/imports?api_key={API_KEY}"


{
&nbsp; "item_queue_id": "c478fd50-f984-4091-d1f2-e72ac6c4333e",
&nbsp; "success": true
}

データベースコネクタ

通常、データをインポートするときは、ファイルやデータのレイヤーを取得して、テーブルにインポートします。 CARTOは、インポート処理中にデフォルトの列とインデックスを作成してフォーマットします。

または、インポートAPIを使用して外部データベースに接続することもできます。外部データベースのデータは、connector パラメータを使用してCARTOテーブルにキャッシュされます。

CARTOアカウントに接続できるデータベースコネクタにはいくつかの種類があります。

MySQL Connector

MySQL Connectorを使用すると、MySQLデータベースからテーブルとしてCARTOアカウントにデータをインポートできます。このコネクタは、デフォルトでCARTOインポータオプションで無効になっています。それを有効にすることに興味があるなら、詳細については私達に連絡してください。

MySQLコネクタを使用すると、次のことができます。

  • MySQLデータベースに格納された単一のテーブル全体をインポートする
  • SQLクエリを適用して、フィルタリングされたデータをインポートする
  • SQLクエリを適用して、複数の結合テーブルをインポートする

MySQLコネクタを使用するには、次の属性を持つ connector パラメータを含める必要があります。


{
 "connector": {
 "provider": "mysql",
 "connection": {
 "server":"myserver.com",
 "database":"mydatabase",
 "username":"myusername",
 "password":"mypassword"
 },
 "table": "mytable",
 "encoding": "iso88591"
 }
}

サポートされているバージョン
MySQL Connectorは、MySQL 4.1.1以降のバージョンで動作するように設計されています。 その正しい動作は、MySQL 5.5と5.7を使用してテストされています。

コネクタの属性
次の表に、MySQLデータベースに接続するために必要なコネクタの属性を示します。

  • connector
    • この値は、mysqlと設定する必要があります。
  • connection
    • リモートのデータベースに接続できるようにするパラメタを指定
  • table
    • インポートするテーブル識別子
  • sql_query
    • SQLクエリで定義されたデータセットのインポートを可能にする。オプション。
  • encoding
    • MySQLデータベースで使われているエンコーディング。

encoding属性には、PostgreSQLの文字セット名またはエイリアスのいずれかを適用できます。

エンコード接続パラメータ
次の表に、リモートデータベースに接続するために必要なパラメータを示します。

  • server
    • MySQLデータベースサーバーのホストアドレスまたは名前
  • port
    • MySQLが稼働しているTCPポート(デフォルトは3306)
  • database
    • 接続するデータベース名
  • username
    • MySQLに接続する際のユーザー名
  • password
    • ユーザーアカウントのパスワード

接続の同期
CARTOプランに同期テーブルが含まれている場合は、データに他の同期テーブルを使用するのと同様に、interval パラメータを適用してデータベースコネクタから同期テーブルを作成できます。

  • interval
    • 同期期間の秒数。 注:同期間隔は少なくとも900(15分)でなければなりません。

注:intervalパラメーターはコネクターの属性内にはありません。別個のパラメーターとして表示されます。


{
"connector": {
"provider": "mysql",
"connection": {
"server":"myserver.com",
"database":"mydatabase",
"username":"myusername",
"password":"mypassword"
},
"table": "mytable",
"encoding": "iso88591"
},
"interval": 2592000
}

テーブルに接続する
外部MySQLデータベーステーブルに接続するには、次のルールが適用されます。

  • リモートMySQLテーブルの名前はconnector/tableパラメータで渡す必要があります
  • sql_queryパラメータは存在してはいけません
  • 同じ名前のCARTOデータセットが外部テーブルに接続されます

次の例は、外部MySQLテーブルをリクエストする方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "mysql",
"connection": {
"server":"myserver.com",
"database":"mydatabase",
"username":"myusername",
"password":"mypassword"
},
"table": "mytable",
"encoding": "iso88591"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

ファイルをインポートするときと同様に、接続が正しく登録されている場合(処理の待機状態)、レスポンスは成功の値を返します。


{
"item_queue_id": "aef9925c-31dd-11e4-a95e-0edbca4b5058",
"success": true
}

item_queue_id値は、接続プロセスを参照する固有の識別子です。 このプロセスが開始されると、インポートプロセスのドキュメントのステータスを確認するに説明されているように、インポートエンドポイントに要求を行うことによってそのステータスを取得できます。

SQL クエリに接続する

リモートデータベースからインポートされるデータを選択するSQLコードは、connector / sql_queryパラメータを介して渡す必要があります。 SQLクエリは、PostgreSQLではなくリモートのMySQLデータベースによって解釈されるので、その構文はMySQLの規則に従っている必要があります。

tableパラメータは、ローカルテーブルの名前を定義するためにも使用する必要があります。 このテーブルには、リモートテーブルのデータが格納されます。 これは、CARTOアカウントで作成されるデータセットです。

次の例は、SQLクエリを使用してMySQLに接続する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "mysql",
"connection": {
"server":"myserver.com",
"database":"mydatabase",
"username":"myusername",
"password":"mypassword"
},
"table": "mytable",
"sql_query": "SELECT * FROM remote_table WHERE value = 1",
"encoding": "iso88591"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

ヒント:curlを使用していてSQLクエリでシングルクォートを使用する必要がある場合は、各シングルクォートをシーケンス ‘”‘”‘で置き換える必要があります。 たとえば、クエリがSELECT * FROM remote_table WHERE value = ‘1’の場合以下のようになります。


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "mysql",
"connection": {
"server":"myserver.com",
"database":"mydatabase",
"username":"myusername",
"password":"mypassword"
},
"table": "mytable",
"sql_query": "SELECT * FROM remote_table WHERE value = '"'"'1'"'"'",
"encoding": "iso88591"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

結果は、接続が正常に登録されたかどうかを示し、接続プロセスを参照する識別子を含みます。


{
 "item_queue_id": "cde6525c-31dd-11e4-a95e-0edbcc4b5058",
 "success": true
}

接続を同期

同期間隔の秒数を定義するintervalパラメータを使用すると、テーブルとクエリの両方を定期的に同期させることができます。

次の例は、外部MySQLデータベースを介してデータを同期する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
 "connector": {
 "provider": "mysql",
 "connection": {
 "server":"myserver.com",
 "database":"mydatabase",
 "username":"myusername",
 "password":"mypassword"
 },
 "table": "mytable",
 "encoding": "iso88591"
 },
 "interval": 2592000
}' "https://{username}.carto.com/api/v1/synchronizations/?api_key={API_KEY}"

レスポンス

レスポンスには以下の項目が含まれます:

  • endpoint
    • このアイテムは、CARTO内部のインポート作業を行うコントローラーコードです。
  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • id
    • インポートプロセスの参照としてCARTOによって内部的に使用される英数字の識別子。
  • name
    • このアイテムは現在廃止されています。
  • interval
    • テーブル内容の同期間隔を整数秒で示した値
  • url
    • この場合、値は指定しません。
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。created, queued, syncing, success, そしてfailure。
  • user_id
    • 内部データベースで使われるCARTO Engineのアカウントユーザーを識別するための英数半角で構成される識別子
  • created_at
    • CARTOデータベースにテーブルが作成された日時
  • updated_at
    • テーブルの内容が変更された日付
  • run_at
    • 同期テーブルがソーステーブルと同期される予定の日時
  • ran_at
    • 同期テーブルが最後にソーステーブルと同期された日時
  • modified
    • 該当する場合、データセットが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • テーブルをトレースするログを識別するための英数半角の識別子
  • error_code
    • 整数のエラー識別子
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_times
    • テーブル同期を何度試したか示す整数値
  • service_name
    • 全てのコネクタベースの動機では、connector を値として指定。
  • service_item_id
    • 接続を定義するすべてのパラメタを含む
  • type_guessing
    • 廃止(コネクタでは使用されない)。
  • content_guessing
    • 廃止(コネクタでは使用されない)。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • コネクタベースの全ての動機では、false に設定。

{
"data_import":{
"endpoint":"/api/v1/imports",
"item_queue_id":"111c4ee0-7e6a-4cb0-8ba8-b98b9159a6d3"
},
"id":"97893fbe-752b-13e6-8543-0401a071da21",
"name":null,
"interval":900,
"url":null,
"state":"created",
"user_id":"ca8c6xce-d773-451b-8a43-6c7e2fbdd80e",
"created_at":"2016-09-07T16:53:24+00:00",
"updated_at":"2016-09-07T16:53:24+00:00",
"run_at":"2016-09-07T17:08:24+00:00",
"ran_at":"2016-09-07T16:53:24+00:00",
"modified_at":null,
"etag":null,
"checksum":"",
"log_id":null,
"error_code":null,
"error_message":null,
"retried_times":0,
"service_name":"connector",
"service_item_id":"{\"provider\":\"mysql\",\"connection\":{\"server\":\"tests-myserver.com\",\"username\":\"myusername\",\"password\":\"mypasswrod\",\"database\":\"mydatabase\"},\"table\":\"mytable\",\"encoding\":"iso88591\"}",
"type_guessing":true,
"quoted_fields_guessing":true,
"content_guessing":false,
"visualization_id":null,
"from_external_source":false
}
}

PostgreSQL コネクタ

PostgreSQLコネクタを使用すると、PostgreSQLデータベースからテーブルとしてCARTOアカウントにデータをインポートできます。 このコネクタは、デフォルトでCARTOインポータオプションで無効になっています。 このコネクタを有効にしたい場合、詳細についてはご連絡ください。

PostgreSQL Connectorを使用すると、次のことができます。

PostgreSQLデータベースに格納された単一のテーブル全体をインポートする</li>
SQLクエリを適用してフィルタリングしたデータをインポートする</li>
SQLクエリを適用して結合したテーブルをインポートする</li>

PostgreSQLコネクタを使用するには、次の属性を持つ connector パラメータを含める必要があります。


{
"connector": {
"provider": "postgres",
"connection": {
"server":"pgserver.com",
"database":"pgdatabase",
"username":"pgusername",
"password":"pgpassword"
},
"schema": "public",
"table": "pgtable"
}
}

サポートされているバージョン
CARTOはこのコネクタの正しい動作をPostgreSQL 9.3および9.5でテストしています。

コネクタの属性
次の表は、PostgreSQLデータベースに接続するために必要なコネクタの属性を示しています。

コネクタの属性
次の表に、MySQLデータベースに接続するために必要なコネクタの属性を示します。

  • connector
    • この値は、postgres と設定する必要があります。
  • connection
    • リモートのデータベースに接続できるようにするパラメタを指定
  • schema
    • インポートするテーブルのリモートのスキーマ(デフォルトでは、public)
  • table
    • インポートするテーブル識別子
  • sql_query
    • SQLクエリで定義されたデータセットのインポートを可能にする。オプション。

エンコード接続パラメータ
次の表に、リモートデータベースに接続するために必要なパラメータを示します。

  • server
    • PostgreSQLデータベースサーバーのホストアドレスまたは名前
  • port
    • PostgreSQLが稼働しているTCPポート(デフォルトは5432)
  • database
    • 接続するデータベース名
  • username
    • PostgreSQLに接続する際のユーザー名
  • password
    • ユーザーアカウントのパスワード
  • sslmode
    • データベースへの接続にSSLを使用するかどうかを決定します。 受け入れられる値はrequire(デフォルト)、preferとdisableです。

SSL接続

デフォルトでは、SSL接続のみがサーバーへの接続に使用され、盗聴防止機能を提供します。 サーバーがSSLをサポートしていない場合、接続は失敗します。 この動作は、sslmode接続パラメータで変更できます。

  • require
    • SSL接続のみ可能です
  • prefer
    • サーバーがサポートするならSSLを使います。そうでなければ、SSLではない接続を行います。
  • disable
    • SSLはどのような状況でも使いません。

接続の同期
CARTOプランに同期テーブルが含まれている場合は、データに他の同期テーブルを使用するのと同様に、interval パラメータを適用してデータベースコネクタから同期テーブルを作成できます。

  • interval
    • 同期期間の秒数。 注:同期間隔は少なくとも900(15分)でなければなりません。

注:intervalパラメーターはコネクターの属性内にはありません。別個のパラメーターとして表示されます。


{
 "connector": {
 "provider": "postgres",
 "connection": {
 "server":"pgserver.com",
 "database":"pgdatabase",
 "username":"pgusername",
 "password":"pgpassword"
 },
 "table": "pgtable"
 },
 "interval": 2592000
}

テーブルに接続する
外部PostgreSQLデータベーステーブルに接続するには、次のルールが適用されます。

  • リモートPostgreSQLテーブルの名前はconnector/tableパラメータで渡す必要があります
  • sql_queryパラメータは存在してはいけません
  • 同じ名前のCARTOデータセットが外部テーブルに接続されます

次の例は、外部PostgreSQLテーブルをリクエストする方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
 "connector": {
 "provider": "postgres",
 "connection": {
 "server":"pgserver.com",
 "database":"pgdatabase",
 "username":"pgusername",
 "password":"pgpassword"
 },
 "table": "pgtable"
 }
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

ファイルをインポートするときと同様に、接続が正しく登録されている場合(処理の待機状態)、レスポンスは成功の値を返します。


{
"item_queue_id": "aef9925c-31dd-11e4-a95e-0edbca4b5058",
"success": true
}

item_queue_id値は、接続プロセスを参照する固有の識別子です。 このプロセスが開始されると、インポートプロセスのドキュメントのステータスを確認するに説明されているように、インポートエンドポイントに要求を行うことによってそのステータスを取得できます。

SQL クエリに接続する

リモート・データベースからインポートされるデータを選択するSQLコードは、connector / sql_queryパラメータを介して渡す必要があります。 SQLクエリは、リモートのPostgreSQLデータベースによって解釈されることに注意してください。

tableパラメータは、ローカルテーブルの名前を定義するためにも使用する必要があります。 このテーブルには、リモートテーブルのデータが格納されます。 これは、CARTOアカウントで作成されるデータセットです。

次の例は、SQLクエリを使用してPostgreSQLに接続する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "postgres",
"connection": {
"server":"pgserver.com",
"database":"pgdatabase",
"username":"pgusername",
"password":"pgpassword"
},
"table": "pgtable",
"sql_query": "SELECT * FROM remote_table WHERE value = 1"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

ヒント:curlを使用していてSQLクエリでシングルクォートを使用する必要がある場合は、各シングルクォートをシーケンス ‘”‘”‘で置き換える必要があります。 たとえば、クエリがSELECT * FROM remote_table WHERE value = ‘1’の場合以下のようになります。


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "postgres",
"connection": {
"server":"pgserver.com",
"database":"pgdatabase",
"username":"pgusername",
"password":"pgpassword"
},
"table": "pgtable",
"sql_query": "SELECT * FROM remote_table WHERE value = '"'"'1'"'"'"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

結果は、接続が正常に登録されたかどうかを示し、接続プロセスを参照する識別子を含みます。


{
 "item_queue_id": "cde6525c-31dd-11e4-a95e-0edbcc4b5058",
 "success": true
}

接続を同期

同期間隔の秒数を定義するintervalパラメータを使用すると、テーブルとクエリの両方を定期的に同期させることができます。

次の例は、外部PostgreSQLデータベースを介してデータを同期する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "postgres",
"connection": {
"server":"pgserver.com",
"database":"pgdatabase",
"username":"pgusername",
"password":"pgpassword"
},
"table": "pgtable"
},
"interval": 2592000
}' "https://{username}.carto.com/api/v1/synchronizations/?api_key={API_KEY}"

レスポンス

レスポンスには以下の項目が含まれます:

  • endpoint
    • このアイテムは、CARTO内部のインポート作業を行うコントローラーコードです。
  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • id
    • インポートプロセスの参照としてCARTOによって内部的に使用される英数字の識別子。
  • name
    • このアイテムは現在廃止されています。
  • interval
    • テーブル内容の同期間隔を整数秒で示した値
  • url
    • この場合、値は指定しません。
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。created, queued, syncing, success, そしてfailure。
  • user_id
    • 内部データベースで使われるCARTO Engineのアカウントユーザーを識別するための英数半角で構成される識別子
  • created_at
    • CARTOデータベースにテーブルが作成された日時
  • updated_at
    • テーブルの内容が変更された日付
  • run_at
    • 同期テーブルがソーステーブルと同期される予定の日時
  • ran_at
    • 同期テーブルが最後にソーステーブルと同期された日時
  • modified
    • 該当する場合、データセットが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • テーブルをトレースするログを識別するための英数半角の識別子
  • error_code
    • 整数のエラー識別子
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_times
    • テーブル同期を何度試したか示す整数値
  • service_name
    • 全てのコネクタベースの動機では、connector を値として指定。
  • service_item_id
    • 接続を定義するすべてのパラメタを含む
  • type_guessing
    • 廃止(コネクタでは使用されない)。
  • content_guessing
    • 廃止(コネクタでは使用されない)。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • コネクタベースの全ての動機では、false に設定。

{
"data_import":{
"endpoint":"/api/v1/imports",
"item_queue_id":"111c4ee0-7e6a-4cb0-8ba8-b98b9159a6d3"
},
"id":"97893fbe-752b-13e6-8543-0401a071da21",
"name":null,
"interval":900,
"url":null,
"state":"created",
"user_id":"ca8c6xce-d773-451b-8a43-6c7e2fbdd80e",
"created_at":"2016-09-07T16:53:24+00:00",
"updated_at":"2016-09-07T16:53:24+00:00",
"run_at":"2016-09-07T17:08:24+00:00",
"ran_at":"2016-09-07T16:53:24+00:00",
"modified_at":null,
"etag":null,
"checksum":"",
"log_id":null,
"error_code":null,
"error_message":null,
"retried_times":0,
"service_name":"connector",
"service_item_id":"{\"provider\":\"postgres\",\"connection\":{\"server\":\"tests-pgserver.com\",\"username\":\"pgusername\",\"password\":\"pgpasswrod\",\"database\":\"pgdatabase\"},\"table\":\"pgtable\"}",
"type_guessing":true,
"quoted_fields_guessing":true,
"content_guessing":false,
"visualization_id":null,
"from_external_source":false
}
}

Microsoft SQL サーバーコネクタ

Microsoft SQL Server コネクタを使用すると、Microsoft SQL Server データベースからテーブルとしてCARTOアカウントにデータをインポートできます。 このコネクタは、デフォルトでCARTOインポータオプションで無効になっています。 このコネクタを有効にしたい場合、詳細についてはご連絡ください。

Microsoft SQL Server Connectorを使用すると、次のことができます。

  • Microsoft SQL Server データベースに格納された単一のテーブル全体をインポートする
  • SQLクエリを適用してフィルタリングしたデータをインポートする
  • SQLクエリを適用して結合したテーブルをインポートする

Microsoft SQL Server コネクタを使用するには、次の属性を持つ connector パラメータを含める必要があります。

{
 "connector": {
 "provider": "sqlserver",
 "connection": {
 "server":"msserver.com",
 "database":"msdatabase",
 "username":"msusername",
 "password":"mspassword"
 },
 "schema": "dbo",
 "table": "mstable"
 }
}

サポートされているバージョン
CARTOは、Microsoft SQL Server 2014(バージョン12.0)およびMicrosoft SQL Server 2016(バージョン13.0)でこのコネクタの正しい動作を確認しました。

コネクタの属性
次の表は、Microsoft SQL Serverデータベースに接続するために必要なコネクタの属性を示しています。

コネクタの属性
次の表に、MySQLデータベースに接続するために必要なコネクタの属性を示します。

  • connector
    • この値は、sqlserver と設定する必要があります。
  • connection
    • リモートのデータベースに接続できるようにするパラメタを指定
  • schema
    • インポートするテーブルのリモートのスキーマ(デフォルトでは、dbo)
  • table
    • インポートするテーブル識別子
  • sql_query
    • SQLクエリで定義されたデータセットのインポートを可能にする。オプション。
  • encoding
    • Microsoft SQL Server データベースで使用されているエンコーディング。

encoding属性には、PostgreSQLの文字セット名またはエイリアスのいずれかを適用できます。
エンコード接続パラメータ
次の表に、リモートデータベースに接続するために必要なパラメータを示します。

  • server
    • Microsoft SQL Serverデータベースサーバーのホストアドレスまたは名前
  • port
    • Microsoft SQL Serverが稼働しているTCPポート(デフォルトは1433)
  • database
    • 接続するデータベース名
  • username
    • Microsoft SQL Serverに接続する際のユーザー名
  • password
    • ユーザーアカウントのパスワード

接続の同期
CARTOプランに同期テーブルが含まれている場合は、データに他の同期テーブルを使用するのと同様に、interval パラメータを適用してデータベースコネクタから同期テーブルを作成できます。

interval
同期期間の秒数。 注:同期間隔は少なくとも900(15分)でなければなりません。

注:intervalパラメーターはコネクターの属性内にはありません。別個のパラメーターとして表示されます。


{
 "connector": {
 "provider": "sqlserver",
 "connection": {
 "server":"msserver.com",
 "database":"msdatabase",
 "username":"msusername",
 "password":"mspassword"
 },
 "table": "mstable"
 },
 "interval": 2592000
}

テーブルに接続する
外部Microsoft SQL Serverデータベーステーブルに接続するには、次のルールが適用されます。

  • リモートMicrosoft SQL Serverテーブルの名前はconnector/tableパラメータで渡す必要があります
  • sql_queryパラメータは存在してはいけません
  • 同じ名前のCARTOデータセットが外部テーブルに接続されます

次の例は、外部Microsoft SQL Serverテーブルをリクエストする方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
 "connector": {
 "provider": "sqlserver",
 "connection": {
 "server":"msserver.com",
 "database":"msdatabase",
 "username":"msusername",
 "password":"mspassword"
 },
 "table": "mstable"
 }
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

ファイルをインポートするときと同様に、接続が正しく登録されている場合(処理の待機状態)、レスポンスは成功の値を返します。


{
"item_queue_id": "aef9925c-31dd-11e4-a95e-0edbca4b5058",
"success": true
}

item_queue_id値は、接続プロセスを参照する固有の識別子です。 このプロセスが開始されると、インポートプロセスのドキュメントのステータスを確認するに説明されているように、インポートエンドポイントに要求を行うことによってそのステータスを取得できます。

SQL クエリに接続する

リモート・データベースからインポートされるデータを選択するSQLコードは、connector / sql_queryパラメータを介して渡す必要があります。 SQLクエリはPostgreSQLではなくリモートのMicrosoft SQL Serverデータベースによって解釈されるため、その構文はMicrosoft SQL Serverの規則に準拠する必要があります。

tableパラメータは、ローカルテーブルの名前を定義するためにも使用する必要があります。 このテーブルには、リモートテーブルのデータが格納されます。 これは、CARTOアカウントで作成されるデータセットです。

次の例は、SQLクエリを使用してMicrosoft SQL Serverに接続する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
 "connector": {
 "provider": "sqlserver",
 "connection": {
 "server":"msserver.com",
 "database":"msdatabase",
 "username":"msusername",
 "password":"mspassword"
 },
 "table": "mstable",
 "sql_query": "SELECT * FROM remote_table WHERE value = 1"
 }
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

ヒント:curlを使用していてSQLクエリでシングルクォートを使用する必要がある場合は、各シングルクォートをシーケンス ‘”‘”‘で置き換える必要があります。 たとえば、クエリがSELECT * FROM remote_table WHERE value = ‘1’の場合以下のようになります。


curl -v -H "Content-Type: application/json" -d '{
 "connector": {
 "provider": "sqlserver",
 "connection": {
 "server":"msserver.com",
 "database":"msdatabase",
 "username":"msusername",
 "password":"mspassword"
 },
 "table": "mstable",
 "sql_query": "SELECT * FROM remote_table WHERE value = '"'"'1'"'"'"
 }
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

結果は、接続が正常に登録されたかどうかを示し、接続プロセスを参照する識別子を含みます。


{
 "item_queue_id": "cde6525c-31dd-11e4-a95e-0edbcc4b5058",
 "success": true
}

接続を同期

同期間隔の秒数を定義するintervalパラメータを使用すると、テーブルとクエリの両方を定期的に同期させることができます。

次の例は、外部PostgreSQLデータベースを介してデータを同期する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "sqlserver",
"connection": {
"server":"msserver.com",
"database":"msdatabase",
"username":"msusername",
"password":"mspassword"
},
"table": "mstable"
},
"interval": 2592000
}' "https://{username}.carto.com/api/v1/synchronizations/?api_key={API_KEY}"

レスポンス

レスポンスには以下の項目が含まれます:

  • endpoint
    • このアイテムは、CARTO内部のインポート作業を行うコントローラーコードです。
  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • id
    • インポートプロセスの参照としてCARTOによって内部的に使用される英数字の識別子。
  • name
    • このアイテムは現在廃止されています。
  • interval
    • テーブル内容の同期間隔を整数秒で示した値
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。created,queued, syncing, success, そしてfailure。
  • user_id
    • 内部データベースで使われるCARTO Engineのアカウントユーザーを識別するための英数半角で構成される識別子
  • created_at
    • CARTOデータベースにテーブルが作成された日時
  • updated_at
    • テーブルの内容が変更された日付
  • run_at
    • 同期テーブルがソーステーブルと同期される予定の日時
  • ran_at
    • 同期テーブルが最後にソーステーブルと同期された日時
  • modified
    • 該当する場合、データセットが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • テーブルをトレースするログを識別するための英数半角の識別子
  • error_code
    • 整数のエラー識別子
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_times
    • テーブル同期を何度試したか示す整数値
  • service_name
    • 全てのコネクタベースの動機では、connector を値として指定。
  • service_item_id
    • 接続を定義するすべてのパラメタを含む
  • type_guessing
    • 廃止(コネクタでは使用されない)。
  • content_guessing
    • 廃止(コネクタでは使用されない)。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • コネクタベースの全ての動機では、false に設定。

{
"data_import":{
"endpoint":"/api/v1/imports",
"item_queue_id":"111c4ee0-7e6a-4cb0-8ba8-b98b9159a6d3"
},
"id":"97893fbe-752b-13e6-8543-0401a071da21",
"name":null,
"interval":900,
"url":null,
"state":"created",
"user_id":"ca8c6xce-d773-451b-8a43-6c7e2fbdd80e",
"created_at":"2016-09-07T16:53:24+00:00",
"updated_at":"2016-09-07T16:53:24+00:00",
"run_at":"2016-09-07T17:08:24+00:00",
"ran_at":"2016-09-07T16:53:24+00:00",
"modified_at":null,
"etag":null,
"checksum":"",
"log_id":null,
"error_code":null,
"error_message":null,
"retried_times":0,
"service_name":"connector",
"service_item_id":"{\"provider\":\"sqlserver\",\"connection\":{\"server\":\"tests-msserver.com\",\"username\":\"msusername\",\"password\":\"mspasswrod\",\"database\":\"msdatabase\"},\"table\":\"mstable\"}",
"type_guessing":true,
"quoted_fields_guessing":true,
"content_guessing":false,
"visualization_id":null,
"from_external_source":false
}
}

Hiveコネクタ

Hiveコネクタを使用すると、HiveServe2 データベースからテーブルとしてCARTOアカウントにデータをインポートできます。 このコネクタは、デフォルトでCARTOインポータオプションで無効になっています。 このコネクタを有効にしたい場合、詳細についてはご連絡ください。

Hive Connectorを使用すると、次のことができます。

  • Hive データベースに格納された単一のテーブル全体をインポートする
  • SQLクエリを適用してフィルタリングしたデータをインポートする
  • SQLクエリを適用して結合したテーブルをインポートする

Hive コネクタを使用するには、次の属性を持つ connector パラメータを含める必要があります。


{
 "connector": {
 "provider": "hive",
 "connection": {
 "server":"hs2server.com",
 "database":"hs2database",
 "username":"hs2username",
 "password":"hs2password"
 },
 "schema": "default",
 "table": "hs2table"
 }
}

サポートされているバージョン
このコネクタは、HiveServer2を介してHive 0.11以降のバージョンで動作するように設計されています(HiveServerバージョン1はサポートされていません)。 その正しい操作はHive 2.1とHadoop 2.7を使ってテストされています。

コネクタの属性
次の表は、Hiveデータベースに接続するために必要なコネクタの属性を示しています。

  • connector
    • この値は、hiveと設定する必要があります。
  • connection
    • リモートのデータベースに接続できるようにするパラメタを指定
  • schema
    • インポートするテーブルのリモートのスキーマ(デフォルトでは、default)
  • table
    • インポートするテーブル識別子
  • sql_query
    • SQLクエリで定義されたデータセットのインポートを可能にする。オプション。
  • encoding
    • Hive データベースで使用されているエンコーディング。

encoding属性には、PostgreSQLの文字セット名またはエイリアスのいずれかを適用できます。
エンコード接続パラメータ
次の表に、リモートデータベースに接続するために必要なパラメータを示します。

  • server
    • Hiveデータベースサーバーのホストアドレスまたは名前
  • port
    • Hiveが稼働しているTCPポート(デフォルトは10000)
  • database
    • 接続するデータベース名
  • username
    • Hiveに接続する際のユーザー名
  • password
    • ユーザーアカウントのパスワード

接続の同期
CARTOプランに同期テーブルが含まれている場合は、データに他の同期テーブルを使用するのと同様に、interval パラメータを適用してデータベースコネクタから同期テーブルを作成できます。

interval
同期期間の秒数。 注:同期間隔は少なくとも900(15分)でなければなりません。

注:intervalパラメーターはコネクターの属性内にはありません。別個のパラメーターとして表示されます。


{
"connector": {
"provider": "hive",
"connection": {
"server":"hs2server.com",
"database":"hs2database",
"username":"hs2username",
"password":"hs2password"
},
"table": "hs2table"
},
"interval": 2592000
}

テーブルに接続する
外部Hiveデータベーステーブルに接続するには、次のルールが適用されます。

  • リモートHiveテーブルの名前はconnector/tableパラメータで渡す必要があります
  • sql_queryパラメータは存在してはいけません
  • 同じ名前のCARTOデータセットが外部テーブルに接続されます

次の例は、外部Microsoft SQL Serverテーブルをリクエストする方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "hive",
"connection": {
"server":"hs2server.com",
"database":"hs2database",
"username":"hs2username",
"password":"hs2password"
},
"table": "hs2table"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

ファイルをインポートするときと同様に、接続が正しく登録されている場合(処理の待機状態)、レスポンスは成功の値を返します。


{
"item_queue_id": "aef9925c-31dd-11e4-a95e-0edbca4b5058",
"success": true
}

item_queue_id値は、接続プロセスを参照する固有の識別子です。 このプロセスが開始されると、インポートプロセスのドキュメントのステータスを確認するに説明されているように、インポートエンドポイントに要求を行うことによってそのステータスを取得できます。

SQL クエリに接続する

リモート・データベースからインポートされるデータを選択するSQLコードは、connector / sql_queryパラメータを介して渡す必要があります。 SQLクエリは、PostgreSQLではなく、リモートのHiveデータベースによって解釈されるため、構文はHiveの規則に従っている必要があります。

tableパラメータは、ローカルテーブルの名前を定義するためにも使用する必要があります。 このテーブルには、リモートテーブルのデータが格納されます。 これは、CARTOアカウントで作成されるデータセットです。

次の例は、SQLクエリを使用してHiveに接続する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "hive",
"connection": {
"server":"hs2server.com",
"database":"hs2database",
"username":"hs2username",
"password":"hs2password"
},
"table": "hs2table",
"sql_query": "SELECT * FROM remote_table WHERE value = 1"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

ヒント:curlを使用していてSQLクエリでシングルクォートを使用する必要がある場合は、各シングルクォートをシーケンス ‘”‘”‘で置き換える必要があります。 たとえば、クエリがSELECT * FROM remote_table WHERE value = ‘1’の場合以下のようになります。


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "hive",
"connection": {
"server":"hs2server.com",
"database":"hs2database",
"username":"hs2username",
"password":"hs2password"
},
"table": "hs2table",
"sql_query": "SELECT * FROM remote_table WHERE value = '"'"'1'"'"'"
}
}' "https://{username}.carto.com/api/v1/imports/?api_key={API_KEY}"

レスポンス

結果は、接続が正常に登録されたかどうかを示し、接続プロセスを参照する識別子を含みます。


{
 "item_queue_id": "cde6525c-31dd-11e4-a95e-0edbcc4b5058",
 "success": true
}

接続を同期

同期間隔の秒数を定義するintervalパラメータを使用すると、テーブルとクエリの両方を定期的に同期させることができます。

次の例は、外部Hiveデータベースを介してデータを同期する方法を示しています。

コール


curl -v -H "Content-Type: application/json" -d '{
"connector": {
"provider": "hive",
"connection": {
"server":"hs2server.com",
"database":"hs2database",
"username":"hs2username",
"password":"hs2password"
},
"table": "hs2table"
},
"interval": 2592000
}' "https://{username}.carto.com/api/v1/synchronizations/?api_key={API_KEY}"

レスポンス

レスポンスには以下の項目が含まれます:

  • endpoint
    • このアイテムは、CARTO内部のインポート作業を行うコントローラーコードです。
  • item_queue_id
    • 対象とするアカウントにインポートされたファイルを識別するための英数半角文字でできた識別子
  • id
    • インポートプロセスの参照としてCARTOによって内部的に使用される英数字の識別子。
  • name
    • このアイテムは現在廃止されています。
  • interval
    • テーブル内容の同期間隔を整数秒で示した値
  • state
    • インポートプロセスの状況を示す文字列。以下のいずれかの値を取ります。created,queued, syncing, success, そしてfailure。
  • user_id
    • 内部データベースで使われるCARTO Engineのアカウントユーザーを識別するための英数半角で構成される識別子
  • created_at
    • CARTOデータベースにテーブルが作成された日時
  • updated_at
    • テーブルの内容が変更された日付
  • run_at
    • 同期テーブルがソーステーブルと同期される予定の日時
  • ran_at
    • 同期テーブルが最後にソーステーブルと同期された日時
  • modified
    • 該当する場合、データセットが手動で変更された日時。
  • etag
    • ソースファイルのHTTPエンティティタグ。
  • checksum
    • etagを参照
  • log_id
    • テーブルをトレースするログを識別するための英数半角の識別子
  • error_code
    • 整数のエラー識別子
  • error_message
    • error_code要素に関連するメッセージを示す文字列値。
  • retried_times
    • テーブル同期を何度試したか示す整数値
  • service_name
    • 全てのコネクタベースの動機では、connector を値として指定。
  • service_item_id
    • 接続を定義するすべてのパラメタを含む
  • type_guessing
    • 廃止(コネクタでは使用されない)。
  • content_guessing
    • 廃止(コネクタでは使用されない)。
  • visuzlization_id
    • インポートプロセスで作成されたマップの一意の識別子。 created_visualizationがtrueに設定されている場合にのみ適用されます。
  • from_external_source
    • コネクタベースの全ての動機では、false に設定。

{
"data_import":{
"endpoint":"/api/v1/imports",
"item_queue_id":"111c4ee0-7e6a-4cb0-8ba8-b98b9159a6d3"
},
"id":"97893fbe-752b-13e6-8543-0401a071da21",
"name":null,
"interval":900,
"url":null,
"state":"created",
"user_id":"ca8c6xce-d773-451b-8a43-6c7e2fbdd80e",
"created_at":"2016-09-07T16:53:24+00:00",
"updated_at":"2016-09-07T16:53:24+00:00",
"run_at":"2016-09-07T17:08:24+00:00",
"ran_at":"2016-09-07T16:53:24+00:00",
"modified_at":null,
"etag":null,
"checksum":"",
"log_id":null,
"error_code":null,
"error_message":null,
"retried_times":0,
"service_name":"connector",
"service_item_id":"{\"provider\":\"hive\",\"connection\":{\"server\":\"tests-hs2server.com\",\"username\":\"hs2username\",\"password\":\"hs2passwrod\",\"database\":\"hs2database\"},\"table\":\"hs2table\"}",
"type_guessing":true,
"quoted_fields_guessing":true,
"content_guessing":false,
"visualization_id":null,
"from_external_source":false
}
}

限度と制限事項

データベースコネクタを使用する場合は、次の限度または制限が適用されます。

  • コネクターがリモートテーブルから取得できる行の最大数は、100万行です。この制限に達すると、警告が発生し、データセットは正常にインポートされますが、100万行で切り捨てられます
    • 注:接続数を減らすために、1回のインポートにつき、CARTOアカウントに接続制限を適用することができます。アカウントの制限についてご質問がある場合は、お問い合わせください。
  • リモートテーブルの最大カラム数は256です。この制限を超えると接続は失敗します
  • 同時同期テーブルの同時実行の数は、アカウントプランによって制限があります。サポートにコネクタのサポートについてお問い合わせください
  • テーブル、列、スキーマ、またはID名の長さは、63文字を超えてはいけません。 63文字を超えると、識別子が切り捨てられ、未定義の動作につながる可能性があります。
  • サポートされているタイプの列のみインポートされます。現在、標準のSQL型に同化できる次のいずれかがサポートされています。
    • CHARACTER
    • CHARACTER VARYING
    • DECIMAL
    • NUMERIC
    • FLOAT
    • REAL
    • DOUBLE PRECISION
    • INTEGER
    • SMALLINT
    • BIGINT
    • DATE
    • TIME
    • TIMESTAMP
  • リモートリスティングテーブルの数は500個のテーブル名に制限されています
  • 注:インポートされた列の数は、コネクターのパフォーマンスに影響します。

地理空間データのインポート

このセクションでは、データセットをインポートしてCARTOで列を作成する方法(および使用する命名規則)について説明します。 インポートプロセス中にCARTOがコンテンツをどのように推測し、データをアップロードするためにサポートされている地理空間フォーマットをリストし、多層データセットまたはバッチファイルアップロードをアップロードするかについて説明します。

データセットの基本

ファイルをインポートすると、ファイルはCARTOで処理できるデータセットに変換されます。システムによって自動的に以下の列が作成されます。

  • cartodb_id
    • この列は、テーブルの主キーとして使用されます
    • その値は、整数、非ヌル、ユニークでなければなりません
  • the_geom
    • この列には、EPSG 4326投影のデータセットの主な幾何学的特徴が格納されます
  • the_geom_webmercator
    • この列には、EPSG 3857投影に変換されたジオメトリが格納され、レンダリング目的で使用されます
  • _feature_count
    • この列は、データの概要表現が作成されると自動的に作成されます(50万点を超えるデータセットの場合)。詳細については、バックエンドデータの概要を参照してください。

データセットがCARTOからエクスポートされるときには、cartodb_id列とthe_geom列が含まれます。この列は、データセットがシステムにインポートされると再利用されます。これにより、エクスポートされたデータセットのインポートには、元のエクスポートされたデータセットの内容と行の順序が含まれます。

これらの列がユーザーによって生成された場合、正常にインポートされるためには、CARTOテーブルの必要条件に従わなければなりません。それ以外の場合は、条件を満たさないデータセット(cartodb_id列に重複した整数を持つデータセットなど)をインポートすると、インポートに失敗します。

命名

CARTOのデータセットには次の命名規則を適用し、ファイル名の一部として予約語を使用しないでください。

  • 表名は文字(a〜z)で始まる必要があります。 それ以外の場合は、 “table_”が名前の前に付加されます
  • 列名は、文字(a-z)またはアンダースコア(_)で始まる必要があります。
  • 列名と表名は、最大63文字です。 この長さを超えると名前が切り詰められます

予約語

システムには、列やデータセットの名前を付けることができない特定の言葉があります。主にPostgreSQLの予約語です。 予約語と競合する名前には、自動的にアンダースコア(_)が付けられます。

インポート時の推測

CARTOには、インポートプロセス中の推測機能が含まれています。これは、ファイルやデータにアップロード情報が不足している場合に便利です。以下の推測オプションが利用できます。

  • 推測するフィールド
    • フォーマットにデータタイプ情報(通常はCSVファイル)が含まれていないファイルの場合、フィールド推測オプションを有効にすることができます。これらのタイプのファイルには、2つの特定の推測オプションがあります。
      • タイプ推測:CSVファイルで使用可能な、テキストの内容からインポートされた列のタイプを決定します。有効な場合は、必要に応じて数値およびブール型の列を生成し、そうでない場合は通常の文字列を使用します
      • 引用フィールドの推測:無効にすると、型推測のための二重引用符フィールドが使用されません。それ以外の場合は、有効にしている場合、二重引用符で囲まれたフィールドが使われます
  • コンテンツの推測
    • コンテンツ推測オプションが有効な場合、国、都市、IPアドレス情報を含むファイルは、システムによって自動的にジオコーディングされます。この自動ジオコーディングは、1つの列に反復またはヌル値の大きな割合がない場合にのみ行われます。コンテンツの推測では、対象の列の名前を特別な方法(「国」や「都市」など)にする必要はなく、CARTOは使用可能なさまざまな列を検査し、それらのどれが地理空間的に推測できるかを識別します。

ヒント:インポートプロセスの推測オプションを細かく設定する方法については、アップロードファイルパラメータを参照してください。

サポートされている地理空間データフォーマット

CARTOはベクトルデータをアップロードするためにいくつかの地理空間データフォーマットをサポートしています。各フォーマットの重要な詳細、およびCARTOにファイルをアップロードするためのいくつかのガイドラインは、このセクションで定義されています。

Shapefile

Shapefile形式はマルチファイルです。同じ名前のファイルが同じディレクトリに格納され、拡張子によって区別されます。

Shapefileは、少なくとも.shpファイル、.shxファイル、.prjファイル、.dbfファイルで構成する必要があります。これらのファイルには、ジオメトリデータ、インデックス、投影情報、および属性がそれぞれ含まれています。他の補助ファイルは必須ではなく、Shapefileのための追加情報を含みます。Shapefileは、.zipまたは.gz形式の単一の圧縮ファイルとしてインポートする必要があります。

注意:Shapefile形式には、データセットをCARTOにエクスポートまたはインポートする方法に影響を与える可能性のある特定の制限があります。

  • 列名は10文字を超えることはできません。この形式で長い名前のデータセットをエクスポートすると、名前が途中で切れてしまいます
  • 日付列は、時刻ではなく日付のみをサポートします。日付列をShapefileとしてエクスポートおよびインポートすると、すべての時刻情報が削除され、日付だけが保持されます。日付と時刻のデータを扱う必要がある場合は、情報を文字列としてエクスポート/インポートして日付に変換することをお勧めします
  • ファイルの投影は、.prjファイルから正しくしきべつされ再投影されますが、あらかじめEPSG 4326投影図にシェイプファイルをアップロードすることをお勧めします
  • 互換性を向上させるために、ShapefileをエンコーディングUTF-8で保存してから、必ずインポートしてください

Keyhole Markup Language(KML)

KML形式は、EPSG 4326投影でポイント、ポリゴン、または線などのフィーチャを定義することによって、地理的な意味を追加するXMLベースの形式です。

KMLでは、string、boolean、double、intなどの一般的なXMLタイプが使用されるため、CARTOからデータセットをインポートまたはエクスポートするときにカラムタイプが尊重されます。

各フィーチャはPlacemark要素として定義されます。通常、名前、説明、およびジオメトリ自体が含まれます。さらに多くのデータ列が必要な場合は、これらのフィールドを定義して、KMLドキュメントのExtendedData要素に含める必要があります。

幾何要素に関しては、点、多角形、線、MultiGeometry、およびGeometry要素がサポートされています。同じレイヤーの異なるジオメトリタイプはサポートされていません。

KMZ

キーホールマークアップ言語Zipped(KMZ)ファイルは、KMLファイルと0以上のサポートファイル(KMLファイルで参照されるイメージ、アイコン、オーバーレイまたはその他の要素)を含む圧縮ファイルに対応します。詳細については、Keyhole Markup Language(KML)のセクションを参照してください。

GeoJSON

GeoJSON形式は、地理的特徴とそのメタデータをエンコードするJavaScript Object Notation(JSON)の拡張です。この形式は、string、double、booleanなどのデータ型をサポートします。 GeoJSONとしてエクスポートされた日付は文字列として格納され、データのインポート時に認識されます。

ジオメトリに関して、点、(多)ポリゴン、(複数)線がサポートされています。 GeometryCollectionジオメトリオブジェクトはサポートされておらず、インポートエラーが発生します。サポートされているジオメトリは、FeatureCollectionオブジェクトとFeatureオブジェクト内にインポートできます。

FeatureCollection要素で異なるジオメトリタイプをインポートすることはサポートされていません。

CSV

カンマ区切り値(またはTSV、タブ区切り値)ファイルはCARTOにインポートできます。インポートに成功するには、次の書式設定のガイドラインに従ってください。

  • CSVファイルの最初の行には列の名前を含める必要があります
  • CSVファイルの残りの行は、ヘッダー列で定義されたスキーマに従う必要があります。
  • 正しい解析を確実にするために、文字列の値を二重引用符で囲むことを推奨します
  • データ自体に引用符が含まれている場合は、値を二重引用符で囲み、内部引用符をエスケープする必要があります
  • CSVの各行は、CR / LF、またはLFで終端する必要があります。 CRラインターミネータはサポートされていません

例:引用符付きのCSV

&lt;/pre&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;name, description, score
"John Doe", "Awesome, the best player ever", 100&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;

例:引用符をエスケープしたCSV


name, geojson
"Null Island", "{""type"": ""Point"", ""coordinates"": [0,0]}"

CSV形式の推測

CSV形式ではデータの列の種類が指定されていないため、CARTOはサポートされている形式を使用してデータを列に変換する推測機能を適用します。これにより、数値列を生成したり、インポート時に直接データセットをジオコードすることができます。

CSVファイルには、推測型と引用型推測の2つの推測オプションがあります。詳細は、Import Guessingセクションを参照してください。

スプレッドシート(​​ExcelまたはOpenDocument)
Excelファイル、またはOpenDocumentスプレッドシートやGoogleドライブスプレッドシートなどの他のスプレッドシートは、CARTOでサポートされています。

アップロードされたスプレッドシートの形式は、次の形式を適用する必要があります。

  • 最初の行には、各列の名前が含まれていなければなりません
  • 結合されたセルはサポートされていません
  • グラフ、グラフ、または他の種類の要素はサポートされていません

マルチシートスプレッドシートの場合、最初のシートのみがインポートされます。

GPX
GPX(GPS Exchange Format)ファイルは、ウェイポイント、トラックおよび/またはルートを含むXMLドキュメントです。 GPXファイルをインポートするとき、CARTOはポイント、トラック、ウェイポイントの異なるデータセットを生成します。これらのデータセットの結果の名前は、それぞれ_track_points、_tracks、および_waypointsというGPX名とそのタイプの組み合わせになります。

OSM
CARTOは、Open Street Mapダンプ(.osmファイル)のインポートをサポートしています。これらのファイルは、ポイント、ライン、またはポリゴンを表すノード、ウェイ、またはリレーションのブロックを含むことができるosm親要素を持つXMLドキュメントです。 CARTOはジオメトリに応じて自動的にOSMダンプを別のテーブルに分割します。したがって、単一のOSMファイルをインポートすると、複数の結果データセットが作成される可能性があります。

MapInfo
MapInfoファイル形式は、MapInfoによって開発された地理空間ベクトルデータであり、グリッドベースの複数のファイルをサポートします。 MapInfoファイル(.DAT、.ID、.MAP、.TAB)は、.zipまたは.gz形式の単一の圧縮ファイルとしてインポートする必要があります。

CARTO
CARTOファイルは、CARTOで生成されたマップ可視化ファイルです。この.cartoファイルには、マップに適用されたSQLクエリ、CartoCSS、ベースマップ、属性、メタデータ、およびスタイリングを含む、データセットとビジュアライゼーション定義が含まれています。これは、共有またはインポートできる完全なCARTOビジュアライゼーションをダウンロードするのに便利です。詳細については、「地図のエクスポート」を参照してください。

マルチレイヤアップロード

CARTOでサポートされているいくつかのフォーマットは、異なるレイヤーまたはジオメトリタイプを格納できます。複数のレイヤーを含むファイルをインポートすると、インポートされたそれぞれに対しデータセットが作成されます。

インポートプロセスでcreate_visオプションを有効にすると、インポートそれぞれのレイヤは、作成される地図に追加されます。マップに含めることができるレイヤーの数は、ユーザーの構成におけるマップごとのレイヤーの最大値によって異なります。

マルチレイヤファイルから作成できるデータセットの最大数は10です。インポートされるファイルに10以上のレイヤが含まれる場合、それ以上のレイヤは省略されます。

Shapefile
Shapefileに含まれるさまざまなレイヤーは、独立したデータセットとしてインポートされます。

KMLファイル
KMLファイルは、各フォルダごとに異なるデータセットとして生成されます。

GPXファイル
複数のタイプの要素(ウェイポイント、トラック、ルート)を含むGPXファイルは、タイプごとに異なるデータセットとしてインポートされます。

OSMファイル
OSMファイルは、ノード、ウェイ、またはリレーションが表すジオメトリのタイプごとに異なるレイヤーとして生成されます(ポイント、ポリゴンまたはライン)。

複数のファイルアップロード

ファイルを圧縮形式でサーバーに送信する場合、バッチファイルアップロードを実行できます。マルチレイヤアップロードの場合と同様に、インポートプロセスがインポート後にマップを生成するように設定されている場合、異なるデータセットが新しいマップにレイヤとして追加されます。マップに含めることができるレイヤの数は、ユーザーアカウントに割り当てられたレイヤの最大値によって異なります。

1つのファイルにインポートできるファイルの最大数は10です。圧縮ファイルに10を超えるファイルが含まれている場合は、最初の10ファイルだけがインポートされ、残りのファイルは省略されます。

インポートエラー

インポート処理中にデータセットを接続するときにエラーが発生することがあります。 このセクションには既知のエラーコードが記載されており、インポートが失敗した原因のトラブルシューティングに役立つ説明が記載されています。 援助が必要な場合はお問い合わせください。

次の表に、既知のエラーコードと解決方法の一覧を示します。

  • 1000
    • ファイルI / Oエラー – アップロードしたファイルに何か問題があるようです。ローカルに正常に読み込まれていることを確認して、もう一度アップロードしてみてください。
  • 1001
    • ダウンロードエラー – リモートURLがエラーを返しました。ファイルがそのURLで利用可能であることを確認してください。
  • 1002
    • サポートされていないファイルの種類 – サポートされているファイルの一覧を確認してください。ファイルをこれらのファイルタイプのいずれかに変換できるかどうかを確認してください。
  • 1003
    • 解凍エラー – 圧縮されたファイルを解凍して、コンピュータ上で再生してみてください。それが失敗した場合は、元のファイルを見つけて新しい圧縮バージョンを作成します。
  • 1004
    • XLS / XLSXエラー – XLS / XLSXアーカイブを開くことができなかったか、インポートできないデータが含まれていました。それをCSVにエクスポートし、代わりにCSVをアップロードしてみてください。
  • 1005
    • 空のファイル – ファイルに処理可能な情報がないようです。ファイルが実際に正しく、サポートされているデータが含まれていることを再度確認します。
  • 1006
    • 無効なSHPファイル – ファイルが壊れています。ファイルのすべての必要な部分がZIPアーカイブ(.SHP、.PRJなどを含む)に含まれていることを再度確認します。また、QGISまたは別のツールを使用してファイルをローカルで開くようにしてください。
  • 1007
    • ノードが多すぎます – 要求したノードが多すぎます。小さな領域を要求するか、planet.osmを使用してください。
  • 1008
    • GDriveアクセス禁止 – GoogleはGDriveへのアクセスを拒否しました。 Google Appsを使用している場合は、管理者に連絡してサードパーティのドライブアプリケーションを許可し、もう一度お試しください。
  • 1009
    • Twitter Server Error – つぶやきを取得するためにTwitterサービスに接続中にエラーが発生しました。サーバーが一時的に使用できない可能性があります。後でもう一度お試しください。
  • 1010
    • Not a file – インポート要求にファイルが含まれていません。要求が正しくフォーマットされていること、および/またはファイルが投稿されていることを確認してください。
  • 1011
    • データソースからデータを取得中にエラーが発生しました – データソースからデータを取得中にエラーが発生しました。ファイル/データがまだ存在することを確認してください。
  • 1012
    • データソースへの接続中にエラーが発生しました – データソースに接続しようとしてエラーが発生しました。この問題が解決しない場合はsupport@carto.comまでご連絡ください。
  • 1013
    • 無効なArcGISバージョン – 指定されたArcGISサーバーでサポートされていないバージョンが実行されています。サポートされているバージョンは10.1以降です。
  • 1014
    • 無効な名前 – ファイル名が無効です。似た名前のテーブルが多すぎるかもしれません。ファイル名を変更して再試行してください。
  • 1015
    • 結果がありません – クエリは正しく行われましたが、結果は返されませんでした。パラメータを変更して再度実行してください。
  • 1016
    • Dropboxの権限が取り消されました – CARTOにはDropboxのファイルにアクセスする権限がありません。ファイルを再度インポートしてください。
  • 1017
    • GDriveファイルが削除されました – GDriveファイルが削除され、同期できません。再度ファイルをインポートしてください。
  • 1018
    • ファイルはパスワードで保護されています – ファイルはパスワードで保護されており、インポートできません。パスワード保護を解除するか、パスワードなしで新しい圧縮ファイルを作成してもう一度お試しください。
  • 1019
    • レイヤーが多すぎます – ファイルのレイヤーが多すぎます。レイヤ数の最大数は50です。
  • 1020
    • ダウンロードタイムアウト – データのダウンロードがタイムアウトしました。ソースが遅く実行されていないことを確認してください。
  • 1021
    • ボックスのアクセス権が取り消されました – CARTOにはBoxのファイルにアクセスする権限がありません。ファイルを再度インポートしてください。
  • 1100
    • ダウンロードファイルが見つかりません – 提供されたURLがファイルを返しません(エラー404)。 URLが有効で、ファイルをダウンロードして再試行できることを確認してください。
  • 1101
    • 禁止ファイルURL – 指定されたURLが認証エラーを返します。おそらくそれはプライベートであるか、ユーザーとパスワードが必要です。有効な公開URLを入力してもう一度お試しください。
  • 1102
    • 不明なサーバーのURL – 提供されたURLを既知のサーバーに解決することはできません。おそらくURLが間違っているか、私的ネットワークの背後にあるでしょう。有効な公開URLを入力してもう一度お試しください。
  • 2001
    • データを読み込めません – ファイルからデータベースにデータを読み込むことができませんでした。私たちに連絡してください。私たちはあなたのデータを読み込むのを手伝います。
  • 2002
    • エンコーディング検出エラー – ファイルのエンコーディングを検出できませんでした。ファイルをUTF-8でエンコードして保存するか、Googleまでご連絡ください。データを読み込む際に役立ちます。
  • 2003
    • 不正な形式のCSV – CSVまたは変換されたXLS / XLSXからCSVファイルに不正な形式または無効な文字が含まれています。このエラーの原因としては、たとえば、複数行のヘッダーフィールドやExcelファイルの複数行セル、または引用符で囲まれていないCSVなどが考えられます。
  • 2004
    • 列数が多すぎます – データの列が多すぎます。最大250の列しかインポートできません。
  • 2005
    • 重複列 – ファイルに2つ以上の列のヘッダーが同じです。列名を一意にしてからもう一度お試しください。
  • 2006
    • エンコーディングエラー – ファイルの読み込みに問題があります。エンコーディングは間違っているようですが、おそらく間違った文字があるためです。それを並べ替えるには、ファイルをテキストエディタで開き、エンコードUTF-8で保存してもう一度やり直してください。
  • 2007
    • エンコードエラー – エンコードの問題により、インポートしようとしたファイルが失敗しました。これを修正するには、テキストエディタまたはQGISのようなツールを使用して、ファイルのエンコードを強制します。 UTF-8形式でファイルをエクスポートするだけです。
  • 2008
    • Malformed XLS – Excelファイルがサポートされていない形式であるか、破損しています。これを修正するには、CSVまたはXLSXとして開きます。
  • 2009
    • KML for style Id – スタイル要素にID属性がないため、インポートしようとしたKMLファイルが失敗しました。このエラーを修正するには、ファイルを開いてすべてのスタイルタグにIDを追加してください。
  • 2010
    • 互換性のないCARTOテーブル – テーブルをCARTOテーブルに変換する際にエラーが発生しました。私たちに連絡してください。私たちはあなたのデータを読み込むのを手伝います。
  • 2011
    • 不正な `cartodb_id`カラム – テーブルに無効な` cartodb_id`カラムが含まれているため、インポートに失敗しました。主キーとして使用する場合は、その値は整数で、非nullで、一意でなければなりません。それ以外の場合は、現在の `cartodb_id`カラムの名前を変更してみてください。
  • 3007
    • JSONが有効でない可能性がありますGeoJSON – GeoJSON形式のJSONファイルのみをインポートできます。このデータのソースがGeoJSONまたはダウンロード用の別のファイル形式をサポートしているかどうかを確認してください。
  • 3008
    • 不明SRID – spatial_ref_sysテーブルにない、提供されたファイルのSRID。このエラーを取り除いて、SRID固有のデータをspatial_ref_sysテーブルに挿入することができます。
  • 3009
    • SHP正規化エラー – Shapefileのエンコーディングまたは投影を検出できませんでした。ファイルをUTF-8と4326 SRIDに変換してみてください。
  • 3101
    • 欠落した投影(.prj)ファイル – CARTOには、アップロードされたすべてのShapefileアーカイブに対してPRJファイルが必要です。データプロバイダが見つからない場合は、データプロバイダに問い合わせてください。それ以外の場合は、spatialreference.orgを参照して、適切なものを見つけてください。 .prjのファイル名は.shpと同じでなければならないことを覚えておいてください。
  • 3201
    • ジオメトリコレクションはサポートされていません – 私たちは毎日多くのフォーマットをサポートするよう努めていますが、現在は混合ジオメトリタイプは使用できません。データソースを見て、他のフォーマットが利用可能かどうかを確認してください。そうでない場合は、OGRのようなツールを調べて、インポートする前にこのファイルを有効なESRIシェイプファイルに分割してください。
  • 3202
    • 空のKML – このKMLには実際のデータは含まれていませんが、データを持つ別のKMLへのリンクが含まれています。このKMLからURLを抽出してインポートしてください。
  • 8001
    • アカウントの上限を超えてアップグレードしてください – アカウントをアップグレードするには、ダッシュボードにアクセスして[設定]をクリックしてください。 [サーバーのアップグレード]をクリックします。より大きなサイズを選択し、お支払い情報を設定するための指示に従ってください。
  • 8002
    • アカウントテーブルの上限を超えてアップグレードしてください – アカウントをアップグレードするには、ダッシュボードに移動して[設定]をクリックしてください。 [サーバーのアップグレード]をクリックします。より大きなサイズを選択し、お支払い情報を設定するための指示に従ってください。
  • 8003
    • SQLクエリからテーブルを作成中にエラーが発生しました – クエリからテーブルを作成できませんでした。カラム名が重複していないことを確認してください。
  • 8004
    • 一致する列の種類とのマージ – 選択した列の列の種類が両方の表に同じではありません。列の型が同じになるように型を変更して、やり直してください。
  • 8005
    • 地図の最大レイヤー数に達しました – 地図にレイヤーを追加することはできません。アカウントをアップグレードしてください。
  • 8006
    • Twitterのクレジットが足りません – 残念ながら、先に進むには十分なTwitterクレジットがありません。追加のクレジットを得る方法についてご質問がある場合は、セールスまでご連絡ください。
  • 6666
    • データセットが大きすぎます – インポートしようとしたデータセットが大きすぎて処理できません。データセットで許可されている場合は、小さなファイルに分割してからインポートしてから追加するか、サポートチーム(support@carto.com)までご連絡ください。
  • 6667
    • Import timed out – ファイルを処理する時間がかかっているため、ファイルをインポートする際に問題が発生しました。問題が解決しない場合は、もう一度お試しください。
  • 6668
    • テーブル行が多すぎます – このデータセットをインポートすることはできません。行数は、アカウントで許可されている最大データセットの容量を超えています。このデータセットのインポートに関するご質問は、販売代理店にお問い合わせください。
  • 6669
    • 並行インポートが多すぎます – アクティブなインポートが完了するまで、さらにデータをインポートすることはできません。それ以上のインポートスロットが必要な場合は、support@carto.comまでお問い合わせください。
  • 6670
    • マップテンプレートが多すぎます – 名前付きマップテンプレートの限界に達しました。これらのテンプレートをプログラム的に生成している場合は、Maps APIドキュメントでテンプレートを削除する方法を確認してください。それ以外の場合は、support@carto.comのサポートチームにお問い合わせください。
  • 99999
    • 不明 – 申し訳ありませんが、何かが問題となっていますが、原因がわかりません。ファイルをもう一度アップロードするか、私たちに連絡してください。すぐにお手伝いします。

WindowsのcURLコマンド

PCコンソールからcURLコマンドを実行している場合、WindowsはcURLコマンドの二重引用符だけをサポートしていることに注意してください。