【发布时间】:2019-02-24 14:29:42
【问题描述】:
我仍在学习 powershell 脚本和与 AWS 的集成。
脚本的预期结果是使用新数据存储(目标)更新 AWS Glue Crawler,其中包含任何尚未在 Crawler 中的 S3 存储桶目录路径。原因是我需要 AWS Athena 中的单独表。目前,默认行为是如果模式相同,它会创建一个分区表。我在 S3 存储桶中有多个目录,所有文件都具有相同的架构。所以我的理解是,我必须在 Crawler 中定义每条路径,以便它们成为 Athena 中的单独表。
function Update-GlueCrawler($S3BucketSubdirectories)
{
$Targets = New-Object Amazon.Glue.Model.CrawlerTargets
foreach ($i in $S3BucketSubdirectories){
$Targets.S3Targets.Add(@{"Path" = "s3://" + $S3BucketName +"/" + $i +""}) | Out-Null
}
Try
{
Update-GLUECrawler -Name $GlueCrawlerName -Target $Targets
return $true
}
Catch [System.InvalidOperationException]
{
return $false
}
}
我遇到的这个问题是当 Update-GLUECrawler 命令被点击时。脚本挂起并最终显示此错误:
我上网查了一下,似乎找不到答案。此外,此 AWS 命令的文档未提供示例。
任何帮助都会很棒,谢谢。
【问题讨论】:
-
您能否按照 Team Dev 的提示将函数名称从 Update-GlueCrawler($S3BucketSubdirectories) 更改为 Update-GlueCrawlerTargets($S3BucketSubdirectories)?
标签: amazon-web-services powershell aws-sdk aws-glue