

# 使用资源
<a name="more-resources"></a>

除了访问 AWS Explorer 中默认列出的 AWS 服务外，您还可以转到 **Resources**（资源）并从数百种资源中选择要添加到界面的资源。在 AWS 中，**资源**是您可以使用的实体。可以添加的一些资源包括 Amazon AppFlow、Amazon Kinesis Data Streams、AWS IAM 角色、Amazon VPC 和 Amazon CloudFront 分配。

进行选择后，您可以前往**资源**，展开资源类型，以列出该类型的可用资源。例如，如果选择 `AWS::Lambda::Function` 资源类型，则可以访问用于定义不同函数、其属性和特性的资源。

将资源类型添加到 **Resources**（资源）后，您可以通过以下方式与它及其资源进行交互：
+ 查看当前 AWS 区域中可用于此资源类型的现有资源列表。
+ 查看用于描述资源的 JSON 文件的只读版本。
+ 复制资源的资源标识符。
+ 查看说明资源类型用途和模式（JSON 和 YAML 格式）的 AWS 文档，以对资源进行建模。
+ 通过编辑和保存符合架构的 JSON 格式模板来创建新资源。**\***
+ 更新或删除现有资源。**\***

**重要**  
**\***在 AWS Toolkit for JetBrains 的当前版本中，用于创建、编辑和删除资源的选项是*实验性功能*。由于实验性功能仍有待测试和更新，可能存在可用性问题。实验性功能可能会从 AWS Toolkit for JetBrains 中删除，恕不另行通知。  
要允许对资源使用实验性功能，请在 JetBrains IDE 中打开**设置**窗格，展开**工具**，然后依次选择 **AWS**、**实验性功能**。选择 **JSON 资源修改**，即可创建、更新和删除资源。  
  
有关更多信息，请参阅[使用实验性功能](experimental-features.md)。

## 用于访问资源的 IAM 权限
<a name="cloud-api-permissions"></a>

您需要特定 AWS Identity and Access Management 权限才能访问与 AWS 服务关联的资源。例如，IAM 实体（如用户或角色）需要 Lambda 权限才能访问 `AWS::Lambda::Function` 资源。

除了服务资源的权限外，IAM 实体还需要允许 AWS Toolkit for JetBrains 代表其调用 AWS Cloud Control API 操作的权限。Cloud Control API 操作允许 IAM 用户或角色访问和更新远程资源。

授予权限的最简单方法是将 AWS 托管策略 **PowerUserAccess** 附加到使用 Toolkit 接口调用这些 API 操作的 IAM 实体。此[托管策略](https://docs.aws.amazon.com/AM/latest/UserGuide/access_policies_job-functions.html#jf_developer-power-user)将授予执行应用程序开发任务的一系列权限，包括调用 API 操作。

有关定义远程资源上允许的 API 操作的特定权限，请参阅 [AWS Cloud Control API 用户指南](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/security.html)。

## 添加现有资源并与之交互
<a name="configure-resources"></a>

1. 在 **AWS Explorer** 中，右键单击**资源**，然后选择**添加或移除资源类型**。

   **设置**窗格中的**其他 Explorer 资源**显示可供选择的资源类型列表。
**注意**  
您也可以双击位于**资源**下方的**添加或移除资源类型**节点，以显示资源类型列表。  
![选择要配置的资源。](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/add-resources-renamed.png)

1. 在**其他 Explorer 资源**中，选择要添加到 **AWS Explorer** 中的资源类型，然后按**返回**或选择**确认**以进行确认。

   您选择的资源类型将列在**资源**下方。
**注意**  
如果您已经将资源类型添加到 **AWS Explorer**，然后清除该类型的复选框，则您选择**确认**后，相应类型将不再列于**资源**下方。只有当前选定的资源类型才会显示在 **AWS Explorer** 中。

1. 要查看某种资源类型已存在的资源，请展开该类型的条目。

   可用资源列表显示在其资源类型下方。

1. 要与特定资源交互，请右键单击其名称，然后选择以下选项之一：
   + **查看资源**：查看用于描述资源的 JSON 格式模板的只读版本。

     显示该模板后，如果您已启用所需[experimental feature](#experimental-feature-warning)，则可以通过选择**编辑**对其进行更改。
**注意**  
您也可以通过双击资源对其进行查看。
   + **复制标识符**：将特定资源的标识符复制到剪贴板。（例如，可以使用 `TableName` 属性来标识 `AWS::DynamoDB::Table` 资源。） 
   + **更新资源**：在 JetBrains 编辑器中编辑资源的 JSON 格式模板。有关更多信息，请参阅[创建和更新资源](#create-resources)。
   + **删除资源**：通过在显示的对话框中确认删除操作来删除资源。（目前，删除资源在 AWS Toolkit for JetBrains 的此版本中是[experimental feature](#experimental-feature-warning)。）
**警告**  
如果您删除资源，任何使用该资源的 AWS CloudFormation 堆栈将无法更新。要修复此更新故障，您需要重新创建资源或删除堆栈的 CloudFormation 模板中对其的引用。有关更多信息，请参阅这篇[知识中心文章](https://aws.amazon.com/premiumsupport/knowledge-center/failing-stack-updates-deleted/)。  
![所选资源的菜单选项。](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/resource-menu-options-renamed.png)

## 创建和更新资源
<a name="create-resources"></a>

**重要**  
目前，资源的创建和更新在 AWS Toolkit for JetBrains 的此版本中是[experimental feature](#experimental-feature-warning)。

创建新资源涉及将资源类型添加到**资源**列表，然后编辑 JSON 格式的模板，该模板可定义资源及其属性和特性。

例如，属于 `AWS::SageMaker::UserProfile` 资源类型的资源使用可为 Amazon SageMaker Studio 创建用户配置文件的模板进行定义。定义此用户配置文件资源的模板必须符合 `AWS::SageMaker::UserProfile` 的资源类型架构。如果由于属性缺失或不正确等原因，模板不符合架构，则无法创建或更新资源。

1. 要为您要创建的资源添加资源类型，请右键单击**资源**，然后选择**添加或移除资源**。

1. 将资源类型添加到**资源**下之后，右键单击其名称并选择**创建资源**。您还可以通过选择**查看文档**，访问有关如何对资源进行建模的信息。  
![所选资源类型的菜单选项。](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/resource-new.png)

1. 在编辑器中，首先定义构成资源模板的属性。自动完成功能会建议符合模板架构的属性名称。当您的模板完全符合 JSON 语法时，错误计数将替换为绿色复选标记。有关架构的详细信息，请选择**查看文档**。
**注意**  
除了符合基本的 JSON 语法外，您的模板还必须符合对资源类型进行建模的架构。当您尝试创建或更新远程资源时，您的模板将根据架构模型进行验证。  
![显示描述资源类型的模板的编辑器。](http://docs.aws.amazon.com/zh_cn/toolkit-for-jetbrains/latest/userguide/images/resource-template.png)

1. 声明完资源后，选择**创建**以验证您的模板，并将资源保存到远程 AWS Cloud。（如果您要修改现有资源，请选择**更新**。）

   如果您的模板根据其架构定义资源，系统会显示一条消息，确认资源已创建。（如果资源已经存在，则消息将确认资源已更新。）

   资源创建完成后，会添加至资源类型标题下的列表中。

1. 如果您的文件包含错误，系统会显示一条消息，说明无法创建或更新资源。打开**事件日志**以确定需要修复的模板元素。