

# 在 Amazon Glue 中注册蓝图
<a name="registering-blueprints"></a>

在 Amazon Glue 开发人员已编码蓝图并将 ZIP 格式归档上传到 Amazon Simple Storage Service（Amazon S3）后，Amazon Glue 管理员必须注册蓝图。注册蓝图使其可供使用。

注册蓝图时，Amazon Glue 将蓝图归档复制到预留的 Amazon S3 位置。然后，您可以从上传位置删除归档。

如要注册蓝图，您需要对包含上传归档的 Amazon S3 位置具有读取权限。您还需要 Amazon Identity and Access Management（IAM）权限 `glue:CreateBlueprint`。有关必须注册、查看和维护蓝图的 Amazon Glue 管理员的建议权限，请参阅 [蓝图的 Amazon Glue 管理员权限](blueprints-personas-permissions.md#bp-persona-admin)。

您可以使用 Amazon Glue 控制台、Amazon Glue API 或 Amazon Command Line Interface（Amazon CLI）来注册蓝图。

**注册蓝图（控制台）**

1. 确保您对 Amazon S3 中的蓝图 ZIP 格式归档具有读取权限（`s3:GetObject`）。

1. 通过 [https://console.aws.amazon.com/glue/](https://console.amazonaws.cn/glue/) 打开 Amazon Glue 控制台。

   以具有蓝图注册权限的用户身份登录。切换到包含蓝图 ZIP 格式归档的 Amazon S3 存储桶所在的相同 Amazon 区域。

1. 在导航窗格中，选择 **blueprints（蓝图）**。然后在 **blueprints（蓝图）**页面上，选择 **Add blueprint（添加蓝图）**。

1. 输入蓝图名称和可选说明。

1. 在 **ZIP archive location (S3) (ZIP 归档位置 (S3))** 中，输入已上传蓝图 ZIP 格式归档的 Amazon S3 路径。在路径中包含归档文件名，并以 `s3://` 作为路径的开头。

1. （可选）添加一个或多个标签。

1. 选择 **Add blueprint (添加蓝图)**。

   返回 **blueprints（蓝图）**页面，蓝图状态显示为 `CREATING`。选择刷新按钮，直到状态更改为 `ACTIVE` 或者 `FAILED`。

1. 如果状态为 `FAILED`，则选择蓝图，然后在 **Actions (操作)** 菜单上，选择 **View (查看)**。

   详细信息页面会显示故障原因。如果错误消息为“Unable to access object at location...”或者“Access denied on object at location...”，请检查以下要求：
   + 您在登录时使用的用户身份必须对 Amazon S3 中的蓝图 ZIP 格式归档具有读取权限。
   + 包含 ZIP 格式归档的 Amazon S3 存储桶必须具有存储桶策略，该策略会为您的 Amazon 账户 ID 授予对象读取权限。有关更多信息，请参阅 [Amazon Glue 中的开发蓝图](developing-blueprints.md)。
   + 您使用的 Amazon S3 存储桶必须位于您在控制台上登录的相同区域。

1. 确保数据分析人员对蓝图具有相应的权限。

   针对数据分析人员的建议 IAM policy 如[蓝图的数据分析人员权限](blueprints-personas-permissions.md#bp-persona-analyst)所述。该策略授予对任何资源的 `glue:GetBlueprint` 权限。如果您的策略在资源级别更精细，则授予数据分析人员对此新建资源的权限。

**注册蓝图（Amazon CLI）**

1. 输入以下命令。

   ```
   aws glue create-blueprint --name <blueprint-name> [--description <description>] --blueprint-location s3://<s3-path>/<archive-filename>
   ```

1. 要检查蓝图状态，请输入以下命令。重复该命令，直到状态变为 `ACTIVE` 或者 `FAILED`。

   ```
   aws glue get-blueprint --name <blueprint-name>
   ```

   如果状态为 `FAILED` 并且错误消息为“Unable to access object at location...”或“Access denied on object at location...”，请检查以下要求：
   + 您在登录时使用的用户身份必须对 Amazon S3 中的蓝图 ZIP 格式归档具有读取权限。
   + 包含 ZIP 格式归档的 Amazon S3 存储桶必须具有存储桶策略，该策略会为您的 Amazon 账户 ID 授予对象读取权限。有关更多信息，请参阅 [发布蓝图](developing-blueprints-publishing.md)。
   + 您使用的 Amazon S3 存储桶必须位于您在控制台上登录的相同区域。

**另请参阅：**  
[Amazon Glue 中的蓝图概览](blueprints-overview.md)