Как отправить данные JSON с помощью powershell из S3 в экземпляр Neptune?

У меня есть файл черепахи, который я хочу отправить с сервера S3 в экземпляр Neptune на powershell. Ниже приведена команда, которую я использую

Invoke-RestMethod -Uri http://edwardspoc.civwhymjvz19.us-east-1.neptune.amazonaws.com:8182 -ContentType application/json  -body '
{ 
  "source" : "s3://cedwardsneptune/ATC.ttl", 
  "format" : "turtle",  
  "iamRoleArn" : "arn:aws:s3:::cedwardsneptune", 
  "region" : "us-east-1", 
  "failOnError" : "FALSE",
  "parserConfiguration" : {
  "namedGraphUri" : "http://purl.bioontology.org/ontology/ATC"
  }
}'

Это дает мне следующую ошибку

Invoke-RestMethod: не удается отправить тело содержимого с этим типом глагола.

Я сделал небольшие изменения, но, похоже, ничего не работает. Любая помощь приветствуется!

1 ответ

Решение

Вы ошиблись, сказав, что пытаетесь отправить ТЕЛО, когда ваш REQUEST VERB не позволяет этого.

В основном вы делаете GET и пытаетесь отправить тело. Когда GET глаголу не разрешено отправлять части тела. Вероятно, вам нужно использовать метод POST (обратитесь к документации конкретного веб-сервиса)

Для этого я рекомендую вам следующий формат:

$Cred = Get-Credential (If you could have)
$Url = "http://edwardspoc.civwhymjvz19.us-east-1.neptune.amazonaws.com:8182"
$Body = '{ 
 "source" : "s3://cedwardsneptune/ATC.ttl", 
  "format" : "turtle",  
  "iamRoleArn" : "arn:aws:s3:::cedwardsneptune", 
  "region" : "us-east-1", 
  "failOnError" : "FALSE",
  "parserConfiguration" : {
  "namedGraphUri" : "http://purl.bioontology.org/ontology/ATC"
  }
}'



Invoke-RestMethod -Method 'Post' -Uri $url -Credential $Cred -ContentType $contentType -Body $body -ContentType 'application/json' -OutFile output.csv

(*) Конечно -OutFile не является обязательным

А что касается JSON Существует командлет ConvertFrom-JSON, который вы можете использовать обычно, когда вам нужно проанализировать вывод (это JSON).

ре:

Invoke-RestMethod -Method 'Post' -Uri $url -Credential $Cred -Body $body | 
ConvertFrom-JSON | Select field1, field2, field3

Если вы ожидаете вывод (json) с полями field1, field2, field3 в качестве полей

Другие вопросы по тегам