

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon OpenSearch Ingestion 管道与其他服务和应用程序集成
<a name="configure-client"></a>

要成功将数据提取到 Amazon OpenSearch Ingestion 管道，您必须将您的客户端应用程序（*源*）配置为将数据发送到管道终端节点。您的来源可能是客户端，例如 Fluent Bit 日志、 OpenTelemetry 收集器或简单的 S3 存储桶。每个客户端的确切配置各不相同。

源配置期间（与直接向 OpenSearch 服务域或 OpenSearch 无服务器集合发送数据相比）的重要区别在于 Amazon 服务名称 (`osis`) 和主机端点，它们必须是管道端点。

## 构建摄取端点
<a name="configure-client-endpoint"></a>

要将数据摄入管道，请将其发送到摄取端点。要查找摄取 URL，请导航到**管道设置**页面并复制**摄取 URL**。

![管道设置页面显示状态、容量和数据输入的摄取 URL 等详细信息。](http://docs.amazonaws.cn/opensearch-service/latest/developerguide/images/pipeline-endpoint.png)


要为基于拉取的来源（例如[OTel 跟踪](https://opensearch.org/docs/latest/data-prepper/pipelines/configuration/sources/otel-trace/)和[OTel 指标](https://opensearch.org/docs/latest/data-prepper/pipelines/configuration/sources/otel-metrics-source/)）构建完整的摄取终端节点，请将管道配置中的提取路径添加到摄取网址。

例如，假设管道配置的摄取路径如下所示：

![输入了 HTTP 源路径的输入字段，例如 “/my/test_path”。](http://docs.amazonaws.cn/opensearch-service/latest/developerguide/images/ingestion-path.png)


您在客户端配置中指定的完整摄取端点将采用以下格式：`https://{{ingestion-pipeline-abcdefg}}.us-east-1.osis.amazonaws.com{{/my/test_path}}`。

## 创建摄取角色
<a name="configure-client-auth"></a>

所有对 OpenSearch Ingestion 的请求都必须使用签[名版本 4 进行签名](https://docs.amazonaws.cn/general/latest/gr/signature-version-4.html)。至少，必须向签署请求的角色授予`osis:Ingest`操作权限，从而允许其向 OpenSearch 摄取管道发送数据。

例如，以下 Amazon Identity and Access Management (IAM) 策略允许相应的角色向单个管道发送数据：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "osis:Ingest",
      "Resource": "arn:aws:osis:{{us-east-1}}:{{111122223333}}:pipeline/{{pipeline-name}}"
    }
  ]
}
```

------

**注意**  
要将角色用于*所有*管道，请将 `Resource` 元素的 ARN 替换为通配符 (\*)。

### 提供跨账户摄取访问权限
<a name="configure-client-cross-account"></a>

**注意**  
只能为公有管道（而非 VPC 管道）提供跨账户摄取访问权限。

您可能需要将来自其他渠道的数据提取到管道中 Amazon Web Services 账户，例如存放源应用程序的帐户。如果写入管道的主体与管道本身的账户不同，则需要将主体配置为信任另一个 IAM 角色，以将数据摄取到管道中。

**配置跨账户摄取权限**

1. 在与管道相同的范围内创建具有`osis:Ingest`权限的摄取角色（ Amazon Web Services 账户 如上一节所述）。有关说明，请参阅[创建 IAM 角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_create.html)。

1. 为摄取角色附加[信任策略](https://docs.amazonaws.cn/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)，允许其他账户主体担任此角色：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::{{111122223333}}:root"
         },
        "Action": "sts:AssumeRole"
     }]
   }
   ```

------

1. 在另一个账户中，配置您的客户端应用程序（例如，Fluent Bit）担任摄取角色。为使配置生效，应用程序账户必须向应用程序用户或角色授予担任摄取角色的权限。

   以下基于身份的示例策略允许附加主体担任管道账户的 `ingestion-role`：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "sts:AssumeRole",
         "Resource": "arn:aws:iam::{{111122223333}}:role/{{ingestion-role}}"
       }
     ]
   }
   ```

------

然后，客户端应用程序可以使用该[AssumeRole](https://docs.amazonaws.cn/STS/latest/APIReference/API_AssumeRole.html)操作来假设数据`ingestion-role`并将其摄取到关联的管道中。

## 后续步骤
<a name="configure-client-next"></a>

将数据导出到管道后，您可以从配置为管道接收器的 OpenSearch 服务域中[查询](https://docs.amazonaws.cn/opensearch-service/latest/developerguide/searching.html)数据。以下资源可帮助您开始使用：
+ [Amazon OpenSearch 服务中的可观察性](observability.md)
+ [发现痕迹](observability-analyze-traces.md)
+ [Amazon OpenSearch 服务中的可观察性](observability.md)