Вы можете использовать local-exec
инициатора , чтобы использовать интерфейс командной строки AWS для запуска сканера Glue после его создания:
resource "aws_glue_crawler" "my_crawler" {
database_name = "my_db"
name = "my_crawler"
role = "arn:aws:iam::111111111111:role/service-role/someRole"
s3_target {
path = "s3://my_bucket/key/prefix"
}
provisioner "local-exec" {
command = "aws glue start-crawler --name ${self.name}"
}
}
Это будет срабатывать только при создании сканераи не в любой другой точке, например, если вы изменили s3_target.path
или что-либо еще.
Если вы хотите иметь возможность вызвать это при изменении s3_target.path
, вам нужно использовать null_resource
с trigger
:
resource "aws_glue_crawler" "my_crawler" {
database_name = "my_db"
name = "my_crawler"
role = "arn:aws:iam::111111111111:role/service-role/someRole"
s3_target {
path = "s3://my_bucket/key/prefix"
}
}
resource "null_resource" "run_crawler" {
# Changes to the crawler's S3 path requires re-running
triggers = {
s3_path = "${aws_glue_crawler.my_crawler.s3_target.0.path}"
}
provisioner "local-exec" {
command = "aws glue start-crawler --name ${self.name}"
}
}