Я создал экземпляр хранилища Db2 в IBM Cloud и создал таблицу в этом экземпляре Db2. Теперь я хочу загрузить эту таблицу с данными, которые находятся в локальном файле * .csv.
Я могу создать токен на предъявителя:
curl -X POST "https://dashdb-entry-yp-lon02-01.services.eu-gb.bluemix.net/dashdb-api/v2/auth" -H "accept: application/json" -H "content-type: application/json" -d "{ \"userid\": \"dash14096\", \"password\": \"************\"}"
Также я могу получить метаинформацию таблицы:
curl -X GET "https://dashdb-entry-yp-lon02-01.services.eu-gb.bluemix.net/dashdb-api/v2/schemas/DASH14096/tables/MYTABLE" -H "accept: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1Q..."
У меня есть локальный файл "mydata.csv" со следующим содержимым: 1; ONE 2; ДВА 3; ТРИ
Я действительно могу загрузить эти данные с помощью интерфейса REST V1:
curl --user "dash14096:************" -H "Content-Type: multipart/form-data" -X POST -F loadFile1=@".\mydata.csv" "https://dashdb-entry-yp-lon02-01.services.eu-gb.bluemix.net/dashdb-api/load/local/del/DASH14096.MYTABLE?hasHeaderRow=false&delimiter=;&loadAction=REPLACE"
НО: как я могу загрузить данные в свою таблицу хранилища Db2, используя интерфейс REST V2 или V3? В частности, если мне нужно использовать функцию / load_jobs, как создать составной REST-запрос, когда тело должно содержать параметры загрузки?
Любая подсказка приветствуется. Спасибо !!
Процесс загрузки данных из локального файла CSV в Db2 в облаке с использованием V3 API довольно сложный и потребует следующих шагов:
POST /auth/tokens
POST /home_content/{path}
POST /load_jobs
GET /load_jobs/{id}
Вы также можете использовать модуль db2-rest-client npm:
export DB_USERID='dash14096' export DB_PASSWORD='************' export DB_URI='https://dashdb-entry-yp-lon02-01.services.eu-gb.bluemix.net/dbapi/v3' db2-rest-client load --file=mydata.csv --table='MYTABLE' --schema='MYSCHEMA' --type=INSERT
Если вы хотите проверить полезную нагрузку для запросов и построить свои собственные команды CURL в скрипте - вы можете клонировать репозиторий git и отлаживать вызовы для задания загрузки в интеграционных тестах . В этом случае вам нужно будет выполнить проверку цикла для завершения загрузки задания.