AWS Update-GLUECrawler Powershell命令循环

时间:2018-09-20 09:56:37

标签: amazon-web-services powershell aws-sdk aws-glue

我仍在学习Powershell脚本以及与AWS的集成。

该脚本的预期结果是使用新的数据存储库(目标)来更新AWS Glue爬网程序,并使用该数据存储库(目标)中尚未包含在爬网程序中的任何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命令时。脚本挂起并最终显示此错误:

enter image description here

我在网上看过,似乎找不到答案。另外,此AWS命令的文档没有提供示例。

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

是因为您的函数名称与您要调用的cmdlet函数名称相同吗?

是的:-) ...终身开发团队

尝试代码以查看其循环方式。

name.subname.subsubname