首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传文件到S3存储桶后,AWS胶水爬虫的基于事件的触发器?

上传文件到S3存储桶后,AWS胶水爬虫的基于事件的触发器?
EN

Stack Overflow用户
提问于 2018-02-16 21:47:26
回答 3查看 13.8K关注 0票数 9

有没有可能在上传到S3存储桶中的新文件上触发AWS Glue爬虫,假设爬虫“指向”该存储桶?换句话说:文件上传会生成一个事件,导致AWS胶水爬虫对其进行分析。我知道有基于时间表的爬行,但从来没有发现过基于事件的爬行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-16 22:07:14

不,目前还没有直接调用AWS Glue crawler来响应上传到S3存储桶的方式。S3事件通知只能发送到:

  • SNS
  • SQS
  • Lambda

然而,编写一小段Lambda代码来使用相关的语言SDK以编程方式调用Glue爬虫将是微不足道的。

票数 9
EN

Stack Overflow用户

发布于 2018-12-07 07:23:49

作为一个快速入门,这里详细介绍了如何在Python中创建Lambda来实现这一点。这是我第一次创建一个Lambda so YMMV。

  1. 要节省时间,请选择“创建函数”,然后单击“蓝图”。选择名为' S3 -get-object-python‘的示例,然后在Lambda名称中单击'Configure'
  2. Fill,然后创建一个新角色。
  3. 向导将同时设置S3触发器
  4. 创建该触发器后,您将需要找到它创建的角色,并通过包含以下内容的策略添加新权限:

"Action": "glue:StartCrawler", "Resource": "*"

  1. 将代码更改为:

代码语言:javascript
复制
    from __future__ import print_function
    
    import json
    import boto3
    
    print('Loading function')
    
    glue = boto3.client(service_name='glue', region_name='ap-southeast-2',
                  endpoint_url='https://glue.ap-southeast-2.amazonaws.com')
    
    def lambda_handler(event, context):
        #print("Received event: " + json.dumps(event, indent=2))
    
        try:
           glue.start_crawler(Name='my-glue-crawler')
        except Exception as e:
            print(e)
            print('Error starting crawler')
            raise e

最后,假设您选择了在开发时禁用触发器,单击设计器面板中的S3触发器并确保它已启用(您可能需要在进行此更改后保存lambda )

仅此而已,但请注意,如果爬虫程序已经在运行,就会抛出一个异常,所以如果您有频繁的上传或长时间的爬行,您将希望处理这个问题。请参阅:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-StartCrawler

编辑:

这有助于我处理异常(来自AWS Glue):https://github.com/boto/boto3/issues/1606#issuecomment-401423567

票数 15
EN

Stack Overflow用户

发布于 2020-04-10 01:24:45

下面是类似架构的分步指南(链接如下)。(架构请参考上图)

https://wellarchitectedlabs.com/Cost/Cost_and_Usage_Analysis/300_Automated_CUR_Updates_and_Ingestion/Lab_Guide.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48828194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档