在设置斯诺普分析系统时, 我必须设置一个专用的 iglu 存储库。这背后的主要思想在伊格鲁的github 页面上描述。该手册错过了对在 aws 基础架构上构建 iglu 存储库非常重要的几个步骤。我花了很多时间试图找出这一步。所以他们在这里:

  1. 您应该将数据上载到此处描述的布局中的 s3: https://github.com/snowplow/iglu/wiki/Static-repo
  2. 启用 s3 存储桶作为静态宿主解决方案。它可以来自 s3 桶的 < cn/> 菜单。
  3. 修改 s3 桶的策略, 以允许公众访问。它位于 “cl > 子菜单” 中的 tbe < c//a 节中。
  4. {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::bucket-name/*"
            }
        ]
    }
  5. 创建 cors 策略。它还位于 cors 配置部分的子菜单中的 “权限” 部分。

  6. <?xml version="1.0" encoding="UTF-8"?>
    <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
    </CORSConfiguration>
  7. 更新 iglu 解析器配置以获得更丰富的信息 (https://github.com/snowplow/iglu/wiki/Iglu-client-configuration)。

您可以检查一切工作是否正确与简单的 wget ping:

wget http://you-prefix.s3-amazon-region prefix.amazon.com/schemas/com.yourcompany/schema_name/jsonschema/1-0-0

如果您是使用引用集设置为 < cn/, 架构版本设置为 1-0, 创建自己的架构, 则应能够在执行以下步骤后下载架构。

Comments are closed.