微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用powershell在api调用中将csv文件作为查询参数传递

如何解决如何使用powershell在api调用中将csv文件作为查询参数传递

我开发了两个简单的 PS 脚本,它们分别可以正常工作。 Script1 连接到数据库,运行 sql 查询并将输出(只有一列是项目名称列表)保存为 csv 文件。 Script2 使用 API 调用连接到端点并打印项目的详细信息。我手动使用script1 的输出作为script2 的输入。我尝试了几种不同的方法自动化这个过程,但我一直无法让它工作。有谁知道如何在 api 调用中将 csv 文件作为查询参数传递?

这是我目前所拥有的:

这是脚本 1:

#sql Connection variables
$Server = "my server"
$dbname = "db name"
$credential = Import-CliXml -Path  "C:\Test\MyCredential.xml"
$User = $Credential.UserName
$PW = $credential.GetNetworkCredential().Password

$Connection = New-Object System.Data.sqlClient.sqlConnection
$Connection.ConnectionString = "Server = $Server; Database = $dbname; User ID = $User; Password = $PW;"

$Connection.open()
#$Connection.State

$sqlQuery = "select from table example"

$sqlCmd = New-Object System.Data.sqlClient.sqlCommand
$sqlCmd.Connection = $Connection
$sqlCmd.CommandText = $sqlQuery
$CxsqlCmd.CommandTimeout = 0

 #Creating sql adapter
$sqlAdapter = New-Object System.Data.sqlClient.sqlDataAdapter  
$sqlAdapter.SelectCommand = $sqlCmd 

#Creating Dataset  
$DataSet = New-Object System.Data.DataSet  
$sqlAdapter.Fill($DataSet)  
$DataSet.Tables[0] | export-csv -Path $OuputFile -NoTypeinformation

脚本 1 的输出是 11223344,所以我在第二个脚本中使用这个项目名称作为我的输入或查询参数。

这是 Script2:

$credential = Import-CliXml -Path  "C:\Test\MyCredential2.xml"
$credential = Import-CliXml -Path  "C:\Test\MyCredential2.xml"
$APIKEY = $credential.GetNetworkCredential().Password
$token = "APIKEY " + "$APIKEY"



$Params = @{
uri = 'https:myendpoint/search?name=11223344'
Headers = @{'Authorization' = "API KEY $token"}
Method ='GET'
ContentType = 'application/json'
}

$Response = Invoke-RestMethod @Params

如果有人能帮助我,我真的很感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。