如何解决如何使用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 举报,一经查实,本站将立刻删除。