爬网程序 API
爬网程序 API 介绍 Amazon Glue 爬网程序数据类型,以及用于创建、删除、更新和列出爬网程序的 API。
数据类型
Crawler 结构
指定一个爬网程序,该程序将检查数据源并使用分类器来尝试确定其架构。如果成功,该爬网程序将记录与 Amazon Glue Data Catalog 中的数据源相关的元数据。
字段
-
Name
– UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。爬网程序的名称。
-
用于访问客户资源的 IAM 角色的 Amazon Resource Name (ARN),如 Amazon Simple Storage Service (Amazon S3) 数据。
-
Targets
– 一个 CrawlerTargets 对象。要爬网的目标的集合。
-
存储爬网程序输出的数据库的名称。
-
Description
– 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。爬网程序的描述。
-
指定与爬网程序关联的自定义分类器的 UTF-8 字符串列表。
-
RecrawlPolicy
– 一个 RecrawlPolicy 对象。指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
-
SchemaChangePolicy
– 一个 SchemaChangePolicy 对象。指定爬网程序的更新和删除行为的策略。
-
LineageConfiguration
– 一个 LineageConfiguration 对象。指定是否为爬网程序启用数据系统的配置。
-
State
– UTF-8 字符串(有效值:READY
|RUNNING
|STOPPING
)。指示是爬网程序正在运行还是运行正在等待处理。
-
TablePrefix
– UTF-8 字符串,长度不超过 128 个字节。添加到创建的表的名称的前缀。
-
Schedule
– 一个 计划 对象。对于计划的爬网程序,是爬网程序运行时的计划。
-
如果爬网程序正在运行,则包含自上次爬网开始已用的总时间。
-
创建爬网程序的时间。
-
上次更新爬网程序的时间。
-
LastCrawl
– 一个 LastCrawlInfo 对象。上次爬网的状态,以及出错时可能显示的错误信息。
-
爬网程序的版本。
-
爬网程序配置信息。此受版本控制的 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 结构
指定要爬网的数据存储。
字段
-
S3Targets
– S3Target 对象的数组。指定 Amazon Simple Storage Service (Amazon S3) 目标。
-
JdbcTargets
– JdbcTarget 对象的数组。指定 JDBC 目标。
-
MongoDBTargets
– MongoDBTarget 对象的数组。指定 Amazon DocumentDB 或 MongoDB 目标。
-
DynamoDBTargets
– DynamoDBTarget 对象的数组。指定 Amazon DynamoDB 目标。
-
CatalogTargets
– CatalogTarget 对象的数组。指定 Amazon Glue Data Catalog 目标。
-
DeltaTargets
– DeltaTarget 对象的数组。指定 Delta 数据存储目标。
S3Target 结构
指定 Amazon Simple Storage Service (Amazon S3) 中的数据存储。
字段
-
Amazon S3 目标的路径。
-
要从爬网中排除的 glob 模式的列表。有关更多信息,请参阅使用爬网程序为表编制目录。
-
允许作业或爬网程序在 Amazon Virtual Private Cloud (Amazon VPC) 内访问 Amazon S3 中的数据的连接名称。
-
设置网络爬取数据集中的示例文件时,每个叶文件夹中要网络爬取的文件数。如果未设置,则会网络爬取所有文件。有效值是介于 1 到 249 之间的整数。
-
有效的 Amazon SQS ARN。例如:
arn:aws:sqs:region:account:sqs
。 -
有效的 Amazon 死信 SQS ARN。例如:
arn:aws:sqs:region:account:deadLetterQueue
。
JdbcTarget 结构
指定要爬网的 JDBC 数据存储。
字段
-
要用于连接到 JDBC 目标的连接的名称。
-
JDBC 目标的路径。
-
要从爬网中排除的 glob 模式的列表。有关更多信息,请参阅使用爬网程序为表编制目录。
MongoDBTarget 结构
指定要网络爬取的 Amazon DocumentDB 或 MongoDB 数据存储。
字段
DynamoDBTarget 结构
指定 Amazon DynamoDB 表以爬网。
字段
-
要爬网的 DynamoDB 表的名称。
-
指示是扫描所有记录,还是对表中的行进行采样。当表不是高吞吐量表时,扫描所有记录会花费很长时间。
值为
true
表示扫描所有记录,值为false
表示对记录进行采样。如果未指定任何值,则该值默认为true
。 -
Amazon Glue 爬网程序使用的已配置读取容量单位的百分比。读取容量单位是一个由 DynamoDB 定义的术语,它是一个数值,用作每秒可对表执行的读取次数的速率限制器。
有效值为空或一个介于 0.1 和 1.5 之间的值。当用户未提供值时,使用空值,该值默认为已配置的读取容量单位的 1/2(对于预配置的表)或配置的最大读取容量单位的 1/4(对于使用按需模式的表)。
DeltaTarget 结构
指定 Delta 数据存储,爬取一个或多个 Delta 表。
字段
CatalogTarget 结构
指定 Amazon Glue Data Catalog 目标。
字段
-
DatabaseName
– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。要同步的数据库的名称。
-
Tables
– 必填:UTF-8 字符串数组,至少 1 个字符串。要同步的表的列表。
-
当使用与
Catalog
连接类型配对的NETWORK
连接类型时,作为网络爬取目标的 Amazon S3 支持的数据目录表的连接名称。
CrawlerMetrics 结构
指定爬网程序的指标。
字段
-
CrawlerName
– UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。爬网程序的名称。
-
TimeLeftSeconds
– 数字(双数),至多为“无”。完成正在运行的爬网的估计剩余时间。
-
如果爬网程序仍在估算完成此运行所需的时长,则为 True。
-
LastRuntimeSeconds
– 数字(双数),至多为“无”。爬网程序的最近一次运行的持续时间 (秒)。
-
MedianRuntimeSeconds
– 数字(双数),至多为“无”。此爬网程序的运行的持续时间中值 (秒)。
-
TablesCreated
– 数字(整数),至多为“无”。此爬网程序创建的表的数量。
-
TablesUpdated
– 数字(整数),至多为“无”。此爬网程序更新的表的数量。
-
TablesDeleted
– 数字(整数),至多为“无”。此爬网程序删除的表的数量。
SchemaChangePolicy 结构
一项指定爬网程序的更新和删除行为的策略。
字段
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 匹配。有关此爬网的消息的前缀。
-
爬网开始的时间。
RecrawlPolicy 结构
在第一次网络爬取完成后对 Amazon S3 数据源进行网络爬取时,请指定是再次网络爬取整个数据集还是仅网络爬取自上次爬网程序运行以来添加的文件夹。有关更多信息,请参阅开发人员指南中的 Amazon Glue 中的增量爬网。
字段
LineageConfiguration 结构
指定爬网程序的数据系统配置设置。
字段
LakeFormationConfiguration 结构
指定爬网程序的 Amazon Lake Formation 配置设置。
字段
操作
CreateCrawler 操作 (Python: create_crawler)
使用指定的目标、角色、配置和可选计划创建新的爬网程序。必须指定至少一个爬网目标(在 s3Targets
字段、jdbcTargets
字段或 DynamoDBTargets
字段中)。
请求
-
Name
– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。新爬网程序的名称。
-
新爬网程序用来访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。
-
在其中写入结果的 Amazon Glue 数据库,例如:
arn:aws:daylight:us-east-1::database/sometable/*
。 -
Description
– 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。新爬网程序的描述。
-
Targets
– 必填:一个 CrawlerTargets 对象。要爬网的目标的集合列表。
-
用于指定计划的
cron
表达式 (请参阅用于作业和爬网程序的基于时间的计划)。例如,要每天 12:15 UTC 运行某些任务,您应该指定:cron(15 12 * * ? *)
。 -
用户已注册的自定义分类器的列表。默认情况下,所有内置分类器均包含在爬网中,但这些自定义分类器始终会覆盖给定分类的默认分类器。
-
TablePrefix
– UTF-8 字符串,长度不超过 128 个字节。用于创建的目录表的表前缀。
-
SchemaChangePolicy
– 一个 SchemaChangePolicy 对象。适用于爬网程序的更新和删除行为的策略。
-
RecrawlPolicy
– 一个 RecrawlPolicy 对象。指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
-
LineageConfiguration
– 一个 LineageConfiguration 对象。指定爬网程序的数据系统配置设置。
-
LakeFormationConfiguration
– 一个 LakeFormationConfiguration 对象。指定爬网程序的 Amazon Lake Formation 配置设置。
-
爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息,请参阅配置爬网程序。
-
CrawlerSecurityConfiguration
– UTF-8 字符串,长度不超过 128 个字节。该爬网程序将使用的
SecurityConfiguration
结构的名称。 -
每个键都是一个 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)
检索在客户账户中定义的所有爬网程序的元数据。
响应
-
Crawlers
– 爬网程序 对象的数组。爬网程序元数据的列表。
-
延续令牌 (如果返回的列表未到达此客户账户中定义的令牌的结尾)。
错误
OperationTimeoutException
GetCrawlerMetrics 操作 (Python: get_crawler_metrics)
检索有关指定爬网程序的指标。
请求
响应
-
CrawlerMetricsList
– CrawlerMetrics 对象的数组。指定爬网程序的指标的列表。
-
延续令牌 (如果返回的列表不包含上一个可用的指标)。
错误
OperationTimeoutException
UpdateCrawler 操作 (Python: update_crawler)
更新爬网程序。如果爬网程序正在运行,您必须在更新它之前使用 StopCrawler
停止它。
请求
-
Name
– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。新爬网程序的名称。
-
新爬网程序用于访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。
-
在其中存储结果的 Amazon Glue 数据库,例如:
arn:aws:daylight:us-east-1::database/sometable/*
。 -
Description
– UTF-8 字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。新爬网程序的描述。
-
Targets
– 一个 CrawlerTargets 对象。要爬网的目标的列表。
-
用于指定计划的
cron
表达式 (请参阅用于作业和爬网程序的基于时间的计划)。例如,要每天 12:15 UTC 运行某些任务,您应该指定:cron(15 12 * * ? *)
。 -
用户已注册的自定义分类器的列表。默认情况下,所有内置分类器均包含在爬网中,但这些自定义分类器始终会覆盖给定分类的默认分类器。
-
TablePrefix
– UTF-8 字符串,长度不超过 128 个字节。用于创建的目录表的表前缀。
-
SchemaChangePolicy
– 一个 SchemaChangePolicy 对象。适用于爬网程序的更新和删除行为的策略。
-
RecrawlPolicy
– 一个 RecrawlPolicy 对象。指定是否再次网络爬取整个数据集,还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
-
LineageConfiguration
– 一个 LineageConfiguration 对象。指定爬网程序的数据系统配置设置。
-
LakeFormationConfiguration
– 一个 LakeFormationConfiguration 对象。指定爬网程序的 Amazon Lake Formation 配置设置。
-
爬网程序配置信息。此受版本控制的 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 权限,包括使用标签的权限条件。
响应
-
Crawlers
– 爬网程序 对象的数组。爬网程序定义的列表。
-
CrawlersNotFound
– UTF-8 字符串数组,不超过 100 个字符串。未找到的 Crawler 名称的列表。
错误
InvalidInputException
OperationTimeoutException
ListCrawlers 操作(Python:list_crawlers)
检索此 Amazon 账户中所有爬网程序资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。
此操作采用可选的 Tags
字段,您可以将其用作响应的筛选器,以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选,则仅检索带标签的资源。
请求
响应
错误
OperationTimeoutException