

# 爬网程序 API
<a name="aws-glue-api-crawler-crawling"></a>

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

## 数据类型
<a name="aws-glue-api-crawler-crawling-objects"></a>
+ [Crawler 结构](#aws-glue-api-crawler-crawling-Crawler)
+ [Schedule 结构](#aws-glue-api-crawler-crawling-Schedule)
+ [CrawlerTargets 结构](#aws-glue-api-crawler-crawling-CrawlerTargets)
+ [S3Target 结构](#aws-glue-api-crawler-crawling-S3Target)
+ [S3DeltaCatalogTarget 结构](#aws-glue-api-crawler-crawling-S3DeltaCatalogTarget)
+ [S3DeltaDirectTarget 结构](#aws-glue-api-crawler-crawling-S3DeltaDirectTarget)
+ [JdbcTarget 结构](#aws-glue-api-crawler-crawling-JdbcTarget)
+ [MongoDBTarget 结构](#aws-glue-api-crawler-crawling-MongoDBTarget)
+ [DynamoDBTarget 结构](#aws-glue-api-crawler-crawling-DynamoDBTarget)
+ [DeltaTarget 结构](#aws-glue-api-crawler-crawling-DeltaTarget)
+ [IcebergTarget 结构](#aws-glue-api-crawler-crawling-IcebergTarget)
+ [HudiTarget 结构](#aws-glue-api-crawler-crawling-HudiTarget)
+ [CatalogTarget 结构](#aws-glue-api-crawler-crawling-CatalogTarget)
+ [CrawlerMetrics 结构](#aws-glue-api-crawler-crawling-CrawlerMetrics)
+ [CrawlerHistory 结构](#aws-glue-api-crawler-crawling-CrawlerHistory)
+ [CrawlsFilter 结构](#aws-glue-api-crawler-crawling-CrawlsFilter)
+ [SchemaChangePolicy 结构](#aws-glue-api-crawler-crawling-SchemaChangePolicy)
+ [LastCrawlInfo 结构](#aws-glue-api-crawler-crawling-LastCrawlInfo)
+ [RecrawlPolicy 结构](#aws-glue-api-crawler-crawling-RecrawlPolicy)
+ [LineageConfiguration 结构](#aws-glue-api-crawler-crawling-LineageConfiguration)
+ [LakeFormationConfiguration 结构](#aws-glue-api-crawler-crawling-LakeFormationConfiguration)

## Crawler 结构
<a name="aws-glue-api-crawler-crawling-Crawler"></a>

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

**Fields**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  爬网程序的名称。
+ `Role` – UTF-8 字符串。

  用于访问客户资源的 IAM 角色的 Amazon 资源名称（ARN），如 Amazon Simple Storage Service (Amazon S3) 数据。
+ `Targets` – 一个 [CrawlerTargets](#aws-glue-api-crawler-crawling-CrawlerTargets) 对象。

  要爬网的目标的集合。
+ `DatabaseName` – UTF-8 字符串。

  存储爬网程序输出的数据库的名称。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  爬网程序的描述。
+ `Classifiers` – UTF-8 字符串数组。

  指定与爬网程序关联的自定义分类器的 UTF-8 字符串列表。
+ `RecrawlPolicy` – 一个 [RecrawlPolicy](#aws-glue-api-crawler-crawling-RecrawlPolicy) 对象。

  指定是否再次网络爬取整个数据集，还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
+ `SchemaChangePolicy` – 一个 [SchemaChangePolicy](#aws-glue-api-crawler-crawling-SchemaChangePolicy) 对象。

  指定爬网程序的更新和删除行为的策略。
+ `LineageConfiguration` – 一个 [LineageConfiguration](#aws-glue-api-crawler-crawling-LineageConfiguration) 对象。

  指定是否为爬网程序启用数据系统的配置。
+ `State` – UTF-8 字符串（有效值：`READY` \$1`RUNNING` \$1`STOPPING` ）。

  指示是爬网程序正在运行还是运行正在等待处理。
+ `TablePrefix` – UTF-8 字符串，长度不超过 128 个字节。

  添加到创建的表的名称的前缀。
+ `Schedule` – 一个 [计划](aws-glue-api-crawler-scheduler.md#aws-glue-api-crawler-scheduler-Schedule) 对象。

  对于计划的爬网程序，是爬网程序运行时的计划。
+ `CrawlElapsedTime` – 数字（长型）。

  如果爬网程序正在运行，则包含自上次爬网开始已用的总时间。
+ `CreationTime` – 时间戳。

  创建爬网程序的时间。
+ `LastUpdated` – 时间戳。

  上次更新爬网程序的时间。
+ `LastCrawl` – 一个 [LastCrawlInfo](#aws-glue-api-crawler-crawling-LastCrawlInfo) 对象。

  上次爬网的状态，以及出错时可能显示的错误信息。
+ `Version` – 数字（长型）。

  爬网程序的版本。
+ `Configuration` – UTF-8 字符串。

  爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息，请参阅[设置爬网程序配置选项](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html)。
+ `CrawlerSecurityConfiguration` – UTF-8 字符串，长度不超过 128 个字节。

  该爬网程序将使用的 `SecurityConfiguration` 结构的名称。
+ `LakeFormationConfiguration` – 一个 [LakeFormationConfiguration](#aws-glue-api-crawler-crawling-LakeFormationConfiguration) 对象。

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

## Schedule 结构
<a name="aws-glue-api-crawler-crawling-Schedule"></a>

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

**Fields**
+ `ScheduleExpression` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。
+ `State` – UTF-8 字符串（有效值：`SCHEDULED` \$1`NOT_SCHEDULED` \$1`TRANSITIONING` ）。

  计划的状态。

## CrawlerTargets 结构
<a name="aws-glue-api-crawler-crawling-CrawlerTargets"></a>

指定要爬网的数据存储。

**Fields**
+ `S3Targets` – [S3Target](#aws-glue-api-crawler-crawling-S3Target) 对象的数组。

  指定 Amazon Simple Storage Service（Amazon S3）目标。
+ `JdbcTargets` – [JdbcTarget](#aws-glue-api-crawler-crawling-JdbcTarget) 对象的数组。

  指定 JDBC 目标。
+ `MongoDBTargets` – [MongoDBTarget](#aws-glue-api-crawler-crawling-MongoDBTarget) 对象的数组。

  指定 Amazon DocumentDB 或 MongoDB 目标。
+ `DynamoDBTargets` – [DynamoDBTarget](#aws-glue-api-crawler-crawling-DynamoDBTarget) 对象的数组。

  指定 Amazon DynamoDB 目标。
+ `CatalogTargets` – [CatalogTarget](#aws-glue-api-crawler-crawling-CatalogTarget) 对象的数组。

  指定 AWS Glue Data Catalog 目标。
+ `DeltaTargets` – [DeltaTarget](#aws-glue-api-crawler-crawling-DeltaTarget) 对象的数组。

  指定 Delta 数据存储目标。
+ `IcebergTargets` – [IcebergTarget](#aws-glue-api-crawler-crawling-IcebergTarget) 对象的数组。

  指定 Apache Iceberg 数据存储目标。
+ `HudiTargets` – [HudiTarget](#aws-glue-api-crawler-crawling-HudiTarget) 对象的数组。

  指定 Apache Hudi 数据存储目标。

## S3Target 结构
<a name="aws-glue-api-crawler-crawling-S3Target"></a>

指定 Amazon Simple Storage Service（Amazon S3）中的数据存储。

**Fields**
+ `Path` – UTF-8 字符串。

  Amazon S3 目标的路径。
+ `Exclusions` – UTF-8 字符串数组。

  要从爬网中排除的 glob 模式的列表。有关更多信息，请参阅[使用爬网程序为表编制目录](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)。
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  允许作业或爬网程序在 Amazon Virtual Private Cloud（Amazon VPC）内访问 Amazon S3 中的数据的连接名称。
+ `SampleSize` – 数字（整数）。

  设置网络爬取数据集中的示例文件时，每个叶文件夹中要网络爬取的文件数。如果未设置，则会网络爬取所有文件。有效值是介于 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`。

## S3DeltaCatalogTarget 结构
<a name="aws-glue-api-crawler-crawling-S3DeltaCatalogTarget"></a>

在 AWS Glue Data Catalog 中指定写入 Delta Lake 数据来源的目标。

**Fields**
+ `Name` – *必填：* UTF-8 字符串，与 [Custom string pattern #63](aws-glue-api-common.md#regex_63) 匹配。

  数据目标的名称。
+ `Inputs` – *必填：*UTF-8 字符串数组，不少于 1 个或不超过 1 个字符串。

  作为数据目标输入的节点。
+ `PartitionKeys` – UTF-8 字符串数组。

  使用一系列键指定本机分区。
+ `Table` – *必填：* UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  要写入的数据库中的表的名称。
+ `Database` – *必填：* UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  要向其写入的数据库的名称。
+ `AdditionalOptions` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  每个值都是一个 UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  指定用于连接器的其他连接选项。
+ `SchemaChangePolicy` – 一个 [CatalogSchemaChangePolicy](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CatalogSchemaChangePolicy) 对象。

  一项指定爬网程序的更新行为的策略。
+ `AutoDataQuality` – 一个 [AutoDataQuality](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-AutoDataQuality) 对象。

  指定是否为 S3 Delta 目录目标自动启用数据质量评估。设置为 `true` 时，则在写入操作期间自动执行数据质量检查。
+ `OutputSchemas` – [GlueSchema](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-GlueSchema) 对象的数组。

  指定 S3 Delta 目录目标的数据架构。

## S3DeltaDirectTarget 结构
<a name="aws-glue-api-crawler-crawling-S3DeltaDirectTarget"></a>

在 Amazon S3 中指定写入 Delta Lake 数据来源的目标。

**Fields**
+ `Name` – *必填：* UTF-8 字符串，与 [Custom string pattern #63](aws-glue-api-common.md#regex_63) 匹配。

  数据目标的名称。
+ `Inputs` – *必填：*UTF-8 字符串数组，不少于 1 个或不超过 1 个字符串。

  作为数据目标输入的节点。
+ `PartitionKeys` – UTF-8 字符串数组。

  使用一系列键指定本机分区。
+ `Path` – *必填：* UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  要写入的 Delta Lake 数据来源的 Amazon S3 路径。
+ `Compression` – *必填：*UTF-8 字符串（有效值：`uncompressed="UNCOMPRESSED"` \$1 `snappy="SNAPPY"`）。

  指定数据压缩方式。通常，如果数据有标准文件扩展名，则不需要指定。可能的值为 `"gzip"` 和 `"bzip"`。
+ `NumberTargetPartitions` – UTF-8 字符串。

  指定在 Amazon S3 上分发 Delta Lake 数据集文件的目标分区数。
+ `Format` – *必填：*UTF-8 字符串（有效值：`json="JSON"` \$1 `csv="CSV"` \$1 `avro="AVRO"` \$1 `orc="ORC"` \$1 `parquet="PARQUET"` \$1 `hudi="HUDI"` \$1 `delta="DELTA"` \$1 `iceberg="ICEBERG"` \$1 `hyper="HYPER"` \$1 `xml="XML"`）。

  指定目标的数据输出格式。
+ `AdditionalOptions` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  每个值都是一个 UTF-8 字符串，与 [Custom string pattern #61](aws-glue-api-common.md#regex_61) 匹配。

  指定用于连接器的其他连接选项。
+ `SchemaChangePolicy` – 一个 [DirectSchemaChangePolicy](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-DirectSchemaChangePolicy) 对象。

  一项指定爬网程序的更新行为的策略。
+ `AutoDataQuality` – 一个 [AutoDataQuality](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-AutoDataQuality) 对象。

  指定是否为 S3 Delta 直接目标自动启用数据质量评估。设置为 `true` 时，则在写入操作期间自动执行数据质量检查。

## JdbcTarget 结构
<a name="aws-glue-api-crawler-crawling-JdbcTarget"></a>

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

**Fields**
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  要用于连接到 JDBC 目标的连接的名称。
+ `Path` – UTF-8 字符串。

  JDBC 目标的路径。
+ `Exclusions` – UTF-8 字符串数组。

  要从爬网中排除的 glob 模式的列表。有关更多信息，请参阅[使用爬网程序为表编制目录](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)。
+ `EnableAdditionalMetadata` – UTF-8 字符串数组。

  将值指定为 `RAWTYPES` 或 `COMMENTS`，以在表响应中启用其他元数据。`RAWTYPES` 提供原生级别的数据类型。`COMMENTS` 提供与数据库中的列或表相关的注释。

  如果您不需要其他元数据，请将该字段留空。

## MongoDBTarget 结构
<a name="aws-glue-api-crawler-crawling-MongoDBTarget"></a>

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

**Fields**
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  要用于连接到 Amazon DocumentDB 或 MongoDB 目标的连接名称。
+ `Path` – UTF-8 字符串。

  Amazon DocumentDB 或 MongoDB 目标（数据库/集合）的路径。
+ `ScanAll` – 布尔值。

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

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

## DynamoDBTarget 结构
<a name="aws-glue-api-crawler-crawling-DynamoDBTarget"></a>

指定 Amazon DynamoDB 表以爬网。

**Fields**
+ `Path` – UTF-8 字符串。

  要爬网的 DynamoDB 表的名称。
+ `scanAll` – 布尔值。

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

  值为 `true` 表示扫描所有记录，值为 `false` 表示对记录进行采样。如果未指定任何值，则该值默认为 `true`。
+ `scanRate` – 数字（double）。

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

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

## DeltaTarget 结构
<a name="aws-glue-api-crawler-crawling-DeltaTarget"></a>

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

**Fields**
+ `DeltaTables` – UTF-8 字符串数组。

  指向 Delta 表的 Amazon S3 路径列表。
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  要用于连接到 Delta 表目标的连接名称。
+ `WriteManifest` – 布尔值。

  指定是否将清单文件写入 Delta 表路径。
+ `CreateNativeDeltaTable` – 布尔值。

  指定爬网程序是否将创建原生表，以允许与支持直接查询 Delta 事务日志的查询引擎集成。

## IcebergTarget 结构
<a name="aws-glue-api-crawler-crawling-IcebergTarget"></a>

指定 Amazon S3 中存储 Iceberg 表的 Apache Iceberg 数据来源。

**Fields**
+ `Paths` – UTF-8 字符串数组。

  一个或多个 Amazon S3 路径，其中包含作为 `s3://bucket/prefix` 的 Iceberg 元数据文件夹。
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  要用于连接到 Iceberg 目标的连接的名称。
+ `Exclusions` – UTF-8 字符串数组。

  要从爬网中排除的 glob 模式的列表。有关更多信息，请参阅[使用爬网程序为表编制目录](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)。
+ `MaximumTraversalDepth` – 数字（整数）。

  爬网程序可以遍历的最大 Amazon S3 路径深度，以发现 Amazon S3 路径中的 Iceberg 元数据文件夹。用于限制爬网程序运行时间。

## HudiTarget 结构
<a name="aws-glue-api-crawler-crawling-HudiTarget"></a>

指定 Apache Hudi 数据来源。

**Fields**
+ `Paths` – UTF-8 字符串数组。

  Hudi 的 Amazon S3 位置字符串数组，每个位置字符串都指示 Hudi 表的元数据文件所在的根文件夹。Hudi 文件夹可能位于根文件夹的子文件夹中。

  爬网程序将扫描路径下的所有文件夹，寻找 Hudi 文件夹。
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  要用于连接到 Hudi 目标的连接的名称。如果您的 Hudi 文件存储在需要 VPC 授权的存储桶中，则可以在此处设置其连接属性。
+ `Exclusions` – UTF-8 字符串数组。

  要从爬网中排除的 glob 模式的列表。有关更多信息，请参阅[使用爬网程序为表编制目录](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)。
+ `MaximumTraversalDepth` – 数字（整数）。

  爬网程序可以遍历的最大 Amazon S3 路径深度，以发现 Amazon S3 路径中的 Hudi 元数据文件夹。用于限制爬网程序运行时间。

## CatalogTarget 结构
<a name="aws-glue-api-crawler-crawling-CatalogTarget"></a>

指定 AWS Glue Data Catalog 目标。

**Fields**
+ `DatabaseName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要同步的数据库的名称。
+ `Tables` – *必填：*UTF-8 字符串数组，至少 1 个字符串。

  要同步的表的列表。
+ `ConnectionName`：UTF-8 字符串，长度不少于 1 个字节，不超过 2048 个字节。

  当使用与 `Catalog` 连接类型配对的 `NETWORK` 连接类型时，作为网络爬取目标的 Amazon S3 支持的数据目录表的连接名称。
+ `EventQueueArn` – UTF-8 字符串。

  有效的 Amazon SQS ARN。例如 `arn:aws:sqs:region:account:sqs`。
+ `DlqEventQueueArn` – UTF-8 字符串。

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

## CrawlerMetrics 结构
<a name="aws-glue-api-crawler-crawling-CrawlerMetrics"></a>

指定爬网程序的指标。

**Fields**
+ `CrawlerName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  爬网程序的名称。
+ `TimeLeftSeconds` – 数字（双数），至多为“无”。

  完成正在运行的爬网的估计剩余时间。
+ `StillEstimating` – 布尔值。

  如果爬网程序仍在估算完成此运行所需的时长，则为 True。
+ `LastRuntimeSeconds` – 数字（双数），至多为“无”。

  爬网程序的最近一次运行的持续时间 (秒)。
+ `MedianRuntimeSeconds` – 数字（双数），至多为“无”。

  此爬网程序的运行的持续时间中值 (秒)。
+ `TablesCreated` – 数字（整数），至多为“无”。

  此爬网程序创建的表的数量。
+ `TablesUpdated` – 数字（整数），至多为“无”。

  此爬网程序更新的表的数量。
+ `TablesDeleted` – 数字（整数），至多为“无”。

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

## CrawlerHistory 结构
<a name="aws-glue-api-crawler-crawling-CrawlerHistory"></a>

包含有关运行爬网程序的信息。

**Fields**
+ `CrawlId` – UTF-8 字符串。

  每个爬取的 UUID 标识符。
+ `State` – UTF-8 字符串（有效值：`RUNNING` \$1`COMPLETED` \$1`FAILED` \$1`STOPPED` ）。

  爬网的状态。
+ `StartTime` – 时间戳。

  爬网操作的开始日期和时间。
+ `EndTime` – 时间戳。

  爬网操作的结束日期和时间。
+ `Summary` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  JSON 中特定爬取的运行摘要。包含已添加、更新或删除的目录表和分区。
+ `ErrorMessage` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  如果发生错误，则为与爬网关联的错误消息。
+ `LogGroup` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节，与 [Log group string pattern](aws-glue-api-common.md#aws-glue-api-regex-logGroup-id) 匹配。

  与爬网关联的日志组。
+ `LogStream` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节，与 [Log-stream string pattern](aws-glue-api-common.md#aws-glue-api-regex-logStream-id) 匹配。

  与爬网关联的日志流。
+ `MessagePrefix` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  有关此爬网的 CloudWatch 消息的前缀。
+ `DPUHour` – 数字（双数），至多为“无”。

  用于爬取的数据处理单元（DPU）的数量（以小时为单位）。

## CrawlsFilter 结构
<a name="aws-glue-api-crawler-crawling-CrawlsFilter"></a>

可用于筛选指定爬网程序的爬网程序运行的字段、比较运算符和值的列表。

**Fields**
+ `FieldName` – UTF-8 字符串（有效值：`CRAWL_ID` \$1`STATE` \$1`START_TIME` \$1`END_TIME` \$1`DPU_HOUR` ）。

  用于筛选指定爬网程序的爬网程序运行的键。每个字段名称的有效值为：
  + `CRAWL_ID`：表示爬取的 UUID 标识符的字符串。
  + `STATE`：表示爬取状态的字符串。
  + `START_TIME` 和 `END_TIME`：纪元时间戳（以毫秒为单位）。
  + `DPU_HOUR`：用于爬网的数据处理单元（DPU）的数量（以小时为单位）。
+ `FilterOperator` – UTF-8 字符串（有效值：`GT` \$1`GE` \$1`LT` \$1`LE` \$1`EQ` \$1`NE` ）。

  对值进行操作的已定义比较运算符。可用的运算符有：
  + `GT`：大于。
  + `GE`：大于或等于。
  + `LT`：小于。
  + `LE`：小于或等于。
  + `EQ`：等于。
  + `NE`：不等于。
+ `FieldValue` – UTF-8 字符串。

  为在爬取字段上进行比较而提供的值。

## SchemaChangePolicy 结构
<a name="aws-glue-api-crawler-crawling-SchemaChangePolicy"></a>

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

**Fields**
+ `UpdateBehavior` – UTF-8 字符串（有效值：`LOG` \$1`UPDATE_IN_DATABASE` ）。

  爬网程序发现已更改的架构时的更新行为。
+ `DeleteBehavior` – UTF-8 字符串（有效值：`LOG` \$1`DELETE_FROM_DATABASE` \$1`DEPRECATE_IN_DATABASE` ）。

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

## LastCrawlInfo 结构
<a name="aws-glue-api-crawler-crawling-LastCrawlInfo"></a>

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

**Fields**
+ `Status` – UTF-8 字符串（有效值：`SUCCEEDED` \$1`CANCELLED` \$1`FAILED` ）。

  上次爬网的状态。
+ `ErrorMessage` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  如果出现错误，则为有关上次爬网的错误信息。
+ `LogGroup` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节，与 [Log group string pattern](aws-glue-api-common.md#aws-glue-api-regex-logGroup-id) 匹配。

  上次爬网的日志组。
+ `LogStream` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节，与 [Log-stream string pattern](aws-glue-api-common.md#aws-glue-api-regex-logStream-id) 匹配。

  上次爬网的日志流。
+ `MessagePrefix` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  有关此爬网的消息的前缀。
+ `StartTime` – 时间戳。

  爬网开始的时间。

## RecrawlPolicy 结构
<a name="aws-glue-api-crawler-crawling-RecrawlPolicy"></a>

在第一次网络爬取完成后对 Amazon S3 数据源进行网络爬取时，请指定是再次网络爬取整个数据集还是仅网络爬取自上次爬网程序运行以来添加的文件夹。有关更多信息，请参阅开发人员指南中的 [AWS Glue 中的增量爬网](https://docs.aws.amazon.com/glue/latest/dg/incremental-crawls.html)。

**Fields**
+ `RecrawlBehavior` – UTF-8 字符串（有效值：`CRAWL_EVERYTHING` \$1`CRAWL_NEW_FOLDERS_ONLY` \$1`CRAWL_EVENT_MODE` ）。

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

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

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

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

## LineageConfiguration 结构
<a name="aws-glue-api-crawler-crawling-LineageConfiguration"></a>

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

**Fields**
+ `CrawlerLineageSettings` – UTF-8 字符串（有效值：`ENABLE` \$1`DISABLE` ）。

  指定是否已为爬网程序启用数据关联。有效值为：
  + ENABLE：启用爬网程序的数据关联
  + DISABLE：禁用爬网程序的数据关联

## LakeFormationConfiguration 结构
<a name="aws-glue-api-crawler-crawling-LakeFormationConfiguration"></a>

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

**Fields**
+ `UseLakeFormationCredentials` – 布尔值。

  指定是否应使用爬网程序的 AWS Lake Formation 凭证来替代 IAM 角色凭证。
+ `AccountId` – UTF-8 字符串，长度不超过 12 个字节。

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

## 操作
<a name="aws-glue-api-crawler-crawling-actions"></a>
+ [CreateCrawler 操作（Python：create\$1crawler）](#aws-glue-api-crawler-crawling-CreateCrawler)
+ [DeleteCrawler 操作（Python：delete\$1crawler）](#aws-glue-api-crawler-crawling-DeleteCrawler)
+ [GetCrawler 操作（Python：get\$1crawler）](#aws-glue-api-crawler-crawling-GetCrawler)
+ [GetCrawlers 操作（Python：get\$1crawlers）](#aws-glue-api-crawler-crawling-GetCrawlers)
+ [GetCrawlerMetrics 操作（Python：get\$1crawler\$1metrics）](#aws-glue-api-crawler-crawling-GetCrawlerMetrics)
+ [UpdateCrawler 操作（Python：update\$1crawler）](#aws-glue-api-crawler-crawling-UpdateCrawler)
+ [StartCrawler 操作（Python：start\$1crawler）](#aws-glue-api-crawler-crawling-StartCrawler)
+ [StopCrawler 操作（Python：stop\$1crawler）](#aws-glue-api-crawler-crawling-StopCrawler)
+ [BatchGetCrawlers 操作（Python：batch\$1get\$1crawlers）](#aws-glue-api-crawler-crawling-BatchGetCrawlers)
+ [ListCrawlers 操作（Python：list\$1crawlers）](#aws-glue-api-crawler-crawling-ListCrawlers)
+ [ListCrawls 操作（Python：list\$1crawls）](#aws-glue-api-crawler-crawling-ListCrawls)

## CreateCrawler 操作（Python：create\$1crawler）
<a name="aws-glue-api-crawler-crawling-CreateCrawler"></a>

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

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  新爬网程序的名称。
+ `Role` – *必填：*UTF-8 字符串。

  新爬网程序用来访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。
+ `DatabaseName` – UTF-8 字符串。

  在其中写入结果的 AWS Glue 数据库，例如：`arn:aws:daylight:us-east-1::database/sometable/*`。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  新爬网程序的描述。
+ `Targets` – *必填：*一个 [CrawlerTargets](#aws-glue-api-crawler-crawling-CrawlerTargets) 对象。

  要爬网的目标的集合列表。
+ `Schedule` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。
+ `Classifiers` – UTF-8 字符串数组。

  用户已注册的自定义分类器的列表。默认情况下，所有内置分类器均包含在爬网中，但这些自定义分类器始终会覆盖给定分类的默认分类器。
+ `TablePrefix` – UTF-8 字符串，长度不超过 128 个字节。

  用于创建的目录表的表前缀。
+ `SchemaChangePolicy` – 一个 [SchemaChangePolicy](#aws-glue-api-crawler-crawling-SchemaChangePolicy) 对象。

  适用于爬网程序的更新和删除行为的策略。
+ `RecrawlPolicy` – 一个 [RecrawlPolicy](#aws-glue-api-crawler-crawling-RecrawlPolicy) 对象。

  指定是否再次网络爬取整个数据集，还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
+ `LineageConfiguration` – 一个 [LineageConfiguration](#aws-glue-api-crawler-crawling-LineageConfiguration) 对象。

  指定爬网程序的数据系统配置设置。
+ `LakeFormationConfiguration` – 一个 [LakeFormationConfiguration](#aws-glue-api-crawler-crawling-LakeFormationConfiguration) 对象。

  指定爬网程序的 AWS Lake Formation 配置设置。
+ `Configuration` – UTF-8 字符串。

  爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息，请参阅[设置爬网程序配置选项](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html)。
+ `CrawlerSecurityConfiguration` – UTF-8 字符串，长度不超过 128 个字节。

  该爬网程序将使用的 `SecurityConfiguration` 结构的名称。
+ `Tags` – 键值对的映射数组，不超过 50 对。

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

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

  要用于此爬网程序请求的标签。您可以使用标签来限制对爬网程序的访问。有关 AWS Glue 中的标签的更多信息，请参阅开发人员指南中的 [AWS Glue 中的 AWS 标签](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html)。

**响应**
+ *无响应参数。*

**错误**
+ `InvalidInputException`
+ `AlreadyExistsException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`

## DeleteCrawler 操作（Python：delete\$1crawler）
<a name="aws-glue-api-crawler-crawling-DeleteCrawler"></a>

从 AWS Glue Data Catalog中删除指定爬网程序，除非爬网程序状态为 `RUNNING`。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `CrawlerRunningException`
+ `SchedulerTransitioningException`
+ `OperationTimeoutException`

## GetCrawler 操作（Python：get\$1crawler）
<a name="aws-glue-api-crawler-crawling-GetCrawler"></a>

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

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

**响应**
+ `Crawler` – 一个 [爬网程序](#aws-glue-api-crawler-crawling-Crawler) 对象。

  指定爬网程序的元数据。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`

## GetCrawlers 操作（Python：get\$1crawlers）
<a name="aws-glue-api-crawler-crawling-GetCrawlers"></a>

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

**请求**
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  每次调用时要返回的爬网程序的数量。
+ `NextToken` – UTF-8 字符串。

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

**响应**
+ `Crawlers` – [爬网程序](#aws-glue-api-crawler-crawling-Crawler) 对象的数组。

  爬网程序元数据的列表。
+ `NextToken` – UTF-8 字符串。

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

**错误**
+ `OperationTimeoutException`

## GetCrawlerMetrics 操作（Python：get\$1crawler\$1metrics）
<a name="aws-glue-api-crawler-crawling-GetCrawlerMetrics"></a>

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

**请求**
+ `CrawlerNameList` – UTF-8 字符串数组，不超过 100 个字符串。

  有关要检索其指标的爬网程序的名称的列表。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的列表的最大大小。
+ `NextToken` – UTF-8 字符串。

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

**响应**
+ `CrawlerMetricsList` – [CrawlerMetrics](#aws-glue-api-crawler-crawling-CrawlerMetrics) 对象的数组。

  指定爬网程序的指标的列表。
+ `NextToken` – UTF-8 字符串。

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

**错误**
+ `OperationTimeoutException`

## UpdateCrawler 操作（Python：update\$1crawler）
<a name="aws-glue-api-crawler-crawling-UpdateCrawler"></a>

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

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  新爬网程序的名称。
+ `Role` – UTF-8 字符串。

  新爬网程序用于访问客户资源的 IAM 角色或 IAM 角色的 Amazon Resource Name (ARN)。
+ `DatabaseName` – UTF-8 字符串。

  在其中存储结果的 AWS Glue 数据库，例如：`arn:aws:daylight:us-east-1::database/sometable/*`。
+ `Description` – UTF-8 字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  新爬网程序的描述。
+ `Targets` – 一个 [CrawlerTargets](#aws-glue-api-crawler-crawling-CrawlerTargets) 对象。

  要爬网的目标的列表。
+ `Schedule` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。
+ `Classifiers` – UTF-8 字符串数组。

  用户已注册的自定义分类器的列表。默认情况下，所有内置分类器均包含在爬网中，但这些自定义分类器始终会覆盖给定分类的默认分类器。
+ `TablePrefix` – UTF-8 字符串，长度不超过 128 个字节。

  用于创建的目录表的表前缀。
+ `SchemaChangePolicy` – 一个 [SchemaChangePolicy](#aws-glue-api-crawler-crawling-SchemaChangePolicy) 对象。

  适用于爬网程序的更新和删除行为的策略。
+ `RecrawlPolicy` – 一个 [RecrawlPolicy](#aws-glue-api-crawler-crawling-RecrawlPolicy) 对象。

  指定是否再次网络爬取整个数据集，还是仅网络爬取自上次爬网程序运行以来添加的文件夹的策略。
+ `LineageConfiguration` – 一个 [LineageConfiguration](#aws-glue-api-crawler-crawling-LineageConfiguration) 对象。

  指定爬网程序的数据系统配置设置。
+ `LakeFormationConfiguration` – 一个 [LakeFormationConfiguration](#aws-glue-api-crawler-crawling-LakeFormationConfiguration) 对象。

  指定爬网程序的 AWS Lake Formation 配置设置。
+ `Configuration` – UTF-8 字符串。

  爬网程序配置信息。此受版本控制的 JSON 字符串允许用户指定爬网程序的行为的各个方面。有关更多信息，请参阅[设置爬网程序配置选项](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html)。
+ `CrawlerSecurityConfiguration` – UTF-8 字符串，长度不超过 128 个字节。

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

**响应**
+ *无响应参数。*

**错误**
+ `InvalidInputException`
+ `VersionMismatchException`
+ `EntityNotFoundException`
+ `CrawlerRunningException`
+ `OperationTimeoutException`

## StartCrawler 操作（Python：start\$1crawler）
<a name="aws-glue-api-crawler-crawling-StartCrawler"></a>

使用指定爬网程序启动爬网，无论计划了什么。如果爬网程序已在运行，则返回 [CrawlerRunningException](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-exceptions.html#aws-glue-api-exceptions-CrawlerRunningException)。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `CrawlerRunningException`
+ `OperationTimeoutException`

## StopCrawler 操作（Python：stop\$1crawler）
<a name="aws-glue-api-crawler-crawling-StopCrawler"></a>

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

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

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

**响应**
+ *无响应参数。*

**错误**
+ `EntityNotFoundException`
+ `CrawlerNotRunningException`
+ `CrawlerStoppingException`
+ `OperationTimeoutException`

## BatchGetCrawlers 操作（Python：batch\$1get\$1crawlers）
<a name="aws-glue-api-crawler-crawling-BatchGetCrawlers"></a>

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

**请求**
+ `CrawlerNames` – *必填：*UTF-8 字符串数组，不超过 100 个字符串。

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

**响应**
+ `Crawlers` – [爬网程序](#aws-glue-api-crawler-crawling-Crawler) 对象的数组。

  爬网程序定义的列表。
+ `CrawlersNotFound` – UTF-8 字符串数组，不超过 100 个字符串。

  未找到的 Crawler 名称的列表。

**错误**
+ `InvalidInputException`
+ `OperationTimeoutException`

## ListCrawlers 操作（Python：list\$1crawlers）
<a name="aws-glue-api-crawler-crawling-ListCrawlers"></a>

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

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

**请求**
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的列表的最大大小。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果这是延续请求)。
+ `Tags` – 键值对的映射数组，不超过 50 对。

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

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

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

**响应**
+ `CrawlerNames` – UTF-8 字符串数组，不超过 100 个字符串。

  账户中所有爬网程序的名称或带指定标签的爬网程序。
+ `NextToken` – UTF-8 字符串。

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

**错误**
+ `OperationTimeoutException`

## ListCrawls 操作（Python：list\$1crawls）
<a name="aws-glue-api-crawler-crawling-ListCrawls"></a>

返回指定爬网程序的所有爬取结果。仅返回自爬网程序历史记录功能启动之日起发生的爬网操作，最多只能保留 12 个月的爬取结果。较早的爬取结果将不会被返回。

您可以使用此 API 执行以下操作：
+ 检索指定爬网程序的所有爬网。
+ 在有限的计数内检索指定爬网程序的所有爬取结果。
+ 检索指定爬网程序在特定时间范围内的所有爬取结果。
+ 检索具有特定状态、爬网 ID 或 DPU 小时值的指定爬网程序的所有爬取结果。

**请求**
+ `CrawlerName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索其运行的爬网程序的名称。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的最大结果数量。默认值为 20，最大值为 100。
+ `Filters` – [CrawlsFilter](#aws-glue-api-crawler-crawling-CrawlsFilter) 对象的数组。

  按照您在 `CrawlsFilter` 对象列表中指定的标准筛选爬取结果。
+ `NextToken` – UTF-8 字符串。

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

**响应**
+ `Crawls` – [CrawlerHistory](#aws-glue-api-crawler-crawling-CrawlerHistory) 对象的数组。

  代表符合您的标准的爬取运行的 `CrawlerHistory` 对象列表。
+ `NextToken` – UTF-8 字符串。

  对返回的标记列表进行分页的延续令牌 (如果列表的当前片段不是最后一个，则返回)。

**错误**
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `InvalidInputException`