数据输入 AWS Data Exchange - AWS Data Exchange 用户指南

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

数据输入 AWS Data Exchange

数据 AWS Data Exchange 使用三个构件进行组织:

  • 资产 – 一段数据

  • 修订 – 一个或多个资产的容器

  • 数据集 – 由一个或多个修订组成的一系列数据

这三个构造块构成了您使用 AWS Data Exchange 控制台或控制台管理的产品的基础 AWS Data Exchange API。

要创建、查看、更新或删除数据集,您可以使用 AWS Data Exchange 控制台、 AWS Command Line Interface (AWS CLI)、自己的REST客户端或其中一个 AWS SDKs。有关以编程方式管理 AWS Data Exchange 数据集的更多信息,请参阅参AWS Data Exchange API考

资产

资产是其中的数据 AWS Data Exchange。

资产类型定义了如何通过包含数据的数据集、数据授权或产品将该数据交付给接收方或订阅用户。

资产可以是以下任一种:

  • 本地计算机上存储的文件

  • 作为对象存储在 Amazon Simple Storage Service (Amazon S3) 中的文件

  • 在亚马逊API网关中RESTAPI创建

  • Amazon Redshift 数据集

  • AWS Lake Formation 数据权限(预览)

  • Amazon S3 数据访问数据集

资产结构

资产具有以下参数:

  • DataSetId – 包含此资产的数据集的 ID。

  • RevisionId – 包含此资产的修订的 ID。

  • Id – 创建资产时生成的唯一 ID。

  • Arn— AWS 资源名称的唯一标识符。

  • CreatedAtUpdatedAt – 资产创建和最近更新的日期和时间戳。

  • AssetDetails – 有关该资产的信息。

  • AssetType— 要么是亚马逊 S3 对象、亚马逊API网关API、亚马逊 Redshift 数据集的快照,要么是亚马逊 S3 数据集的快照。

例 资产资源
{ "Name": "automation/cloudformation.yaml", "Arn": "arn:aws:dataexchange:us-east-1::data-sets/29EXAMPLE24b82c6858af3cEXAMPLEcf/revisions/bbEXAMPLE74c02f4745c660EXAMPLE20/assets/baEXAMPLE660c9fe7267966EXAMPLEf5", "Id": "baEXAMPLE660c9fe7267966EXAMPLEf5", "CreatedAt": "2019-10-17T21:31:29.833Z", "UpdatedAt": "2019-10-17T21:31:29.833Z", "AssetType": "S3_SNAPSHOT", "RevisionId": "bbEXAMPLE74c02f4745c660EXAMPLE20", "DataSetId": "29EXAMPLE24b82c6858af3cEXAMPLEcf", "AssetDetails": { "S3SnapshotAsset": { "Size": 9423 } } }

资产类型

文件数据集

通过文件,订阅者可以访问作为授权数据集的数据集副本并导出相应资产。

数据集所有者可以使用 AWS Data Exchange 控制台、通过自己的REST应用程序或其中一个以编程方式导入和导出文件。 AWS CLI AWS SDKs有关导入 Amazon S3 资产的更多信息,请参阅从 S3 存储桶导入资产。有关导出资产的更多信息,请参阅将资产导出到 S3 存储桶

API资产

对于API资产,数据接收者或订阅者可以查看API和下载API规范作为授权数据集。您还可以API调用 AWS Data Exchange由托管的端点,然后将这些端点代理到API所有者端点。

拥有现有 Amazon API Gateway API 的数据集所有者可以使用 AWS Data Exchange 控制台、以编程方式通过或其中一个添加API资产。 AWS CLI AWS SDKs有关导入API资源的更多信息,请参阅从 Amazon API Gateway API 导入资产

注意

目前,以下各项不支持该SendApiAsset操作SDKs:

  • AWS SDK for .NET

  • AWS SDK for C++

  • SDK适用于 Java 2.x

没有现有 Amazon API Gateway 的数据集所有者API必须先创建一个,然后才能向其产品添加API资产。有关更多信息,请参阅 Amazon APIGatewa REST API y 开发者指南中的在API网关中开发。

Amazon Redshift 数据共享资产

通过 Amazon Redshift 数据共享资产,接收者可以以只读方式查询 Amazon Redshift 中的数据,而无需提取、转换和加载数据。

有关导入 Amazon Redshift 数据共享资产的更多信息,请参阅从 AWS Data Exchange 数据共享中为亚马逊 Redshift 导入资产

AWS Lake Formation 数据权限(预览)

使用 AWS Lake Formation 数据权限资产,收件人或订阅者可以访问和查询与指定标签关联的所有数据库、表或列。

数据集所有者必须先创建和标记其数据,然后才能将标签作为 AWS Data Exchange 资产的一部分进行导入。有关导入 Lake Formation 数据权限资产的更多信息,请参阅从 AWS Lake Formation (预览)导入资源

Amazon S3 数据访问

借助 Amazon S3 数据访问资产,接收者或订阅者无需创建或管理数据副本即可直接访问和使用提供商的数据。数据集所有者可以基于其现有的 Amazon S3 存储桶设置 AWS Data Exchange for Amazon S3,以共享对整个 S3 存储桶或特定前缀和 Amazon S3 对象的直接访问权限。

修订

修订是一个或多个资产的容器

您可以使用修订更新 Amazon S3 中的数据。例如,您可以将一组 .csv 文件或单个 .csv 文件与一个字典组合在一起,以创建修订。当有新数据可用时,您可以创建修订并添加资产。使用 AWS Data Exchange 控制台创建并定版修订后,该修订将立即可供订阅者使用。有关更多信息,请参阅 发布新产品

记住以下内容:

  • 修订中必须包含至少一个资产才能定版。

  • 在定版修订之前,您有责任确保资产正确无误。

  • 定版修订在发布到至少一个数据授权或产品后,不能以任何方式取消定版或更改。(通过撤销修订流程除外)

  • 修订定版后,会自动发布到您的数据授权或产品中。

修订结构

修订具有以下参数:

  • DataSetId – 包含此修订的数据集的 ID。

  • Comment – 有关修订的注释。此字段最多可包含 128 个字符。

  • Finalized – 要么为 true,要么为 false。用于指示修订是否已定版。

  • Id – 创建修订时生成的唯一标识符。

  • Arn— AWS 资源名称的唯一标识符。

  • CreatedAt – 创建修订的日期和时间戳。授权修订是在发布时创建的。

  • UpdatedAt – 修订最近更新的日期和时间戳。

  • Revoked – 一种状态,表示订阅者对修订的访问权限已被撤销。

  • RevokedAt – 表示撤销订阅者对修订的访问权限的日期和时间戳。

  • RevocationComment – 必填注释,以告知订阅者他们对修订的访问权限被撤销的原因。最小字符长度是 10 个字符。该字段的长度介于 10 至 512 个字符之间。

  • SourceID – 与正在查看的授权修订对应的所拥有修订的修订 ID。当修订所有者查看其拥有的修订的授权副本时,将返回此参数。

例 修订资源
{ "UpdatedAt": "2019-10-11T14:13:31.749Z", "DataSetId": "1EXAMPLE404460dc9b005a0d9EXAMPLE2f", "Comment": "initial data revision", "Finalized": true, "Id": "e5EXAMPLE224f879066f9999EXAMPLE42", "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/1EXAMPLE404460dc9b005a0d9EXAMPLE2f/revisions/e5EXAMPLE224f879066f9999EXAMPLE42", "CreatedAt": "2019-10-11T14:11:58.064Z" }

数据集

中的数据集 AWS Data Exchange 是可以随时间变化的数据集合。

当接收者或订阅者访问文件数据集时,他们访问的是该数据集的特定修订。这种结构使提供商能够更改数据集中的可用数据,而不必担心会更改历史数据。

当收件人或订阅者访问API数据集时,他们访问的是包含API资产的数据集,这使订阅者能够API调用 AWS Data Exchange由托管的端点,然后将其代理到提供商端点。

当接收者或订阅者访问 Amazon Redshift 数据集时,他们访问的是适用于 Amazon Redshift 的 AWS Data Exchange 数据共享。此数据共享为订阅者提供了对数据所有者添加到数据共享中的架构、表、视图和用户定义的函数的只读访问权限。

当收件人或订阅者访问 AWS Lake Formation 数据权限数据集时,他们访问的是用数据集所有者指定的 LF 标签标记的数据库、表和/或列。

当接收者或订阅者访问 Amazon S3 数据访问数据集时,他们将获得对托管在提供商 Amazon S3 存储桶中的共享 Amazon S3 对象的只读访问权限。接收者或订阅者可以直接将这些数据与其他 AWS 服务一起使用。

要创建、查看、更新或删除数据集,提供者可以使用 AWS Data Exchange 控制台 AWS CLI、、您自己的REST客户端或其中一个 AWS SDKs。有关以编程方式管理 AWS Data Exchange 数据集的更多信息,请参阅参AWS Data Exchange API考

拥有的数据集

存储桶归创建它的账户所有。使用设置为 OWNEDorigin 参数可识别拥有的数据集。

授权数据集

已授权数据集是发件人拥有的数据集的只读视图。已授权数据集是在创建数据授权或产品发布时创建的,可供具有活跃数据授权或该产品活跃订阅的接收者或订阅者使用。使用设置为 ENTITLEDorigin 参数可识别授权数据集。

作为接收者,您可以在 AWS Data Exchange 控制台中使用 AWS Data Exchange API或查看已授权的数据集并与之交互。

作为数据集所有者,您还可以访问接收者或订阅者看到的已授权数据集视图。您可以使用或通过在 AWS Data Exchange 控制台的数据授权或产品页面中选择数据集名称来完成此操作。 AWS Data Exchange API

数据集类型

中支持以下数据集类型 AWS Data Exchange:

文件数据集

文件数据集是包含 Amazon S3 允许的平面文件的数据集。

作为接收者或订阅者,您可以将数据导出到本地(下载到您的计算机),也可以导出到您的 Amazon S3 存储桶。

作为数据集所有者,您可以从 Amazon S3 存储桶中导入任何类型的平面文件,并将其添加到数据集。

API数据集

API数据集是包含API资产的数据集。API资产使收件人或订阅者能够API调用 AWS Data Exchange托管的端点,然后将这些端点代理到数据集所有者端点。

作为数据集所有者,您可以API在 Amazon API Gateway 中创建一个,然后将其添加到数据集中,以便在创建或订阅数据授权API时向您授予访问权限。

Amazon Redshift 数据集

亚马逊 Redshift 数据集包括亚马逊 Reds AWS Data Exchange hift 的数据共享。订阅包含数据共享的数据集时,您将被添加为该数据共享的使用者。这使您能够获得对数据集所有者添加到数据共享中的架构、表、视图和用户定义的函数的只读访问权限。

作为数据集所有者,您可以通过 Amazon Redshift 中的数据共享创建数据库,然后无需提取、转换和加载文件即可查询实时数据。激活您的数据授权或订阅后,您将自动获得该数据共享的访问权限,并且在其中任何一项到期后将失去相关访问权限。

作为数据集所有者,您可以在 Amazon Redshift 中创建一个数据共享,并将其添加到数据集,以便在数据授权创建或订阅后获得对您的数据共享的访问许可。

Amazon S3 数据访问数据集

通过 Amazon S3 数据访问功能,数据接收者或订阅者可以直接从数据集所有者的 Amazon S3 存储桶访问第三方数据文件。 AWS Data Exchange

当您订阅 AWS Data Exchange 适用于 Amazon S3 的数据访问产品时, AWS Data Exchange 会自动执行以下操作:

  • 预置 Amazon S3 接入点。Amazon S3 接入点是 Amazon S3 的一项特征,可简化对 Amazon S3 存储桶的数据共享。

  • 更新 S3 接入点资源策略,以授予您只读访问权限。

借助 AWS Data Exchange 适用于 Amazon S3,数据集所有者可以共享对整个 Amazon S3 存储桶或特定前缀和 Amazon S3 对象的直接访问权限。此外,还 AWS Data Exchange 可用于自动管理数据授权、订阅、授权、账单和付款。

AWS Lake Formation 数据集(预览)

AWS Lake Formation 数据集是包含数据权限资产 AWS Lake Formation 的数据集。

作为数据接收者或订阅者,您可以在 AWS Lake Formation中管理提供给您的数据。在中创建资源链接后 AWS Lake Formation,您可以使用 Amazon Athena 等分析服务查询数据。

作为数据集所有者,您可以在中使用 LF-Tags 标记数据, AWS Lake Formation 并在创建数据集时将这些标签作为资产导入。

AWS 区域 和数据集

您的数据集可以是任何受支持的数据集 AWS 区域,但是单个数据授权或产品中的所有数据集都必须相同 AWS 区域。

数据集结构

数据集具有以下参数:

  • Name – 数据集的名称。此值最多可包含 256 个字符。

  • Description – 数据集的描述。此值最多可包含 16348 个字符。

  • AssetType – 定义数据集包含的资产类型。

  • Origin – 一个属性,用于将数据集定义为是由账户 Owned(对于提供商)还是对账户 Entitled(对于订阅者)。

  • Id – 用于唯一标识数据集的 ID。数据集IDs是在创建数据集时生成的。授权数据集与原始拥有的数据集具有不同的 ID。

  • Arn— AWS 资源名称的唯一标识符。

  • CreatedAtUpdatedAt – 数据集创建和最近更新的日期和时间戳。

注意

作为数据集所有者,您可以更改拥有的数据集的某些属性,例如名称描述。更新拥有的数据集中的属性不会更新相应授权数据集中的属性。

例 数据集资源
{ "Origin": "OWNED", "AssetType": "S3_SNAPSHOT", "Name": "MyDataSetName", "CreatedAt": "2019-09-09T19:31:49.704Z", "UpdatedAt": "2019-09-09T19:31:49.704Z", "Id": "fEXAMPLE1fd9a5c8b0d2e6fEXAMPLEe1", "Arn": "arn:aws:dataexchange:us-east-2:123456789109:data-sets/fEXAMPLE1fd9a5c8b0d2e6fEXAMPLEe1", "Description": "This is my data set's description that describes the contents of the data set." }

数据集最佳实践

作为数据集所有者,在创建和更新数据集时,请记住以下最佳实践:

  • 数据集的名称可在目录中的数据授权或产品详细信息中找到。我们建议您选择一个简洁的描述性名称,以便客户轻松了解该数据集的内容。

  • 该描述对拥有活跃数据授权或该产品活跃订阅的接收者或订阅者可见。我们建议您包含覆盖范围信息以及该数据集的特征和优点。

标签

您可以为自己拥有的数据集及其修订添加标签。使用标记时,还可以在 AWS Identity and Access Management (IAM) 策略中使用基于标签的访问控制来控制对这些数据集和修订版的访问权限。

无法对授权数据集进行标记。拥有的数据集及其修订的标签不会传播到其相应的授权版本中。具体而言,对已授权数据集和修订具有只读访问权限的接收者或订阅者将看不到原始拥有的数据集的标签。

注意

目前,资产和作业不支持标记功能。