Amazon web services 如何使用powershell将json数据从S3发送到Neptune实例?

Amazon web services 如何使用powershell将json数据从S3发送到Neptune实例?,amazon-web-services,powershell,turtle-rdf,amazon-neptune,Amazon Web Services,Powershell,Turtle Rdf,Amazon Neptune,我有一个turtle文件,希望从S3服务器发送到powershell上的Neptune实例。下面是我正在使用的命令 Invoke-RestMethod -Uri http://edwardspoc.civwhymjvz19.us-east-1.neptune.amazonaws.com:8182 -ContentType application/json -body ' { "source" : "s3://cedwardsneptune/ATC.ttl", "format" :

我有一个turtle文件,希望从S3服务器发送到powershell上的Neptune实例。下面是我正在使用的命令

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:无法发送此谓词类型的内容正文


我做了一些细微的改变,但似乎没有任何效果。感谢您的帮助

当请求动词不允许发送正文时,您尝试发送正文的错误

基本上,你正在做得到,并试图发送一个机构。当GET动词不允许发送身体部位时。 可能您需要使用POST方法检查特定的Web服务文档

为此,我向您推荐下一种格式:

$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的cmdlet,当您需要解析JSON输出时,可以使用它

p、 e:


如果您希望输出json将field1、field2、field3作为字段

,那么$contentType变量会出现错误。。。我认为application/json应该以字符串的形式出现在引号中。。。。但当我这样做时,它给出了一个新的错误$body不能被解析:是的,我的json从parserConfiguration中漏掉了一个“}”。我已经编辑了我的答案,给我一个lookHeyy@Sam,它向我抛出了一个无法验证IAM角色凭据的错误。我有访问密钥和机密密钥。。。我应该如何通过信用卡。我在amazondocs上搜索过,但没有帮助:|检查此链接您必须首先将角色添加到集群中。您是否尝试过从文档中批量加载数据的完整部分?作为这篇文章的一部分,你还有什么需要回答的吗?没有。。我把答案标对了:
Invoke-RestMethod -Method 'Post' -Uri $url -Credential $Cred -Body $body | 
ConvertFrom-JSON | Select field1, field2, field3