发布新产品 - AWS Data Exchange 用户指南

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

发布新产品

以下主题介绍了使用 AWS Data Exchange 控制台在 AWS Data Exchange 上发布新产品的过程。

以下视频详细介绍了如何在 AWS Data Exchange 上发布新的数据产品。

发布包含基于文件的数据的产品

以下主题介绍了如何使用 AWS Data Exchange 控制台在 AWS Data Exchange 上创建数据集和发布包含基于文件的数据的新产品。此过程包含以下步骤:

步骤 1:创建资产

资产是 AWS Data Exchange 中的数据。有关更多信息,请参阅资产

在创建和发布基于文件的新数据产品之前,您必须:

  1. 创建文件。

    AWS Data Exchange 支持所有文件类型。

  2. 将您的文件作为对象存储在 Amazon Simple Storage Service (Amazon S3) 中或存储在您的本地计算机上。

    有关在 Amazon S3 中存储文件的更多信息,请参阅《Amazon S3 用户指南》。

步骤 2:创建数据集

AWS Data Exchange 中的数据集是动态的,使用修订进行版本控制,并且每个修订至少包含一个资产。有关更多信息,请参阅数据输入 AWS Data Exchange

要创建数据集,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧的导航窗格中,在发布数据下,选择拥有的数据集

  3. 拥有的数据集中,选择创建数据集,打开数据集创建步骤向导。

  4. 选择数据集类型中,选择文件

  5. 定义数据集中,为您的数据集输入名称描述。有关更多信息,请参阅数据集最佳实践

  6. (可选)在添加标签 - 可选下,添加标签。

  7. 选择创建数据集

步骤 3:创建修订

在以下步骤中,您将在 AWS Data Exchange 控制台中创建数据集,之后再创建修订。有关更多信息,请参阅修订

要创建修订,请按以下步骤操作:
  1. 在数据集详细信息页面的数据集概览部分:

    1. (可选)选择编辑名称,编辑与您的数据集有关的信息。

    2. (可选)选择删除,删除该数据集。

  2. 修订部分中,选择创建修订

  3. 定义修订下,为您的修订提供介绍修订目的的可选注释。

  4. (可选)在添加标签 - 可选下,添加与该资源关联的标签。

  5. 选择创建修订

  6. 查看、编辑或删除您在上一步中所做的更改。

步骤 4:将资产导入修订

在以下步骤中,您将导入数据资产,然后在 AWS Data Exchange 控制台中定版修订。有关更多信息,请参阅资产

要将资产导入修订,请按以下步骤操作:
  1. 在数据集详细信息页面的作业部分下,根据该数据集的数据资产当前的存储位置,选择从 Amazon S3 导入上传(从您的计算机上传)。

  2. 根据您的选择,按照相应提示进行操作。此时,将您的资产导入数据集的作业已启动。

  3. 作业完成后,作业部分的状态字段将更新为已完成

  4. 如果您还要添加更多数据,请重复步骤 1。

  5. 修订概览中,查看修订及其资产。

  6. 选择定版修订

您已成功定版数据集修订。

在将修订添加到产品之前,您可以编辑或删除该修订。

编辑修订

要在定版后编辑修订,请按以下步骤操作:
  1. 修订概览中,选择取消定版

    您会看到一条消息,提示修订已不再处于定版状态。

  2. 要编辑修订,请从修订概览中依次选择操作编辑

  3. 进行更改,然后选择更新

  4. 检查更改,然后选择定版

删除修订

要在定版后删除修订,请按以下步骤操作:
  1. 修订概览中,选择删除

  2. 删除修订对话框中,输入 Delete,然后选择删除

警告

此操作将删除修订及其所有资产,并且无法撤消。

步骤 5:发布新产品

在创建了至少一个数据集并完成包含资产的修订定版之后,就可以将该数据集作为产品的一部分发布了。有关更多信息,请参阅产品详细信息。确保您已掌握有关产品和优惠的所有必要详细信息。

要发布新产品,请按以下步骤操作:
  1. AWS Data Exchange 控制台的左侧导航窗格中,在发布数据下,选择产品

  2. 产品中,选择发布新产品,打开发布新产品向导。

  3. 产品可见性部分中,选择产品的产品可见性选项敏感信息配置,然后选择下一步。有关更多信息,请参阅产品可见性敏感类信息

  4. 添加数据部分的拥有的数据集下,选中要添加的数据集旁边的复选框,然后选择添加所选项

    注意

    您选择的数据集必须有定版修订。无法添加没有定版修订的数据集。

    1. 转至所选的数据集,查看您选择的数据集。

      您可以查看该数据集的名称类型以及上次更新时间的时间戳。

    2. 转至选择修订访问规则,选择要为此产品中包含的数据集设置的修订访问规则,然后选择下一步。有关更多信息,请参阅修订访问规则

  5. 定义产品部分的产品概览下,输入产品相关信息,包括产品名称产品徽标支持联系人信息和产品类别

    有关更多信息,请参阅产品详细信息

  6. (可选)在定义产品部分的数据字典和样本 - 可选下,通过选择数据集名称旁边的选项按钮来选中该数据集,然后选择编辑

    1. 编辑对话框的上传数据字典下,选择添加文件,上传新的数据字典。

      您可以选择一个 .csv 格式的数据字典,最大大小为 1MB。

    2. 从计算机中选择已保存的数据字典,然后选择打开

      此时,该数据字典 .csv 文件即会出现在编辑对话框中。

      注意

      您的数据字典必须符合 AWS Data Exchange 数据字典模板的要求。如果您没有要上传的已保存数据字典,则可以在 AWS Data Exchange 控制台中选择空白数据字典模板链接或示例数据字典链接。

    3. 选择数据字典预览,预览该数据字典。

    4. 样本 - 可选下,选择上传样本,从您的计算机中选择一个样本,然后选择打开

      此时,该样本会显示在编辑对话框中。

      注意

      您最多可以上传 10 个样本,最大大小为 50MB。您可以预览 .csv 格式的样本。

    5. 为每个样本输入描述,该描述将显示在产品详细信息页面上。

    6. 选择保存

  7. 产品定义下,输入产品的简短描述详细描述

    如果您想使用模板填写详细描述,请选择应用模板,再选择模板类型,然后在该模板中填写产品的具体详细信息。

  8. 选择下一步

  9. 配置您的优惠。

    • 如果您要创建公开优惠,请在添加公开优惠部分中配置您的优惠。所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

      1. 为该订阅选择定价和访问持续时间选项。

      2. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      3. (可选)设置订阅验证,用于控制谁可以订阅此产品。有关更多信息,请参阅面向提供商的订阅验证

      4. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      5. 选择下一步

    • 如果您要创建专属优惠,请在添加自定义优惠部分中配置优惠详细信息。

      1. 订阅者账户信息部分中,至少添加一个您想要延长优惠的订阅者账户。

      2. 为该订阅选择定价和访问持续时间选项。

      3. 选择优惠到期日期,订阅者必须在该日期之前接受此优惠。

      4. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      5. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      6. 选择下一步

  10. 审核和发布部分中,审核您的产品信息,然后展开产品页面预览,查看发布后的外观。

  11. 如果您确定要让该产品和公开优惠对所有人可见和可用,请选择发布

现在,您已经完成了发布带公开优惠的数据产品的手动步骤。AWS Data Exchange 将完成后续准备工作,发布您的产品。在产品概览页面上,您的产品状态为等待批准,发布后将会变更为已发布

步骤 6:(可选)复制产品

创建完第一个产品后,您可以复制其详细信息和公开优惠,创建新的产品。

注意

您可以复制公开、专属、已发布或未发布的产品。与产品相关联的自定义优惠不会被复制,但会复制公开优惠。

要复制产品,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 产品中,选择要复制的产品旁边的按钮。

  4. 选择操作下拉列表,然后选择创建副本

  5. 根据您在步骤 3 中选择的产品,使用已填写的详细信息,继续发布新产品工作流程。有关更多信息,请参阅步骤 5:发布新产品

发布包含 API 的产品

概述

以下主题介绍了在 AWS Data Exchange 上创建 REST API 数据集和发布包含 API 的新产品的过程。您可以使用 AWS Data Exchange 控制台或 AWS Command Line Interface 来完成此过程。

设置 Amazon API Gateway REST API 后,您可以在 AWS Data Exchange 中创建新的 API 数据集。然后,您可以创建修订并添加 API 资产。

创建和发布 API 资产后,订阅者可以向 AWS Data Exchange 端点发出请求,以代理传递到您的 API Gateway API。然后,您可以将此数据集添加到产品中,并添加定价。之后,订阅者可以查看您的产品,并在 AWS Marketplace 目录和 AWS Data Exchange 目录中订阅该产品。

AWS Data Exchange 提供的特征包括修订访问规则、专属产品、专属优惠和订阅验证。

您只能选择基于合同的定价、计量成本定价(其中合同定价为 0 美元),或计量定价和合同定价的组合。

您可以选择标准计量成本,也可以指定自定义计量成本。有三种类型的标准计量成本可供选择:

  • 每个 API 请求

  • 每个成功的 API 请求

  • 每单位的数据传输量(以字节为单位)

注意

计量成本适用于产品中的所有 API 数据集。因此,如果您想针对同一维度对不同的 API 数据集收取不同的价格,我们建议您在不同的产品中创建这些数据集。

此过程包含以下步骤:

先决条件

必须满足以下先决条件,才能发布包含 API 的产品:

  • 在使用任何 AWS 服务(包括 AWS Data Exchange)之前,您必须注册 AWS 并创建管理用户。有关更多信息,请参阅《AWS IAM Identity Center 用户指南》中的入门

  • 要在 AWS Data Exchange 上创建产品,您必须将自己的 AWS 账户注册为 AWS Marketplace 卖家。使用此账户创建您的数据集。拥有 API Gateway 资源的账户不需要与创建数据集的账户相同。

  • 您的 REST API 必须位于 Amazon API Gateway 上,并且其集成应使用适当的请求和响应模型来访问您的数据,例如 Amazon DynamoDB 或 AWS Lambda。有关更多信息,请参阅《Amazon API Gateway 开发人员指南》中的在 API Gateway 中开发 REST API使用 REST API

    注意

    仅支持公共 API Gateway API。

  • 您的 API Gateway REST API 必须能够对来自 AWS Data Exchange 服务主体的调用进行身份验证和授权。AWS Data Exchange 向您的 API 发出的每个请求都使用签名版本 4 (SigV4) 协议,通过 AWS Data Exchange 凭证签名。AWS Data Exchange 支持自定义域和域密钥映射。

    注意

    AWS Data Exchange 不支持 Amazon Cognito、No-Auth 和 AWS Lambda 授权方。

  • 如果您的 API Gateway REST API 使用自定义身份系统进行身份验证和授权,请将其配置为使用 IAM 身份验证并导入描述您的 API 的 OpenAPI 架构。AWS Data Exchange 将使用自己的服务凭证调用您的 API Gateway REST API,并包含账户 ID 等订阅者信息。

  • 您的 API Gateway REST API 负责与后端集成。为此,请执行以下操作之一:

    • 将一个长期有效的身份验证令牌附加到通过您的 API Gateway REST API 发出的每个请求,以便后端可以对其进行验证。

    • 使用 API Gateway 调用 Lambda 函数,该函数可以生成凭证并调用您的 API。

您的 API 是按照 API 集成请求规范调用的。

有关更多信息,请参阅以下主题:

API 数据集安全性

AWS Data Exchange 使用传输层安全性协议 (TLS) 1.2 对流量进行端到端加密。所有元数据均会进行静态加密。AWS Data Exchange 不会存储订阅者请求或来自后端的响应。我们只提取计费所需的计量元数据。

API 集成请求规范

AWS Data Exchange 上的 API 会将来自客户请求的所有标头(标头转发中列出的标头除外)、正文、http 方法、路径和查询字符串原样传递,并附加以下标头。

// These headers help prevent Confused Deputy attacks. They enable the SourceAccount // and SourceArn variables in IAM policies. 'x-amz-source-account': ACCOUNT_ID, 'x-amz-source-arn': `arn:aws:dataexchange:${REGION}:${OWNER_ACCOUNT_ID}:data-sets/${DATA_SET_ID}/revisions/${REVISION_ID}/assets/${ASSET_ID}`, // These headers identify the API Asset in Data Exchange. 'x-amzn-dataexchange-asset-id': ASSET_ID, 'x-amzn-dataexchange-data-set-id': DATA_SET_ID, 'x-amzn-dataexchange-revision-id': REVISION_ID, // This header identifies the Data Exchange Product. 'x-amzn-dataexchange-product-id': PRODUCT_ID, // This header identifies the caller of Data Exchange. It will contain subscriber // information. 'x-amzn-dataexchange-requester-account-id': REQUESTER_ACCOUNT_ID, // Providers can attach custom metadata in the form of key/value pairs // to a particular subscription. We will send these key/value pairs as stringified // JSON. 'x-amz-dataexchange-subscription-metadata': STRINGIFIED_METADATA,
标头转发

AWS Data Exchange 在将标头转发到提供商后端之前,会删除与身份验证有关或命名空间为 Amazon 的所有标头。具体而言,AWS Data Exchange 会删除:

  • Authentication 标头

  • x-amz 开头的任何标头

由于代理的作用,host 标头将被覆盖。

步骤 1:更新 API 资源策略

如果您有一个符合先决条件的 Amazon API Gateway REST API,则您必须更新 API 资源策略,以便在订阅者请求获取您的 API 架构时,授予 AWS Data Exchange 调用您的 API 的权限。

要更新您的 API 资源策略,请按以下步骤操作:
  1. 将以下策略添加到 API 的资源策略中:

    { "Effect": "Allow", "Principal": {"Service": "dataexchange.amazonaws.com"}, "Action": "execute-api:Invoke", "Resource": "*", "Condition": {"StringEquals": {"aws:SourceAccount": "<account-id>"}} }
  2. account-id 替换为将创建 API 数据集的账户。

    拥有 API Gateway 资源的账户不需要与创建数据集的账户相同。

此策略将这些权限限制为仅允许 AWS Data Exchange 服务主体发起的调用,并要求只有您的账户才能授权 AWS Data Exchange 与您的 API 进行集成。

注意

如果您的资源策略明确拒绝 AWS Data Exchange 执行此次调用,则您必须删除或限制此拒绝。

现在,您就可以创建 API 数据集了。

步骤 2:创建 API 数据集

AWS Data Exchange 中的数据集是动态的,使用修订进行版本控制,并且每个修订至少包含一个资产。有关更多信息,请参阅数据输入 AWS Data Exchange

您可以使用 AWS Data Exchange 控制台或 AWS Command Line Interface 来创建 API 数据集:

创建 API 数据集(控制台)
要创建 API 数据集(控制台),请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格的我的数据下,选择拥有的数据集

  3. 拥有的数据集中,选择创建数据集,打开数据集创建步骤向导。

  4. 选择数据集类型中,选择 Amazon API Gateway API

  5. 定义数据集中,为您的数据集输入名称描述。有关更多信息,请参阅数据集最佳实践

  6. (可选)在添加标签 - 可选下,添加标签。

  7. 选择创建

现在,您就可以创建修订了。

创建 API 数据集 (AWS CLI)
要创建 API 数据集 (CLI),请按以下步骤操作:
  1. 使用 create-data-set 命令创建 API 数据集:

    $ aws dataexchange create-data-set \ --asset-type API_GATEWAY_API \ --description 'Data Set Description' \ --name 'Data Set Name' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID", "AssetType": "API_GATEWAY_API", "CreatedAt": "2021-09-11T00:16:46.349000+00:00", "Description": "Data Set Description", "Id": "$DATA_SET_ID", "Name": "Data Set Name", "Origin": "OWNED", "UpdatedAt": "2021-09-11T00:16:46.349000+00:00" }
  2. 请注意新的资产类型为 API_GATEWAY_API

现在,您就可以创建修订了。

步骤 3:创建修订

在以下步骤中,您将创建数据集,之后再创建修订。有关更多信息,请参阅修订

您可以使用 AWS Data Exchange 控制台或 AWS Command Line Interface 创建修订:

创建修订(控制台)
要创建修订(控制台),请按以下步骤操作:
  1. 在数据集详细信息页面的数据集概览部分:

    1. (可选)选择编辑名称,编辑与您的数据集有关的信息。

    2. (可选)选择删除,删除该数据集。

  2. 修订部分,选择创建修订

  3. 定义修订下,为您的修订提供介绍修订目的的可选注释。

  4. (可选)在添加标签 - 可选下,添加与该资源关联的标签。

  5. 选择创建修订

  6. 查看、编辑或删除您在上一步中所做的更改。

现在,您可以将 API 资产添加到修订

创建修订 (AWS CLI)
要创建修订 (AWS CLI),请按以下步骤操作:
  1. 使用 create-revision 命令创建修订:

    $ aws dataexchange create-revision \ --data-set-id $DATA_SET_ID \ --comment 'First Atlas Revision' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID", "Comment": "First Atlas Revision", "CreatedAt": "2021-09-11T00:18:49.160000+00:00", "DataSetId": "$DATA_SET_ID", "Finalized": false, "Id": "$REVISION_ID", "UpdatedAt": "2021-09-11T00:18:49.160000+00:00" }
  2. 将 API 资产添加到修订

    注意

    您需要知道要导入的 API Gateway REST API 的 ID 及阶段。

步骤 4:将 API 资产添加到修订

API 资产包含订阅者调用您的 API 所需的信息。有关更多信息,请参阅资产

在以下步骤中,您将导入数据资产,然后定版修订。

您可以使用 AWS Data Exchange 控制台或 AWS CLI 向修订中添加资产:

将 API 资产添加到修订(控制台)
要将资产添加到修订(控制台),请按以下步骤操作:
  1. 在数据集详细信息页面的 API 资产部分下,选择添加 API 阶段

  2. 选择 API 阶段下,对于 Amazon API Gateway API,在输入框中输入一个 API,或从下拉列表中选择以下选项之一:

    • 另一个 AWS 账户中的 API – 这是一个跨账户 API,您已获得该 API 的访问权限。

    • 在这个 AWS 账户中 – 这是您 AWS 账户中的一个 API。

    1. 如果您选择的是另一个 AWS 账户中的 API,请在输入框中输入该 API ID 和 API 阶段名称

    2. 如果您选择的是在这个 AWS 账户中,请从下拉列表中选择 API 阶段名称

    注意

    您可以选择新建并按照在 Amazon API Gateway 上创建新 API 模态中的步骤,创建新的 API 阶段。新阶段创建完毕后,重复步骤 2。

  3. 高级配置 - 可选下,您可以选择连接现有 Amazon API Gateway 使用计划,以使用现有使用计划中定义的节流和配额限制,然后输入 API 密钥

  4. 面向订阅者的文档 API 下,提供有关订阅者在订阅您的产品后将看到的 API 的详细信息。

    1. API 名称中,输入订阅者可以用来识别 API 资产的名称。

      注意

      如果选择的是在这个 AWS 账户中,则会自动填充 API 名称,您可以根据需要对其进行修改。

      如果选择的是另一个 AWS 账户中的 API,则 API 名称将会填充为默认名称。您应该修改该默认名称,以便订阅者可以轻松了解这个 API 是什么。

    2. 对于 OpenAPI 3.0 规范,您可以:

      1. 输入或复制并粘贴 OpenAPI 3.0 规范文件。

      2. 选择从 .JSON 文件导入,然后从本地计算机中选择要导入的 .json 文件。

        导入的规范即会显示在框中。

      3. 选择从 Amazon API Gateway 导入,然后选择要导入的规范。

        导入的规范即会显示在框中。

    3. 对于其他文档 - 可选,输入任何有助于订阅者了解您的 API 的其他信息。支持 Markdown。

    注意

    在将此资产添加到修订后,您将无法编辑 OpenAPI 规范和其他文档。

    如果您想更新此信息,并且修订尚未定版,则您可以替换该资产。

    如果您想更新此信息,并且修订已定版,则您可以使用更新后的资产创建新修订。

  5. 选择添加 API 阶段

    此时,将您的资产(在此例中,是 API)导入数据集的作业已启动。

    注意

    如果您在 Amazon API Gateway 上没有 API,系统会提示您创建一个。

  6. 作业完成后,作业部分的状态字段将更新为已完成

  7. 如果您还要添加更多 API,请重复步骤 2。

  8. 修订概览下,查看修订及其资产。

  9. 选择定版

您已成功定版数据集修订。

在将修订添加到产品之前,您可以编辑修订删除修订

现在,您就可以发布新的 API 数据产品了。

将 API 资产添加到修订 (AWS CLI)

您可以通过运行 IMPORT_ASSET_FROM_API_GATEWAY_API 作业来添加 API 资产。

要将 API 资产添加到修订 (AWS CLI),请按以下步骤操作:
  1. 使用 create-job 命令将 API 资产添加到修订:

    $ aws dataexchange create-job \ --type IMPORT_ASSET_FROM_API_GATEWAY_API \ --details '{"ImportAssetFromApiGatewayApi":{"DataSetId":"$DATA_SET_ID","RevisionId":"$REVISION_ID","ApiId":"$API_ID","Stage":"$API_STAGE","ProtocolType":"REST"}}' { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:jobs/$JOB_ID", "CreatedAt": "2021-09-11T00:38:19.875000+00:00", "Details": { "ImportAssetFromApiGatewayApi": { "ApiId": "$API_ID", "DataSetId": "$DATA_SET_ID", "ProtocolType": "REST", "RevisionId": "$REVISION_ID", "Stage": "$API_STAGE" } }, "Id": "$JOB_ID", "State": "WAITING", "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API", "UpdatedAt": "2021-09-11T00:38:19.875000+00:00" } $ aws dataexchange start-job --job-id $JOB_ID $ aws dataexchange get-job --job-id $JOB_ID { "Arn": "arn:aws:dataexchange:us-east-1:0123456789012:jobs/$JOB_ID", "CreatedAt": "2021-09-11T00:38:19.875000+00:00", "Details": { "ImportAssetFromApiGatewayApi": { "ApiId": "$API_ID", "DataSetId": "$DATA_SET_ID", "ProtocolType": "REST", "RevisionId": "$REVISION_ID", "Stage": "$API_STAGE" "ApiEndpoint": "string", "ApiKey": "string", "ApiName": "string", "ApiDescription": "string", "ApiSpecificationDownloadUrl": "string", "ApiSpecificationDownloadUrlExpiresAt": "string" } }, "Id": "$JOB_ID", "State": "COMPLETED", "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API", "UpdatedAt": "2021-09-11T00:38:52.538000+00:00" }
  2. 使用 list-revision-assets 命令确认新资产是否创建正确:

    $ aws dataexchange list-revision-assets \ --data-set-id $DATA_SET_ID \ --revision-id $REVISION_ID { "Assets": [ { "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID/assets/$ASSET_ID", "AssetDetails": { "ApiGatewayApiAsset": { "ApiEndpoint": "https://$API_ID.execute-api.us-east-1.amazonaws.com/$API_STAGE", "ApiId": "$API_ID", "ProtocolType": "REST", "Stage": "$API_STAGE" } }, "AssetType": "API_GATEWAY_API", "CreatedAt": "2021-09-11T00:38:52.457000+00:00", "DataSetId": "$DATA_SET_ID", "Id": "$ASSET_ID", "Name": "$ASSET_ID/$API_STAGE", "RevisionId": "$REVISION_ID", "UpdatedAt": "2021-09-11T00:38:52.457000+00:00" } ] }

现在,您就可以发布 API 数据产品了。

编辑修订
要在定版后编辑修订,请按以下步骤操作:
  1. 修订概览上,选择取消定版

    您会看到一条消息,提示修订已不再处于定版状态。

  2. 要编辑修订,请从修订概览中依次选择操作编辑

  3. 进行更改,然后选择更新

  4. 检查更改,然后选择定版

删除修订
要在定版后删除修订,请按以下步骤操作:
  1. 修订概览上,选择删除

  2. 删除修订对话框中,输入 Delete,然后选择删除

警告

此操作将删除修订及其所有资产,并且无法撤消。

步骤 5:发布包含 API 的新产品

在创建了至少一个数据集并完成包含资产的修订定版之后,就可以将该数据集作为产品的一部分发布了。有关更多信息,请参阅产品详细信息。确保您已掌握有关产品和优惠的所有必要详细信息。

您可以使用 AWS Data Exchange 控制台或 AWS Marketplace Catalog API 发布包含 API 的新产品。有关如何使用 AWS Marketplace Catalog API 发布新产品的更多信息,请参阅AWS Data Exchange 与 AWS Marketplace 目录 API 一起使用

发布包含 API 的新产品(控制台)
要发布包含 API 的新产品,请按以下步骤操作:
  1. AWS Data Exchange 控制台左侧导航窗格的发布数据下,选择产品

  2. 产品中,选择发布新产品,打开发布新产品向导。

  3. 产品可见性中:

    1. 将产品的产品可见性选项选择为公开专属

      所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

      有关更多信息,请参阅产品可见性

    2. 选择产品的敏感信息配置。

      有关更多信息,请参阅敏感类信息

    3. 选择下一步

  4. 添加数据中:

    1. 拥有的数据集下,选中要添加的数据集旁边的复选框,然后选择添加所选项

      注意

      您选择的数据集必须有定版修订。不会添加没有定版修订的数据集。

    2. 转至所选的数据集,查看您选择的数据集。

      您可以查看该数据集的名称类型以及上次更新时间的时间戳。

    3. 转至选择修订访问规则,然后选择要为此产品中包含的数据集设置的修订访问规则。

      有关更多信息,请参阅修订访问规则

    4. 选择下一步

  5. 定义产品中:

    1. 产品概览下,输入产品相关信息,包括产品名称产品徽标支持联系人信息和产品类别

      有关更多信息,请参阅产品详细信息

    2. (可选)在数据字典和样本 - 可选下,通过选择数据集名称旁边的选项按钮来选中该数据集,然后选择编辑

      1. 编辑对话框中,选择上传,上传新的数据字典。

        您可以选择一个 .csv 格式的数据字典,最大大小为 1MB。

      2. 从计算机中选择已保存的数据字典,然后选择打开

        此时,该数据字典 .csv 文件即会出现在编辑对话框中。

        注意

        您的数据字典必须符合 AWS Data Exchange 数据字典模板的要求。如果您没有要上传的已保存数据字典,则可以在 AWS Data Exchange 控制台中选择空白数据字典模板链接或示例数据字典链接。

      3. 选择数据字典预览,预览该数据字典。

      4. 样本 - 可选下,选择上传样本,从您的计算机中选择一个样本,然后选择打开

        此时,该样本会显示在编辑对话框中。

        注意

        您最多可以上传 10 个样本,最大大小为 50MB。您可以预览 .csv 格式的样本。

      5. 为每个样本输入描述,该描述将显示在产品详细信息页面上。

      6. 选择保存

  6. 产品定义下,输入产品的简短描述详细描述

    如果您想使用模板填写详细描述,请选择应用模板,再选择模板类型,然后在该模板中填写产品的具体详细信息。

  7. 选择下一步

  8. 添加公开优惠(对于公开优惠)或添加自定义优惠(对于专属优惠)中配置您的优惠:

    所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

    1. 仅限专属优惠:

      1. 选择列出的优惠类型之一:专属优惠已续订专属优惠自带订阅 (BYOS)

      2. 订阅者账户信息部分中,至少添加一个您想要延长优惠的订阅者账户。

    2. 为该订阅选择定价和访问持续时间选项。

    3. 对于计量成本 - 可选,选择添加

      1. 对于添加计量成本,从类型列表中选择该 API 调用的费用类型:

        • 每个 API 请求

        • 每个成功的 API 请求

        • 每单位的数据传输量(以字节为单位)

        • 新的自定义计量成本

      2. 输入或更新成本显示名称,该名称会显示在订阅者的发票上。

      3. 如果您使用的是预定义的计量成本,则会自动生成,您无法编辑,也无需在响应标头中将其发回。

      4. 如果您要创建新的自定义计量成本,请在 API 响应标头中输入,这是计量成本的标识符(最多 15 个字符)。

        应作为 x-amz-dataexchange-metering 响应标头的一部分发回。

        例 自定义键

        如果您有一个自定义键 VertexCount 和另一个自定义键 EdgeCount,则“x-amz-dataexchange-metering”响应标头的值可能为 VertexCount=3,EdgeCount=10,或者您可以返回两个单独的标头行:

        x-amz-dataexchange-metering: VertextCount=3

        x-amz-dataexchange-metering: EdgeCount=10

      5. 价格/单位中输入向订阅者收取的每单位价格。

      6. (可选)输入单位数量,以在计量成本计算器中显示成本示例。

      7. (可选)输入产品详情页面上显示的计量成本的简短描述

      8. 选择添加

      9. (可选)重复以上操作,以添加其他计量成本。 

        在产品详细信息页面上,计量成本的顺序是固定的,无法重新排序。

        注意

        创建优惠后,您可以编辑计量成本的价格和描述。有关更多信息,请参阅更新产品和优惠详细信息

    4. 仅对于专属优惠,选择优惠到期日期,订阅者必须在该日期之前接受此优惠。

    5. 选择您的税务设置数据订阅协议 (DSA)退款政策

    6. (可选)仅对于公开优惠,设置订阅验证,用于控制谁可以订阅此产品。有关更多信息,请参阅面向提供商的订阅验证

    7. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

    8. 选择下一步

  9. 审核和发布部分中,审核您的产品信息。

    1. 展开产品页面预览,查看发布后产品页面的外观。

    2. (可选)在任何部分中选择编辑按钮即可编辑该部分。

  10. 如果您确定要让该产品和公开优惠对所有人可见和可用,请选择发布

现在,您已经完成了发布带公开优惠的数据产品的手动步骤。AWS Data Exchange 将完成后续准备工作,发布您的产品。

产品概览页面上,您的产品状态为等待批准,发布后将会变更为已发布

步骤 6:(可选)复制产品

创建完第一个产品后,您可以复制其详细信息和公开优惠,创建新的产品。

注意

您可以复制公开、专属、已发布或未发布的产品。与产品相关联的自定义优惠不会被复制,但会复制公开优惠。

要复制产品,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 产品中,选择要复制的产品旁边的按钮。

  4. 选择操作下拉列表,然后选择创建副本

  5. 根据您在步骤 3 中选择的产品,使用已填写的详细信息,继续发布新产品工作流程。有关更多信息,请参阅步骤 5:发布新产品

发布包含 Amazon Redshift 数据集的产品

概述

Amazon Redshift 数据集包含用于 Amazon Redshift 的 AWS Data Exchange 数据共享。当客户订阅包含数据共享的产品时,他们将获得对数据提供商添加到数据共享中的表、视图、架构和用户定义的函数的只读访问权限。

作为数据提供商,您在集群中创建一个适用于 Amazon Redshift 数据共享的 AWS Data Exchange。然后,将要让订阅者访问的架构、表、视图和用户定义的函数添加到该数据共享中。之后,将该数据共享导入 AWS Data Exchange,创建一个数据集,将其添加到产品中,然后发布该产品。订阅者在订阅后即被授予访问该数据共享的权限。

在 Amazon Redshift 中设置 Amazon Redshift 数据共享后,您可以在 AWS Data Exchange 中创建新的 Amazon Redshift 数据集。然后,您可以创建修订,并添加 Amazon Redshift 数据共享资产。这允许向 AWS Data Exchange 端点发出的请求通过代理传递到您的 Amazon Redshift 数据共享。然后,您可以将此数据集添加到产品中,并添加定价。之后,潜在订阅者可以查看您的产品,并在 AWS Data Exchange 目录中订阅该产品。

以下主题介绍了使用 AWS Data Exchange 控制台创建 Amazon Redshift 数据集和发布包含 Amazon Redshift 数据集的新产品的过程。此过程包含以下步骤:

步骤 1:创建 Amazon Redshift 数据共享资产

资产是 AWS Data Exchange 中的数据。有关更多信息,请参阅资产

要创建 Amazon Redshift 数据共享资产,请按以下步骤操作:
  1. 在您的 Amazon Redshift 集群中创建数据共享。

    有关如何创建数据共享的更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的“以创建者的身份使用 AWS Data Exchange 数据共享”

    注意

    我们建议将数据共享设置为可公开访问。否则,拥有可公开访问集群的客户将无法使用您的数据。

  2. 步骤 2:创建 Amazon Redshift 数据集.

步骤 2:创建 Amazon Redshift 数据集

Amazon Redshift 数据集包含用于 Amazon Redshift 的 AWS Data Exchange 数据共享。有关更多信息,请参阅Amazon Redshift 数据集

要创建 Amazon Redshift 数据集,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格的发布数据下,选择拥有的数据集

  3. 拥有的数据集中,选择创建数据集,打开数据集创建步骤向导。

  4. 选择数据集类型中,选择 Amazon Redshift 数据共享

  5. 定义数据集中,为您的数据集输入名称描述。有关更多信息,请参阅数据集最佳实践

  6. 添加标签 - 可选下,添加标签。

  7. 选择创建

步骤 3:创建修订

在以下步骤中,您将在 AWS Data Exchange 控制台中创建数据集,之后再创建修订。有关更多信息,请参阅修订

要创建修订,请按以下步骤操作:
  1. 在数据集详细信息页面的数据集概览部分:

    1. (可选)选择编辑名称,编辑与您的数据集有关的信息。

    2. (可选)选择删除,删除该数据集。

  2. 修订部分,选择创建修订

  3. 定义修订下,为您的修订提供介绍修订目的的可选注释。

  4. 添加标签 - 可选下,添加与该资源关联的标签。

  5. 选择创建

  6. 查看、编辑或删除您在上一步中所做的更改。

步骤 4:将 Amazon Redshift 数据共享资产添加到修订中

在以下步骤中,您将 Amazon Redshift 数据共享资产添加到修订中,然后在 AWS Data Exchange 控制台中定版修订。有关更多信息,请参阅资产

要将资产添加到修订中,请按以下步骤操作:
  1. 在数据集详情页面的适用于 Amazon Redshift 的 AWS Data Exchange 数据共享部分下,选择添加数据共享

  2. 适用于 Amazon Redshift 的 AWS Data Exchange 数据共享下,选择该数据共享,然后选择添加数据共享

    注意

    您最多可以在一个修订中添加 20 个数据共享。

    此时,将您的资产导入修订的作业已启动。

  3. 作业完成后,作业部分的状态字段将更新为已完成

  4. 如果您还要添加更多数据,请重复步骤 1。

  5. 修订概览下,查看修订及其资产。

  6. 选择定版

您已成功定版数据集修订。

在将修订添加到产品之前,您可以编辑删除该修订

步骤 5:发布包含 Amazon Redshift 数据集的新产品

在创建了至少一个数据集并完成包含资产的修订定版之后,就可以发布包含 Amazon Redshift 数据集的产品了。有关更多信息,请参阅产品详细信息。确保您已掌握有关产品和优惠的所有必要详细信息。

要发布包含 Amazon Redshift 数据集的新产品,请按以下步骤操作:
  1. AWS Data Exchange 控制台左侧导航窗格的发布数据下,选择产品

  2. 产品中,选择发布新产品,打开发布新产品向导。

  3. 产品可见性部分中,选择产品的产品可见性选项敏感信息配置,然后选择下一步。有关更多信息,请参阅 产品可见性敏感类信息

  4. 添加数据部分的拥有的数据集下,选中要添加的数据集旁边的复选框,然后选择添加所选项

    注意

    您选择的数据集必须有定版修订。不会添加没有定版修订的数据集。

    1. 转至所选的数据集,查看您选择的数据集。

      您可以查看该数据集的名称类型以及上次更新时间的时间戳。

    2. 转至选择修订访问规则,选择要为此产品中包含的数据集设置的修订访问规则,然后选择下一步

      有关更多信息,请参阅修订访问规则

  5. 定义产品部分的产品概览下,输入产品相关信息,包括产品名称产品徽标支持联系人信息和产品类别

    有关更多信息,请参阅产品详细信息

  6. (可选)在定义产品部分的数据字典和样本 - 可选下,通过选择数据集名称旁边的选项按钮来选中该数据集,然后选择编辑

    有关更多信息,请参阅 数据字典样本

    1. 编辑对话框的上传数据字典下,选择添加文件,上传新的数据字典。

      您可以选择一个 .csv 格式的数据字典,最大大小为 1MB。

    2. 从计算机中选择已保存的数据字典,然后选择打开

      此时,该数据字典 .csv 文件即会出现在编辑对话框中。

      注意

      您的数据字典必须符合 AWS Data Exchange 数据字典模板的要求。如果您没有要上传的已保存数据字典,则可以在 AWS Data Exchange 控制台中选择空白数据字典模板链接或示例数据字典链接。

    3. 选择数据字典预览,预览该数据字典。

    4. 样本 - 可选下,选择上传样本,从您的计算机中选择一个样本,然后选择打开

      此时,该样本会显示在编辑对话框中。

      注意

      您最多可以上传 10 个样本,最大大小为 50MB。您可以预览 .csv 格式的样本。

    5. 为每个样本输入描述,该描述将显示在产品详细信息页面上。

    6. 选择保存

  7. 产品定义下,输入产品的简短描述详细描述

    如果您想使用模板填写详细描述,请选择应用模板,再选择模板类型,然后在该模板中填写产品的具体详细信息。

  8. 选择下一步

  9. 配置您的优惠。

    • 如果您要创建公开优惠,请在添加公开优惠部分中配置您的优惠。所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

      1. 为该订阅选择定价和访问持续时间选项。

      2. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      3. (可选)设置订阅验证,用于控制谁可以订阅此产品。有关更多信息,请参阅面向提供商的订阅验证

      4. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      5. 选择下一步

    • 如果您要创建专属优惠,请在添加自定义优惠部分中配置优惠详情。

      1. 订阅者账户信息部分中,至少添加一个您想要延长优惠的订阅者账户。

      2. 为该订阅选择定价和访问持续时间选项。

      3. 选择优惠到期日期,订阅者必须在该日期之前接受此优惠。

      4. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      5. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      6. 选择下一步

  10. 审核和发布部分中,审核您的产品信息,然后展开产品页面预览,查看发布后的外观。

  11. 如果您确定要让该产品和公开优惠对所有人可见和可用,请选择发布

现在,您已经完成了发布带公开优惠的数据产品的手动步骤。AWS Data Exchange 将完成后续准备工作,发布您的产品。在产品概览页面上,您的产品状态为等待批准,发布后将会变更为已发布

步骤 6:(可选)复制产品

创建完第一个产品后,您可以复制其详细信息和公开优惠,创建新的产品。

注意

您可以复制公开、专属、已发布或未发布的产品。与产品相关联的自定义优惠不会被复制,但会复制公开优惠。

要复制产品,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 产品中,选择要复制的产品旁边的按钮。

  4. 选择操作下拉列表,然后选择创建副本

  5. 根据您在步骤 3 中选择的产品,使用已填写的详细信息,继续发布产品工作流程。有关更多信息,请参阅步骤 5:发布新产品

发布包含 Amazon S3 数据访问权限的产品

概述

借助适用于 Amazon S3 的 AWS Data Exchange,提供商可以共享对 Amazon S3 存储桶或特定前缀和 Amazon S3 对象的直接访问权限。提供商还使用 AWS Data Exchange 来自动管理订阅、授权、账单和付款。

作为数据提供商,您可以共享对整个 Amazon S3 存储桶或特定前缀和 Amazon S3 对象的直接访问权限,而无需创建或管理副本。这些共享的 Amazon S3 对象可以使用存储在 AWS Key Management Service (AWS KMS) 中的客户托管密钥或使用 AWS 托管式密钥 (SSE-S3) 进行服务器端加密。有关监控 KMS 密钥和了解加密上下文的更多信息,请参阅适用于 Amazon S3 数据访问的密钥管理。当客户订阅您的数据产品时,AWS Data Exchange 会自动预置 Amazon S3 接入点,并代表您更新其资源策略,以授予订阅者只读访问权限。订阅者可以在使用 Amazon S3 存储桶名称访问 Amazon S3 中数据的位置,使用 Amazon S3 接入点别名。

订阅结束后,订阅者的权限将被撤销。如果您选择提前终止与订阅者的协议,请联系 AWS Support。您可以在数据订阅协议 (DSA) 中添加订阅条款。

在发布包含 Amazon S3 数据访问权限的产品之前,您必须满足以下先决条件:

先决条件
  • 确认托管数据的 Amazon S3 存储桶的配置,确保 Amazon S3 存储桶拥有者强制设置已开启 ACL 已禁用。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的控制存储桶的对象所有权和禁用 ACL

  • 您的共享对象必须属于 Amazon S3 Standard 存储类别,或者使用 S3 Intelligent Tiering 进行管理,订阅者才能成功访问它们。如果它们属于其他存储类别,或者您启用了 Intelligent Tiering 深度归档,则您的订阅者将收到错误,因为他们没有 RestoreObject 权限。

  • 确认托管数据的 Amazon S3 存储桶已禁用加密,或者已使用 Amazon S3 托管密钥 (SSE-S3) 或存储在 AWS Key Management Service 中的客户托管密钥 (AWS KMS) 加密。

  • 如果您使用的是客户托管密钥,则必须满足以下条件:

    1. 拥有对 KMS 密钥执行 kms:CreateGrant 的 IAM 权限。您可以通过密钥策略、IAM 凭证或对 KMS 密钥的 AWS KMS 授权来访问这些权限。有关密钥管理以及了解 AWS Data Exchange 如何使用 AWS KMS 授权的更多信息,请参阅创建 AWS KMS 补助金

      要提供访问权限,请为您的用户、群组或角色添加权限:

      如果用户需要在 AWS Management Console 之外与 AWS 交互,则需要编程式访问权限。授予编程式访问权限的方法取决于访问 AWS 的用户类型。

      要向用户授予编程式访问权限,请选择以下选项之一。

      哪个用户需要编程式访问权限? 目的 方式

      人力身份

      (在 IAM Identity Center 中管理的用户)

      使用临时凭证签署向 AWS CLI、AWS软件开发工具包或 AWS API 发出的编程请求。

      按照您希望使用的界面的说明进行操作。

      IAM 使用临时凭证签署向 AWS CLI、AWS软件开发工具包或 AWS API 发出的编程请求。 按照《IAM 用户指南》将临时凭证用于 AWS 资源中的说明进行操作。
      IAM

      (不推荐使用)

      使用长期凭证签署向 AWS CLI、AWS软件开发工具包或 AWS API 发出的编程请求。

      按照您希望使用的界面的说明进行操作。

      以下是一个 JSON 策略示例,显示了如何在 KMS 密钥的密钥策略中添加内容。

      { "Sid": "AllowCreateGrantPermission", "Effect": "Allow", "Principal": { "AWS": "<IAM identity who will call Dataexchange API>" }, "Action": "kms:CreateGrant", "Resource": "*" }

      以下策略显示了为所使用的 IAM 身份添加的策略示例。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "AllowCreateGrantPermission", "Action": [ "kms:CreateGrant ], "Resource": [ <Enter KMS Key ARNs in your account> ] } ] }
      注意

      如果通过前面的步骤获得了 KMS 密钥的 kms:CreateGrant 权限,则同样允许使用跨账户 KMS 密钥。如果其他账户拥有该密钥,则您必须拥有该密钥策略和您的 IAM 凭证的权限,如上面的示例所述。

    2. 确保使用 KMS 密钥通过 Amazon S3 存储桶密钥特征对 Amazon S3 存储桶中的现有和新对象进行加密。有关更多详细信息,请参阅《Amazon Simple Storage Service 用户指南》中的配置 S3 存储桶密钥

      • 对于添加到您的 Amazon S3 存储桶中的新对象,您可以默认设置 Amazon S3 存储桶密钥加密。如果在未使用 Amazon S3 存储桶密钥特征的情况下对现有对象进行加密,则必须迁移这些对象,以使用 Amazon S3 存储桶密钥进行加密。

        要为现有对象启用 Amazon S3 存储桶密钥,请使用 copy 操作。有关更多信息,请参阅使用批量操作在对象级别配置 Amazon S3 存储桶密钥

      • 不支持 AWS 托管 KMS 密钥或 AWS 拥有的密钥。您可以从不受支持的加密方案迁移到当前受支持的加密方案。有关更多信息,请参阅 AWS 存储博客上的更改 Amazon S3 加密

    3. 将托管数据的 Amazon S3 存储桶设置为信任 AWS Data Exchange 拥有的接入点。您必须更新这些 Amazon S3 存储桶策略,以授予 AWS Data Exchange 权限,来创建 Amazon S3 接入点,并代表您授予或删除订阅者访问权限。如果缺少策略语句,则必须编辑存储桶策略,以将 Amazon S3 位置添加到您的数据集中。

      下面显示了一个示例策略。使用相应的值替换 <Bucket ARN>

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "<Bucket ARN>", "<Bucket ARN>/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointAccount": [ "337040091392", "504002150500", "366362662752", "330489627928", "291973504423", "461002523379", "036905324694", "540564263739", "675969394711", "108584782536", "844053218156" ] } } } ] }

您可以通过 AWS Data Exchange 将数据共享委派给整个 Amazon S3 存储桶。但是,您可以将委派范围限定为要在数据集中共享的存储桶的特定前缀和对象。以下是限定范围内的策略的一个示例。将 <Bucket ARN>"mybucket/folder1/*" 替换为您自己的信息。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateToAdxGetObjectsInFolder1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::mybucket/folder1/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointAccount": [ "337040091392", "504002150500", "366362662752", "330489627928", "291973504423", "461002523379", "036905324694", "540564263739", "675969394711", "108584782536", "844053218156" ] } } }, { "Sid": "DelegateToAdxListObjectsInFolder1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::mybucket", "Condition": { "StringLike": { "s3:prefix": [ "folder1/*" ] }, "StringEquals": { "s3:DataAccessPointAccount": [ "337040091392", "504002150500", "366362662752", "330489627928", "291973504423", "461002523379", "036905324694", "540564263739", "675969394711", "108584782536", "844053218156" ] } } } ] }

同样,要将访问范围限定为仅限于单个文件,提供商可以使用以下策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateToAdxGetMyFile", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::mybucket/folder1/myfile" ], "Condition": { "StringEquals": { "s3:DataAccessPointAccount": [ "337040091392", "504002150500", "366362662752", "330489627928", "291973504423", "461002523379", "036905324694", "540564263739", "675969394711", "108584782536", "844053218156" ] } } } ] }

以下主题介绍了使用 AWS Data Exchange 控制台创建 Amazon S3 数据集和发布包含 Amazon S3 数据集的新产品的过程。此过程包含以下步骤:

步骤 1:创建 Amazon S3 数据集

要创建 Amazon S3 数据集,请按以下步骤操作:
  1. 在左侧导航窗格的发布数据下,选择拥有的数据集

  2. 在左侧导航窗格的发布数据下,选择拥有的数据集

  3. 拥有的数据集中,选择创建数据集,打开数据集创建步骤向导。

  4. 选择数据集类型中,选择 Amazon S3 数据访问

  5. 定义数据集中,为您的数据集输入名称描述。有关更多信息,请参阅数据集最佳实践

  6. (可选)在添加标签 - 可选下,添加标签。

  7. 选择创建数据集,然后继续。

步骤 2:配置 Amazon S3 数据访问

选择要向订阅者提供的 Amazon S3 存储桶或 Amazon S3 存储桶位置。您可以选择整个 Amazon S3 存储桶,也可以在一个 Amazon S3 存储桶中指定最多五个前缀或对象。要添加更多 Amazon S3 存储桶,您必须创建另一个 Amazon S3 数据共享。

要配置共享 Amazon S3 数据访问,请按以下步骤操作:
  1. 配置 Amazon S3 数据访问页面上,选择选择 Amazon S3 位置

  2. 选择 Amazon S3 位置中,在搜索栏中输入您的 Amazon S3 存储桶名称,或者选择您的 Amazon S3 存储桶、前缀或 Amazon S3 文件,再选择添加选定。然后,选择添加位置

    注意

    我们建议选择存储大多数对象和前缀的顶级文件夹,这样,提供商就无需重新配置要共享的前缀或对象了。

  3. 配置详细信息中,选择您的申请方付款配置。有两个选项:

    • 启用申请方付款(推荐)– 申请方将为 Amazon S3 存储桶中的所有请求和数据传输付费。我们建议使用此选项,因为它有助于防止订阅者请求和数据传输产生意外费用。

    • 禁用申请方付款 – 您需要为 Amazon S3 存储桶中的订阅者请求和数据传输付费。

      有关申请方付款的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的申请方付款存储桶中的对象

  4. 选择最适合您需求的存储桶策略。选择常规,将对整个 Amazon S3 存储桶使用同一个存储桶策略。这是一次性配置,后续无需额外配置即可共享前缀或对象。选择特定,使用特定于所选 Amazon S3 位置的存储桶策略。您的共享 Amazon S3 存储桶需要有适当的存储桶策略,并且不能启用 ACL,才能成功创建 Amazon S3 数据访问数据集。

    1. 要禁用 ACL,请导航到您的存储桶权限,将对象所有权设置为强制存储桶拥有者

    2. 要添加存储桶策略,请将存储桶语句复制到剪贴板。在 Amazon S3 控制台的 Amazon S3 权限选项卡中,选择存储桶策略部分的编辑,将存储桶策略粘贴到该语句中,然后保存更改

  5. 如果 Amazon S3 存储桶包含使用 AWS KMS 客户托管密钥加密的对象,则必须与 AWS Data Exchange 共享所有此类 KMS 密钥。有关使用 KMS 密钥加密您的 Amazon S3 存储桶中的对象时所需的先决条件的信息,请参阅发布包含 Amazon S3 数据访问权限的产品。要与 AWS Data Exchange 共享这些 KMS 密钥,请执行以下操作:

    1. 配置 Amazon S3 数据访问页面的客户托管的 KMS 密钥中,选择从您的 AWS KMS keys 中进行选择输入 AWS KMS key ARN,然后选择当前用于加密 Amazon S3 共享位置的所有 AWS KMS keys。AWS Data Exchange 使用这些 KMS 密钥为订阅者创建访问您的共享位置的授权。有关更多信息,请参阅 AWS KMS 中的授权

    注意

    AWS KMS 每个 KMS 密钥的授权上限为 50000 个,包括先前存在的授权。

  6. 查看您的 Amazon S3 位置、所选的 KMS 密钥和配置详情,然后选择保存并继续

步骤 3:审核并定版数据集

审核并定版新创建的数据集。如果您想创建并添加另一个 Amazon S3 数据访问,以共享对其他 Amazon S3 存储桶、前缀和对象的访问权限,请选择添加另一个 Amazon S3 数据访问

注意

当需要共享对托管在不同的 Amazon S3 存储桶(而不是先前在初始 Amazon S3 数据访问中选择的存储桶)中的数据的访问权限时,我们建议您这样做。

如果您想在发布之前进行更改,可以选择保存草稿,将数据集另存为草稿。然后,选择定版数据集,将其添加到您的产品中。

步骤 4:向 AWS Data Exchange 产品添加 Amazon S3 数据集

在以下步骤中,您将数据集添加到新 AWS Data Exchange 产品或现有产品中。

要向新 AWS Data Exchange 产品或现有产品中添加数据集,请按以下步骤操作:
  1. 拥有的数据集页面的数据集概览下,您可以编辑名称删除从数据集创建产品

  2. 完成产品创建,指定产品描述、使用案例、元数据、定价以及条款和条件。

  3. 完成后,审核并发布产品。

    注意

    当客户订阅您的产品时,该客户将获得访问权限,允许他们使用代表您创建的 Amazon S3 接入点读取和使用您的数据。

步骤 5:发布包含 Amazon S3 访问权限的新产品

在创建了至少一个数据集并完成包含资产的修订定版之后,就可以发布具有 Amazon S3 数据访问权限的产品了。有关更多信息,请参阅产品详细信息。确保您已掌握有关产品和优惠的所有必要详细信息。

注意

更新共享的 Amazon S3 对象时,您无需创建新的修订,除非 Amazon S3 的位置已更改且订阅者无法访问这些对象。

要发布包含 Amazon S3 访问权限的新产品,请按以下步骤操作:
  1. AWS Data Exchange 控制台左侧导航窗格的发布数据下,选择产品

  2. 产品中,选择发布新产品,打开发布新产品向导。

  3. 产品可见性部分中,选择产品的产品可见性选项敏感信息配置,然后选择下一步。有关更多信息,请参阅 产品可见性敏感类信息

  4. 添加数据部分的拥有的数据集下,选中要添加的数据集旁边的复选框,然后选择添加所选项

    注意

    您选择的数据集必须有定版修订。不会添加没有定版修订的数据集。

    1. 转至所选的数据集,查看您选择的数据集。

      您可以查看该数据集的名称类型以及上次更新时间的时间戳。

    2. 转至选择修订访问规则,选择要为此产品中包含的数据集设置的修订访问规则,然后选择下一步

      有关更多信息,请参阅修订访问规则

  5. 定义产品部分的产品概览下,输入产品相关信息,包括产品名称产品徽标支持联系人信息和产品类别

    有关更多信息,请参阅产品详细信息

  6. (可选)在定义产品部分的数据字典和样本 - 可选下,通过选择数据集名称旁边的选项按钮来选中该数据集,然后选择编辑

    有关更多信息,请参阅 数据字典样本

    1. 编辑对话框的上传数据字典下,选择添加文件,上传新的数据字典。

      您可以选择一个 .csv 格式的数据字典,最大大小为 1MB。

    2. 从计算机中选择已保存的数据字典,然后选择打开

      此时,该数据字典 .csv 文件即会出现在编辑对话框中。

      注意

      您的数据字典必须符合 AWS Data Exchange 数据字典模板的要求。如果您没有要上传的已保存数据字典,则可以在 AWS Data Exchange 控制台中选择空白数据字典模板链接或示例数据字典链接。

    3. 选择数据字典预览,预览该数据字典。

    4. 样本 - 可选下,选择上传样本,从您的计算机中选择一个样本,然后选择打开

      此时,该样本会显示在编辑对话框中。

      注意

      您最多可以上传 10 个样本,最大大小为 50MB。您可以预览 .csv 格式的样本。

    5. 为每个样本输入描述,该描述将显示在产品详细信息页面上。

    6. 选择保存

  7. 产品定义下,输入产品的简短描述详细描述

    如果您想使用模板填写详细描述,请选择应用模板,再选择模板类型,然后在该模板中提供产品的具体详细信息。

  8. 选择下一步

  9. 配置您的优惠。

    • 如果您要创建公开优惠,请在添加公开优惠部分中配置您的优惠。所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

      1. 为该订阅选择定价和访问持续时间选项。

      2. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      3. (可选)设置订阅验证,用于控制谁可以订阅此产品。有关更多信息,请参阅面向提供商的订阅验证

      4. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      5. 选择下一步

    • 如果您要创建专属优惠,请在添加自定义优惠部分中配置优惠详细信息。

      1. 订阅者账户信息部分中,至少添加一个您想要延长优惠的订阅者账户。

      2. 为该订阅选择定价和访问持续时间选项。

      3. 选择优惠到期日期,订阅者必须在该日期之前接受此优惠。

      4. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      5. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      6. 选择下一步

  10. 审核和发布部分中,审核您的产品信息,然后展开产品页面预览,查看发布后的外观。

  11. 如果您确定要让该产品和公开优惠对所有人可见和可用,请选择发布

现在,您已经完成了发布带公开优惠的数据产品的手动步骤。AWS Data Exchange 将完成后续准备工作,发布您的产品。在产品概览页面上,您的产品状态为等待批准。产品发布后,该状态会变更为已发布

步骤 6:(可选)复制产品

创建完第一个产品后,您可以复制其详细信息和公开优惠,创建新的产品。

注意

您可以复制公开、专属、已发布或未发布的产品。与产品相关联的自定义优惠无法复制,但公开优惠可以复制。

要复制产品,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 产品中,选择要复制的产品旁边的选项。

  4. 选择操作下拉列表,然后选择创建副本

  5. 根据您在步骤 3 中选择的产品,使用已填写的详细信息,继续发布产品工作流程。有关更多信息,请参阅步骤 5:发布新产品

发布包含 AWS Lake Formation 数据权限数据集的产品(预览版)

概述

如果您有兴趣在此预览版期间发布包含 AWS Lake Formation 数据权限数据集的产品,请联系 AWS Support

AWS Lake Formation 数据权限数据集包含一组 LF 标签和由 AWS Lake Formation 管理的数据的权限。当客户订阅包含 Lake Formation 数据权限的产品时,他们将获得对与添加到数据集的 LF 标签关联的数据库、表和列的只读访问权限。

作为数据提供商,您首先要在 AWS Lake Formation 中创建 LF 标签,并将这些标签与要提供给订阅者的数据相关联。有关在 Lake Formation 中为资源添加标签的更多信息,请参阅《AWS Lake Formation 开发人员指南》中的 Lake Formation 基于标签的访问控制。然后,将这些 LF 标签和一组数据权限作为资产导入 AWS Data Exchange。订阅者在订阅后即可访问与这些 LF 标签关联的数据。

以下主题介绍了发布包含 AWS Lake Formation 数据权限的产品的过程。此过程包含以下步骤:

步骤 1:创建 AWS Lake Formation 数据集(预览版)

要创建 AWS Lake Formation 数据集,请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 拥有的数据集中,选择创建数据集,打开数据集创建步骤向导。

  4. 选择数据集类型中,选择AWS Lake Formation 数据权限

  5. 定义数据集中,为您的数据集输入名称描述。有关更多信息,请参阅数据集最佳实践

  6. 添加标签 - 可选下,选择添加新标签

  7. 选择创建数据集,然后继续。

步骤 2:创建 AWS Lake Formation 数据权限(预览版)

AWS Data Exchange 使用 LF 标签来授予数据权限。选择与您要共享的数据关联的 LF 标签,以授予订阅者对该数据的权限。

要创建 AWS Lake Formation 数据权限,请按以下步骤操作:
  1. 创建 Lake Formation 数据权限页面上,选择添加 LF 标签

  2. 输入并选择您的 LF 标签

  3. 选择预览资源,查看您的 LF 标签的解释。

    1. 预览资源中,选择您的关联数据目录资源

      注意

      请务必撤销以下资源的 IAMAllowedPrincipals 群组。有关更多信息,请参阅《IAM 用户指南》中的撤销 IAM 角色临时安全凭证

  4. 在下面的对话框中查看 LF 标签表达式的解释,以及与该数据集关联的权限

  5. 对于服务访问权限,选择允许 AWS Data Exchange 代入角色并代表您访问、授予和撤销 Lake Formation 数据权限的现有服务角色。然后选择创建 Lake Formation 数据权限。有关为 AWS 服务创建角色的更多信息,请参阅创建将权限委派给 AWS 服务的角色

  6. 定义产品部分的产品概览下,输入产品相关信息,包括产品名称产品徽标支持联系人信息和产品类别

    有关更多信息,请参阅产品详细信息

  7. (可选)在定义产品部分的数据字典和样本 - 可选下,通过选择数据集名称旁边的选项按钮来选中该数据集,然后选择编辑

    有关更多信息,请参阅 数据字典样本

    1. 编辑对话框的上传数据字典下,选择添加文件,上传新的数据字典。

      您可以选择一个 .csv 格式的数据字典,最大大小为 1MB。

    2. 从计算机中选择已保存的数据字典,然后选择打开

      此时,该数据字典 .csv 文件即会出现在编辑对话框中。

      注意

      您的数据字典必须符合 AWS Data Exchange 数据字典模板的要求。如果您没有要上传的已保存数据字典,则可以在 AWS Data Exchange 控制台中选择空白数据字典模板链接或示例数据字典链接。

    3. 选择数据字典预览,预览该数据字典。

    4. 样本 - 可选下,选择上传样本,从您的计算机中选择一个样本,然后选择打开

      此时,该样本会显示在编辑对话框中。

      注意

      您最多可以上传 10 个样本,最大大小为 50MB。您可以预览 .csv 格式的样本。

    5. 为每个样本输入描述,该描述将显示在产品详细信息页面上。

    6. 选择保存

  8. 产品定义下,输入产品的简短描述详细描述

    如果您想使用模板填写详细描述,请选择应用模板,再选择模板类型,然后在该模板中提供产品的具体详细信息。

  9. 选择下一步

  10. 配置您的优惠。

    • 如果您要创建公开优惠,请在添加公开优惠部分中配置您的优惠。所有可见性设置为公开的 AWS Data Exchange 产品都需要配置公开优惠。

      1. 为该订阅选择定价和访问持续时间选项。

      2. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      3. (可选)设置订阅验证,用于控制谁可以订阅此产品。有关更多信息,请参阅面向提供商的订阅验证

      4. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      5. 选择下一步

    • 如果您要创建专属优惠,请在添加自定义优惠部分中配置优惠详细信息。

      1. 订阅者账户信息部分中,至少添加一个您想要延长优惠的订阅者账户。

      2. 为该订阅选择定价和访问持续时间选项。

      3. 选择优惠到期日期,订阅者必须在该日期之前接受此优惠。

      4. 选择您的美国销售税设置、数据订阅协议 (DSA) 和退款政策。

      5. 选择优惠自动续订选项。有关更多信息,请参阅为 AWS Data Exchange 产品创建优惠

      6. 选择下一步

  11. 审核和发布部分中,审核您的产品信息,然后展开产品页面预览,查看发布后的外观。

  12. 如果您确定要让该产品和公开优惠对所有人可见和可用,请选择发布

现在,您已经完成了发布带公开优惠的数据产品的手动步骤。AWS Data Exchange 将完成后续准备工作,发布您的产品。在产品概览页面上,您的产品状态为等待批准。产品发布后,该状态会变更为已发布

步骤 3:审核并定版

创建 AWS Lake Formation 数据权限(预览版)后,您可以审核定版您的数据集。

要进行审核并定版,请按以下步骤操作:
  1. 审核步骤 1 中的数据集详细信息标签,确保准确性。

  2. 审核您的 LF 标签表达式添加另一个 Lake Formation 数据权限(可选)、关联的数据目录资源和作业详细信息。

    注意

    作业将在创建 90 天后被删除。

  3. 选择定版

步骤 5:(可选)创建修订

要创建修订,请按以下步骤操作:
  1. 拥有的数据集部分,选择要为其添加修订的数据集。

  2. 选择修订选项卡。

  3. 修订部分中,选择创建修订

  4. 修订 Lake Formation 数据权限页面上,选择添加 LF 标签

  5. 查看数据库权限

  6. 服务访问权限中,选择现有服务角色,然后选择创建 Lake Formation 数据权限

步骤 6:发布包含 AWS Lake Formation 数据集的新产品(预览版)

在创建了至少一个数据集并完成包含资产的修订定版之后,就可以发布包含 AWS Lake Formation 数据集的产品了。有关更多信息,请参阅产品详细信息。确保您已掌握有关产品的所有必要详细信息。

要发布包含 AWS Lake Formation 数据集的新产品(预览版),请按以下步骤操作:
  1. 打开您的 Web 浏览器,登录到 AWS Data Exchange 控制台

  2. 在左侧导航窗格中的发布数据下,选择产品

  3. 产品中,选择发布新产品,打开发布新产品向导。

  4. 产品可见性部分中,选择产品的产品可见性选项敏感信息配置,然后选择下一步。有关更多信息,请参阅 产品可见性敏感类信息

  5. 添加数据部分的拥有的数据集下,选中要添加的数据集旁边的复选框,然后选择添加所选项

    注意

    您选择的数据集必须有定版修订。不会添加没有定版修订的数据集。

    1. 转至所选的数据集,查看您选择的数据集。

      您可以查看该数据集的名称类型以及上次更新时间的时间戳。

    2. 转至选择修订访问规则,选择要为此产品中包含的数据集设置的修订访问规则,然后选择下一步

      有关更多信息,请参阅修订访问规则

发布 AWS Lake Formation 数据权限数据集(预览版)时的注意事项

为确保订阅者拥有最佳体验,强烈建议在包含 AWS Data Exchange for Lake Formation 数据集(预览版)且有活跃订阅者的产品中,避免对任何权限进行以下任何修改。

  • 建议在包含 AWS Lake Formation 数据集的已发布产品中,不要删除或修改传递给 AWS Data Exchange 的 IAM 角色。如果您删除或修改此类 IAM 角色,会出现以下问题:

    • 有权访问 Lake Formation 数据权限的 AWS 账户可能会无限期地保留访问权限。

    • 订阅您的产品但尚未获得 Lake Formation 数据权限访问权限的 AWS 账户将无法获得访问权限。

    AWS Data Exchange 对您删除或修改的任何 IAM 角色不承担任何责任。

  • 建议在包含 AWS Lake Formation 数据集的已发布产品中,不要撤销传递给 AWS Data Exchange 的 IAM 角色的授予 AWS Lake Formation 数据权限。如果您撤销此类 IAM 角色的授予数据权限,会出现以下问题:

    • 有权访问 Lake Formation 数据权限的 AWS 账户可能会无限期地保留访问权限。

    • 订阅您的产品但尚未获得 Lake Formation 数据权限访问权限的 AWS 账户将无法获得访问权限。

  • 建议不要撤销对包含 AWS Lake Formation 数据集的已发布产品拥有有效订阅的 AWS 账户 的授予 AWS Lake Formation 数据权限。如果您撤销订阅您的产品的 AWS 账户的授予数据权限,则这些账户将失去访问权限,进而带来糟糕的客户体验。

  • 建议您在发布包含 AWS Lake Formation 数据集的产品时,将 AWS Glue Data Catalog 中的跨账户版本设置为版本 3。如果您在拥有包含 AWS Lake Formation 数据集的已发布产品时,降级 Data Lake Catalog 的跨账户版本,则订阅您的产品但尚未获得 Lake Formation 数据权限的 AWS 账户可能无法访问相应数据。