访问数据源 - AWS Marketplace

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

访问数据源

借助 AWS Marketplace,您可以将数据源用作一种机制,将最新的结构化产品和客户信息从 AWS Marketplace 系统发送到 Amazon S3 存储桶,以便在卖家所有的商业智能工具之间进行 ETL(提取、转换和加载)。您需要对环境进行配置,以将数据源接收到加密的 Amazon S3 存储桶中。本主题将向您介绍如何访问和取消订阅数据源。

访问数据源

  1. 分配具有 SQL 和 ETL(提取、转换、加载)经验的商业智能或数据工程师。此人还需要有设置 API 的经验。

  2. 设置 Amazon Simple Storage Service 存储桶并订阅数据源。使用与您的 Marketplace 产品列表关联的 AWS 卖家账户 ID。为此,您可以观看此 YouTube 视频或按照以下步骤操作。

    该视频和步骤说明了如何使用有助于简化配置的 CloudFormation 模板

    1. 打开 Web 浏览器并登录 AWS Marketplace 管理门户,然后转到设置客户数据存储

    2. 选择使用 CloudFormation 模板创建资源,在 CloudFormation 控制台的另一个窗口中打开模板。

    3. 在模板中,指定以下内容,然后选择下一步

      • 堆栈名称 – 您将创建的允许访问数据源的资源集合。

      • Amazon S3 存储桶名称 – 用于存储数据源的存储桶。

      • (可选)Amazon SNS 主题名称 – 在 Amazon Simple Storage Service 存储桶发生相关事件时接收通知的主题。

    4. 审核页面上,确认您的条目,然后选择创建堆栈。这将打开一个包含 CloudFormation 状态和详细信息的新页面。

    5. 资源选项卡中,将 CloudFormation 页面上的以下资源的 Amazon 资源名称 (ARN) 复制到 AWS Marketplace 设置客户数据存储页面上的字段中:

      • 用于存储数据源的 Amazon S3 存储桶

      • 用于加密 Amazon S3 存储桶的 AWS KMS 密钥

      • (可选)AWS 将新数据传送到 Amazon S3 存储桶时接收通知的 Amazon SNS 主题

    6. 设置客户数据存储页面上,选择提交

    7. (可选)编辑由 CloudFormation 模板创建的策略。有关更多信息,请参阅数据源策略

      您现在已订阅数据源。下次生成数据源时,您可以访问数据。

  3. 使用 ETL(提取、转换、加载)操作将数据源连接到您的数据仓库或关系数据库。

    注意

    数据工具功能各异。您必须让商业智能工程师或数据工程师参与设置集成,以便与您工具的功能相匹配。

  4. 要运行或创建 SQL 查询,请将数据源配置为在数据工具中强制使用主键和外键。每个数据源代表一个唯一的表,您必须使用实体关系在数据架构中设置所有数据源。有关表和实体关系的更多信息,请参阅本指南中的数据源表概述

  5. 设置 Amazon Simple Notification Service 以自动刷新您的数据仓库或关系数据库。您可以配置 Amazon SNS 通知,在来自每个唯一源的数据传送到 Amazon S3 存储桶时发送提醒。通过数据源接收新数据时,可以利用这些通知来自动刷新卖家数据仓库(如果卖家数据工具支持此功能)。请参阅《Amazon Simple Notification Service 开发人员指南》中的 Amazon SNS 入门

    示例通知:

    { "mainExecutionId": "1bc08b11-ab4b-47e1-866a-9c8f38423a98", "executionId": "52e862a9-42d2-41e0-8010-810af84d39b1", "subscriptionId": "27ae3961-b13a-44bc-a1a7-365b2dc181fd", "processedFiles": [], "executionStatus": "SKIPPED", "errors": [], "feedType": "[data feed name]" }

    通知可能具有以下 executionStatus 状态:

    • SKIPPED – 卖家没有当天的新数据。

    • COMPLETED – 我们传输了包含新数据的源。

    • FAILED – 源传输存在问题。

  6. 通过运行 SQL 查询来验证设置。您可以使用本指南中的示例查询,也可以使用 GitHub 上的查询,网址为 https://github.com/aws-samples/aws-marketplace-api-samples/tree/main/seller-data-feeds/queries

    注意

    本指南中的示例查询是为 AWS Athena 编写的。您可能需要修改查询才能与您的工具配合使用。

  7. 确定业务用户想要在哪里使用数据。例如,您可以:

    • 从您的数据仓库或 SQL 数据库中导出 .csv 数据。

    • 将您的数据连接到 PowerBI 或 Tableau 等可视化工具。

    • 将数据映射到您的 CRM、ERP 或财务工具,例如 Salesforce、Infor 或 Netsuite。

有关使用 CloudFormation 模板的更多信息,请参阅《AWS CloudFormation 用户指南》中的使用 CloudFormation 模板

数据源策略

当使用 CloudFormation 模板创建 Amazon S3 存储桶时,它将为附加到该存储桶、AWS KMS 密钥和 Amazon SNS 主题的访问权限创建策略。这些策略允许 AWS Marketplace 报告服务使用数据源信息写入您的存储桶和 SNS 主题。每个策略都将包含如下所示的部分(此示例来自 Amazon S3 存储桶)。

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] },

在本策略中,AWS Marketplace 使用 reports.marketplace.amazonaws.com 服务主体将数据推送到 Amazon S3 存储桶。您在 CloudFormation 模板中指定了 amzn-s3-demo-bucket

当 AWS Marketplace 报告服务调用 Amazon S3、AWS KMS 或 Amazon SNS 时,它将提供意图写入存储桶的数据的 ARN。为确保写入存储桶的唯一数据是以您的名义写入的数据,您可以在策略的条件中指定 aws:SourceArn。在以下示例中,您必须将 account-id 替换为自己的 AWS 账户 ID。

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" , "Condition": { "StringEquals": { "aws:SourceAccount": "account-id", "aws:SourceArn": ["arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/DataFeeds_V1", "arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/Example-Report"] } } },

取消订阅数据源

打开 Web 浏览器并登录 AWS Marketplace Management Portal。然后,转到联系我们页面,向 AWS Marketplace 卖家运营团队提交取消订阅请求。取消订阅请求可能需要 10 个工作日来处理。