

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 1：建立 Firehose 交付串流
<a name="CreateFirehoseStream-Account"></a>

**重要**  
 在完成下列步驟之前，您必須使用存取政策，以便 Firehose 可以存取您的 Amazon S3 儲存貯體。如需詳細資訊，請參閱《*Amazon Data Firehose 開發人員指南*》中的[控制存取](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3)。  
 必須在日誌資料收件人帳戶中完成本區段 (步驟 1) 中的所有步驟。  
 在以下範例命令中使用美國東部 (維吉尼亞北部)。請將此區域替換成您部署的正確區域。

**建立要用作目的地的 Firehose 交付串流**

1. 建立 Amazon S3 儲存貯體：

   ```
   aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-1
   ```

1. 建立 IAM 角色，授予 Firehose 將資料放入儲存貯體的許可。

   1. 首先，使用文字編輯器在檔案 `~/TrustPolicyForFirehose.json` 中建立信任政策。

      ```
      { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
      ```

   1. 建立 IAM 角色，並指定您剛建立的信任政策檔案。

      ```
      aws iam create-role \ 
          --role-name FirehosetoS3Role \ 
          --assume-role-policy-document file://~/TrustPolicyForFirehose.json
      ```

   1. 此命令的輸出看起來如下：記下角色名稱和角色 ARN。

      ```
      {
          "Role": {
              "Path": "/",
              "RoleName": "FirehosetoS3Role",
              "RoleId": "AROAR3BXASEKW7K635M53",
              "Arn": "arn:aws:iam::222222222222:role/FirehosetoS3Role",
              "CreateDate": "2021-02-02T07:53:10+00:00",
              "AssumeRolePolicyDocument": {
                  "Statement": {
                      "Effect": "Allow",
                      "Principal": {
                          "Service": "firehose.amazonaws.com"
                      },
                      "Action": "sts:AssumeRole",
                      "Condition": {
                          "StringEquals": {
                              "sts:ExternalId": "222222222222"
                          }
                      }
                  }
              }
          }
      }
      ```

1. 建立許可政策，以定義 Firehose 可以在您的帳戶中執行的動作。

   1. 首先，使用文字編輯器在名為 `~/PermissionsForFirehose.json` 的檔案中建立下列許可政策。根據您的使用案例，可能需要為此檔案新增更多許可。

      ```
      {
          "Statement": [{
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:PutObjectAcl",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket",
                  "arn:aws:s3:::amzn-s3-demo-bucket/*"
              ]
          }]
      }
      ```

   1. 輸入下列命令，將您剛建立的許可政策與 IAM 角色相關聯。

      ```
      aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
      ```

1. 輸入下列命令來建立 Firehose 交付串流。以部署的正確值取代 *my-role-arn* 和 *amzn-s3-demo-bucket2-arn*。

   ```
   aws firehose create-delivery-stream \
      --delivery-stream-name 'my-delivery-stream' \
      --s3-destination-configuration \
     '{"RoleARN": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "BucketARN": "arn:aws:s3:::amzn-s3-demo-bucket"}'
   ```

   輸出格式應類似以下內容：

   ```
   {
       "DeliveryStreamARN": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream"
   }
   ```