爬网程序 API - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

爬网程序 API

爬网程序 API 介绍 Amazon Glue 爬网程序数据类型,以及用于创建、删除、更新和列出爬网程序的 API。

数据类型

Crawler 结构

指定一个爬网程序,该程序将检查数据源并使用分类器来尝试确定其架构。如果成功,该爬网程序将记录与 Amazon Glue Data Catalog 中的数据源相关的元数据。

字段

  • Name – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    爬网程序的名称。

  • Role – UTF-8 字符串。

    用于访问客户资源的 IAM 角色的 Amazon Resource Name (ARN),如 Amazon Simple Storage Service (Amazon S3) 数据。

  • Targets – 一个 CrawlerTargets 对象。

    要爬网的目标的集合。

  • DatabaseName – UTF-8 字符串。

    存储爬网程序输出的数据库的名称。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    爬网程序的描述。

  • Classifiers – UTF-8 字符串数组。

    指定与爬网程序关联的自定义分类器的 UTF-8 字符串列表。

  • RecrawlPolicy – 一个 RecrawlPolicy 对象。

    指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。

  • SchemaChangePolicy – 一个 SchemaChangePolicy 对象。

    指定爬网程序的更新和删除行为的策略。

  • LineageConfiguration – 一个 LineageConfiguration 对象。

    指定是否为爬网程序启用数据系统的配置。

  • State – UTF-8 字符串(有效值:READY | RUNNING | STOPPING)。

    指示是爬网程序正在运行还是运行正在等待处理。

  • TablePrefix – UTF-8 字符串,长度不超过 128 个字节。

    添加到创建的表的名称的前缀。

  • Schedule – 一个 计划 对象。

    对于计划的爬网程序,是爬网程序运行时的计划。

  • CrawlElapsedTime – 数字(长型)。

    如果爬网程序正在运行,则包含自上次爬网开始已用的总时间。

  • CreationTime – 时间戳。

    创建爬网程序的时间。

  • LastUpdated – 时间戳。

    上次更新爬网程序的时间。

  • LastCrawl – 一个 LastCrawlInfo 对象。

    上次爬网的状态,以及出错时可能显示的错误信息。

  • Version – 数字(长型)。

    爬网程序的版本。

  • Configuration – UTF-8 字符串。

    爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息,请参阅包含和排除模式

  • CrawlerSecurityConfiguration – UTF-8 字符串,长度不超过 128 个字节。

    该爬网程序将使用的 SecurityConfiguration 结构的名称。

  • LakeFormationConfiguration – 一个 LakeFormationConfiguration 对象。

    指定爬网程序是否应使用爬网程序的 Amazon Lake Formation 凭证来替代 IAM 角色凭证。

计划结构

一个使用 cron 语句计划事件的计划对象。

字段

  • ScheduleExpression – UTF-8 字符串。

    用于指定计划的 cron 表达式 (请参阅用于作业和爬网程序的基于时间的计划)。例如,要每天 12:15 UTC 运行某些任务,您应该指定:cron(15 12 * * ? *)

  • State – UTF-8 字符串(有效值:SCHEDULED | NOT_SCHEDULED | TRANSITIONING)。

    计划的状态。

CrawlerTargets 结构

指定要爬网的数据存储。

字段

  • S3TargetsS3Target 对象的数组。

    指定 Amazon Simple Storage Service (Amazon S3) 目标。

  • JdbcTargetsJdbcTarget 对象的数组。

    指定 JDBC 目标。

  • MongoDBTargetsMongoDBTarget 对象的数组。

    指定 Amazon DocumentDB 或 MongoDB 目标。

  • DynamoDBTargetsDynamoDBTarget 对象的数组。

    指定 Amazon DynamoDB 目标。

  • CatalogTargetsCatalogTarget 对象的数组。

    指定 Amazon Glue Data Catalog 目标。

  • DeltaTargetsDeltaTarget 对象的数组。

    指定 Delta 数据存储目标。

S3Target 结构

指定 Amazon Simple Storage Service (Amazon S3) 中的数据存储。

字段

  • Path – UTF-8 字符串。

    Amazon S3 目标的路径。

  • Exclusions – UTF-8 字符串数组。

    要从爬网中排除的 glob 模式的列表。有关更多信息,请参阅使用爬网程序为表编制目录

  • ConnectionName – UTF-8 字符串。

    允许作业或爬网程序在 Amazon Virtual Private Cloud (Amazon VPC) 内访问 Amazon S3 中的数据的连接名称。

  • SampleSize – 数字 (integer)。

    设置网络爬取数据集中的示例文件时,每个叶文件夹中要网络爬取的文件数。如果未设置,则会网络爬取所有文件。有效值是介于 1 到 249 之间的整数。

  • EventQueueArn – UTF-8 字符串。

    有效的 Amazon SQS ARN。例如:arn:aws:sqs:region:account:sqs

  • DlqEventQueueArn – UTF-8 字符串。

    有效的 Amazon 死信 SQS ARN。例如:arn:aws:sqs:region:account:deadLetterQueue

JdbcTarget 结构

指定要爬网的 JDBC 数据存储。

字段

  • ConnectionName – UTF-8 字符串。

    要用于连接到 JDBC 目标的连接的名称。

  • Path – UTF-8 字符串。

    JDBC 目标的路径。

  • Exclusions – UTF-8 字符串数组。

    要从爬网中排除的 glob 模式的列表。有关更多信息,请参阅使用爬网程序为表编制目录

MongoDBTarget 结构

指定要网络爬取的 Amazon DocumentDB 或 MongoDB 数据存储。

字段

  • ConnectionName – UTF-8 字符串。

    要用于连接到 Amazon DocumentDB 或 MongoDB 目标的连接名称。

  • Path – UTF-8 字符串。

    Amazon DocumentDB 或 MongoDB 目标(数据库/集合)的路径。

  • ScanAll – 布尔值。

    指示是扫描所有记录,还是对表中的行进行采样。当表不是高吞吐量表时,扫描所有记录会花费很长时间。

    值为 true 表示扫描所有记录,值为 false 表示对记录进行采样。如果未指定任何值,则该值默认为 true

DynamoDBTarget 结构

指定 Amazon DynamoDB 表以爬网。

字段

  • Path – UTF-8 字符串。

    要爬网的 DynamoDB 表的名称。

  • scanAll – 布尔值。

    指示是扫描所有记录,还是对表中的行进行采样。当表不是高吞吐量表时,扫描所有记录会花费很长时间。

    值为 true 表示扫描所有记录,值为 false 表示对记录进行采样。如果未指定任何值,则该值默认为 true

  • scanRate – 数字 (double)。

    Amazon Glue 爬网程序使用的已配置读取容量单位的百分比。读取容量单位是一个由 DynamoDB 定义的术语,它是一个数值,用作每秒可对表执行的读取次数的速率限制器。

    有效值为空或一个介于 0.1 和 1.5 之间的值。当用户未提供值时,使用空值,该值默认为已配置的读取容量单位的 1/2(对于预配置的表)或配置的最大读取容量单位的 1/4(对于使用按需模式的表)。

DeltaTarget 结构

指定 Delta 数据存储,爬取一个或多个 Delta 表。

字段

  • DeltaTables – UTF-8 字符串数组。

    指向 Delta 表的 Amazon S3 路径列表。

  • ConnectionName – UTF-8 字符串。

    要用于连接到 Delta 表目标的连接名称。

  • WriteManifest – 布尔值。

    指定是否将清单文件写入 Delta 表路径。

CatalogTarget 结构

指定 Amazon Glue Data Catalog 目标。

字段

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要同步的数据库的名称。

  • Tables必填:UTF-8 字符串数组,至少 1 个字符串。

    要同步的表的列表。

  • ConnectionName – UTF-8 字符串。

    当使用与 Catalog 连接类型配对的 NETWORK 连接类型时,作为网络爬取目标的 Amazon S3 支持的数据目录表的连接名称。

CrawlerMetrics 结构

指定爬网程序的指标。

字段

  • CrawlerName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    爬网程序的名称。

  • TimeLeftSeconds – 数字(双数),至多为“无”。

    完成正在运行的爬网的估计剩余时间。

  • StillEstimating – 布尔值。

    如果爬网程序仍在估算完成此运行所需的时长,则为 True。

  • LastRuntimeSeconds – 数字(双数),至多为“无”。

    爬网程序的最近一次运行的持续时间 (秒)。

  • MedianRuntimeSeconds – 数字(双数),至多为“无”。

    此爬网程序的运行的持续时间中值 (秒)。

  • TablesCreated – 数字(整数),至多为“无”。

    此爬网程序创建的表的数量。

  • TablesUpdated – 数字(整数),至多为“无”。

    此爬网程序更新的表的数量。

  • TablesDeleted – 数字(整数),至多为“无”。

    此爬网程序删除的表的数量。

SchemaChangePolicy 结构

一项指定爬网程序的更新和删除行为的策略。

字段

  • UpdateBehavior – UTF-8 字符串(有效值:LOG | UPDATE_IN_DATABASE)。

    爬网程序发现已更改的架构时的更新行为。

  • DeleteBehavior – UTF-8 字符串(有效值:LOG | DELETE_FROM_DATABASE | DEPRECATE_IN_DATABASE)。

    爬网程序发现已删除的对象时的删除行为。

LastCrawlInfo 结构

有关最近一次爬网的状态和错误信息。

字段

  • Status – UTF-8 字符串(有效值:SUCCEEDED | CANCELLED | FAILED)。

    上次爬网的状态。

  • ErrorMessage – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    如果出现错误,则为有关上次爬网的错误信息。

  • LogGroup – UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节,与 Log group string pattern 匹配。

    上次爬网的日志组。

  • LogStream – UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节,与 Log-stream string pattern 匹配。

    上次爬网的日志流。

  • MessagePrefix – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    有关此爬网的消息的前缀。

  • StartTime – 时间戳。

    爬网开始的时间。

RecrawlPolicy 结构

在第一次网络爬取完成后对 Amazon S3 数据源进行网络爬取时,请指定是再次网络爬取整个数据集还是仅网络爬取自上次爬网程序运行以来添加的文件夹。有关更多信息,请参阅开发人员指南中的 Amazon Glue 中的增量爬网

字段

  • RecrawlBehavior – UTF-8 字符串(有效值:CRAWL_EVERYTHING | CRAWL_NEW_FOLDERS_ONLY | CRAWL_EVENT_MODE)。

    指定是否再次网络爬取整个数据集还是仅网络爬取自上次爬网程序运行以来添加的文件夹。

    CRAWL_EVERYTHING 指定再次网络爬取整个数据集。

    CRAWL_NEW_FOLDERS_ONLY 指定仅网络爬取自上次爬网程序运行以来添加的文件夹。

    CRAWL_EVENT_MODE 的值指定只网络爬取由 Amazon S3 事件标识的更改。

LineageConfiguration 结构

指定爬网程序的数据系统配置设置。

字段

  • CrawlerLineageSettings – UTF-8 字符串(有效值:ENABLE | DISABLE)。

    指定是否已为爬网程序启用数据关联。有效值为:

    • ENABLE:启用爬网程序的数据关联

    • DISABLE:禁用爬网程序的数据关联

LakeFormationConfiguration 结构

指定爬网程序的 Amazon Lake Formation 配置设置。

字段

  • UseLakeFormationCredentials – 布尔值。

    指定是否应使用爬网程序的 Amazon Lake Formation 凭证来替代 IAM 角色凭证。

  • AccountId – UTF-8 字符串,长度不超过 12 个字节。

    对于跨账户爬取是必需的。如果是与目标数据相同的账户爬取,可以将其保留为空。

操作

CreateCrawler 操作 (Python: create_crawler)

使用指定的目标、角色、配置和可选计划创建新的爬网程序。必须指定至少一个爬网目标(在 s3Targets 字段、jdbcTargets 字段或 DynamoDBTargets 字段中)。

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    新爬网程序的名称。

  • Role必填:UTF-8 字符串。

    新爬网程序用来访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。

  • DatabaseName – UTF-8 字符串。

    在其中写入结果的 Amazon Glue 数据库,例如:arn:aws:daylight:us-east-1::database/sometable/*

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    新爬网程序的描述。

  • Targets必填:一个 CrawlerTargets 对象。

    要爬网的目标的集合列表。

  • Schedule – UTF-8 字符串。

    用于指定计划的 cron 表达式 (请参阅用于作业和爬网程序的基于时间的计划)。例如,要每天 12:15 UTC 运行某些任务,您应该指定:cron(15 12 * * ? *)

  • Classifiers – UTF-8 字符串数组。

    用户已注册的自定义分类器的列表。默认情况下,所有内置分类器均包含在爬网中,但这些自定义分类器始终会覆盖给定分类的默认分类器。

  • TablePrefix – UTF-8 字符串,长度不超过 128 个字节。

    用于创建的目录表的表前缀。

  • SchemaChangePolicy – 一个 SchemaChangePolicy 对象。

    适用于爬网程序的更新和删除行为的策略。

  • RecrawlPolicy – 一个 RecrawlPolicy 对象。

    指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。

  • LineageConfiguration – 一个 LineageConfiguration 对象。

    指定爬网程序的数据系统配置设置。

  • LakeFormationConfiguration – 一个 LakeFormationConfiguration 对象。

    指定爬网程序的 Amazon Lake Formation 配置设置。

  • Configuration – UTF-8 字符串。

    爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息,请参阅配置爬网程序

  • CrawlerSecurityConfiguration – UTF-8 字符串,长度不超过 128 个字节。

    该爬网程序将使用的 SecurityConfiguration 结构的名称。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    要用于此爬网程序请求的标签。您可以使用标签来限制对爬网程序的访问。有关 Amazon Glue 中的标签的更多信息,请参阅开发人员指南中的 Amazon Glue 中的 Amazon 标签

响应

  • 无响应参数。

错误

  • InvalidInputException

  • AlreadyExistsException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

DeleteCrawler 操作 (Python: delete_crawler)

从 Amazon Glue Data Catalog中删除指定爬网程序,除非爬网程序状态为 RUNNING

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要删除的爬网程序的名称。

响应

  • 无响应参数。

错误

  • EntityNotFoundException

  • CrawlerRunningException

  • SchedulerTransitioningException

  • OperationTimeoutException

GetCrawler 操作 (Python: get_crawler)

检索指定爬网程序的元数据。

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要检索其元数据的爬网程序的名称。

响应

  • Crawler – 一个 爬网程序 对象。

    指定爬网程序的元数据。

错误

  • EntityNotFoundException

  • OperationTimeoutException

GetCrawlers 操作 (Python: get_crawlers)

检索在客户账户中定义的所有爬网程序的元数据。

请求

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    每次调用时要返回的爬网程序的数量。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果这是延续请求)。

响应

  • Crawlers爬网程序 对象的数组。

    爬网程序元数据的列表。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果返回的列表未到达此客户账户中定义的令牌的结尾)。

错误

  • OperationTimeoutException

GetCrawlerMetrics 操作 (Python: get_crawler_metrics)

检索有关指定爬网程序的指标。

请求

  • CrawlerNameList – UTF-8 字符串数组,不超过 100 个字符串。

    有关要检索其指标的爬网程序的名称的列表。

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    要返回的列表的最大大小。

  • NextToken – UTF-8 字符串。

    延续标记 (如果这是延续调用)。

响应

  • CrawlerMetricsListCrawlerMetrics 对象的数组。

    指定爬网程序的指标的列表。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果返回的列表不包含上一个可用的指标)。

错误

  • OperationTimeoutException

UpdateCrawler 操作 (Python: update_crawler)

更新爬网程序。如果爬网程序正在运行,您必须在更新它之前使用 StopCrawler 停止它。

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    新爬网程序的名称。

  • Role – UTF-8 字符串。

    新爬网程序用于访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。

  • DatabaseName – UTF-8 字符串。

    在其中存储结果的 Amazon Glue 数据库,例如:arn:aws:daylight:us-east-1::database/sometable/*

  • Description – UTF-8 字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    新爬网程序的描述。

  • Targets – 一个 CrawlerTargets 对象。

    要爬网的目标的列表。

  • Schedule – UTF-8 字符串。

    用于指定计划的 cron 表达式 (请参阅用于作业和爬网程序的基于时间的计划)。例如,要每天 12:15 UTC 运行某些任务,您应该指定:cron(15 12 * * ? *)

  • Classifiers – UTF-8 字符串数组。

    用户已注册的自定义分类器的列表。默认情况下,所有内置分类器均包含在爬网中,但这些自定义分类器始终会覆盖给定分类的默认分类器。

  • TablePrefix – UTF-8 字符串,长度不超过 128 个字节。

    用于创建的目录表的表前缀。

  • SchemaChangePolicy – 一个 SchemaChangePolicy 对象。

    适用于爬网程序的更新和删除行为的策略。

  • RecrawlPolicy – 一个 RecrawlPolicy 对象。

    指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。

  • LineageConfiguration – 一个 LineageConfiguration 对象。

    指定爬网程序的数据系统配置设置。

  • LakeFormationConfiguration – 一个 LakeFormationConfiguration 对象。

    指定爬网程序的 Amazon Lake Formation 配置设置。

  • Configuration – UTF-8 字符串。

    爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息,请参阅配置爬网程序

  • CrawlerSecurityConfiguration – UTF-8 字符串,长度不超过 128 个字节。

    该爬网程序将使用的 SecurityConfiguration 结构的名称。

响应

  • 无响应参数。

错误

  • InvalidInputException

  • VersionMismatchException

  • EntityNotFoundException

  • CrawlerRunningException

  • OperationTimeoutException

StartCrawler 操作 (Python: start_crawler)

使用指定爬网程序启动爬网,无论计划了什么。如果爬网程序已在运行,则返回 CrawlerRunningException

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要启动的爬网程序的名称。

响应

  • 无响应参数。

错误

  • EntityNotFoundException

  • CrawlerRunningException

  • OperationTimeoutException

StopCrawler 操作 (Python: stop_crawler)

如果指定爬网程序正在运行,请停止爬网。

请求

  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要停止的爬网程序的名称。

响应

  • 无响应参数。

错误

  • EntityNotFoundException

  • CrawlerNotRunningException

  • CrawlerStoppingException

  • OperationTimeoutException

BatchGetCrawlers 操作(Python:batch_get_crawlers)

返回给定爬网程序名称列表的资源元数据的列表。调用 ListCrawlers 操作后,您可以调用此操作来访问您有权访问的数据。此操作支持所有 IAM 权限,包括使用标签的权限条件。

请求

  • CrawlerNames必填:UTF-8 字符串数组,不超过 100 个字符串。

    爬网程序名称列表,这些名称可能是通过 ListCrawlers 操作返回的名称。

响应

  • Crawlers爬网程序 对象的数组。

    爬网程序定义的列表。

  • CrawlersNotFound – UTF-8 字符串数组,不超过 100 个字符串。

    未找到的 Crawler 名称的列表。

错误

  • InvalidInputException

  • OperationTimeoutException

ListCrawlers 操作(Python:list_crawlers)

检索此 Amazon 账户中所有爬网程序资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。

此操作采用可选的 Tags 字段,您可以将其用作响应的筛选器,以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选,则仅检索带标签的资源。

请求

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    要返回的列表的最大大小。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果这是延续请求)。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    指定仅返回这些已标记的资源。

响应

  • CrawlerNames – UTF-8 字符串数组,不超过 100 个字符串。

    账户中所有爬网程序的名称或带指定标签的爬网程序。

  • NextToken – UTF-8 字符串。

    延续令牌 (如果返回的列表不包含上一个可用的指标)。

错误

  • OperationTimeoutException