

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

# 中的职位 AWS Data Exchange
<a name="jobs"></a>

AWS Data Exchange 作业是异步导入或导出操作。

作为中数据产品的提供商 AWS Data Exchange，您可以创建和管理要发布到产品的数据集。您可以将资产或修订下载（导出）或复制到 Amazon Simple Storage Service(Amazon S3) 或签名 URL。此外，提供商可以从 Amazon API Gateway API 导入资产，也可以从 Amazon Redshift 数据集导入资产。

作为订阅者，您可以查看和访问您通过订阅享有权限的数据集。您可以使用 API 操作将授权的数据集下载（导出）或复制到 Amazon S3，以用于各种 AWS 分析和机器学习服务。

要创建或复制资源或通过作业复制修订，可以使用 AWS 管理控制台、 AWS Command Line Interface (AWS CLI)、自己的 REST 应用程序或其中一个 AWS SDKs。

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

**Topics**
+ [作业属性](#job-properties)
+ [AWS 区域 和工作](#jobs-regions)
+ [将资源导入到 AWS Data Exchange](importing-assets.md)
+ [从中导出资产 AWS Data Exchange](exporting-assets.md)
+ [从中导出修订 AWS Data Exchange](exporting-revisions.md)

## 作业属性
<a name="job-properties"></a>

作业具有以下属性：
+ **作业 ID** – 创建作业时生成的 ID，用于唯一标识该作业。
+ **作业类型** – 支持以下作业类型：
  + 从 Amazon S3 导入
  + 导入 AWS Lake Formation 数据权限（预览版）
  + 从签名 URL 导入
  + 从 Amazon API Gateway API 导入
  + 从 Amazon Red AWS Data Exchange shift 的数据共享中导入
  + 导入 Amazon S3 数据访问权限
  + 导出到 Amazon S3
  + 导出到签名 URL
+ **Amazon 资源名称 (ARN)**-资源的唯一标识符。 AWS 
+ **作业状态** – 作业状态为 `WAITING`、`IN_PROGRESS`、`COMPLETED`、`CANCELLED`、`ERROR` 或 `TIMED_OUT`。创建作业后，在启动之前，该作业会一直处于 `WAITING` 状态。
+ **作业详细信息** – 作业要执行的操作的详细信息，例如导出目标详细信息或导入来源详细信息。

**Example 作业资源**  

```
{
    "Arn": "arn:aws:dataexchange:us-east-1:123456789012:jobs/6cEXAMPLE818f7c7a23b3d0EXAMPLE1c",
    "Id": "6cEXAMPLE818f7c7a23b3d0EXAMPLE1c",
    "State": "COMPLETED",
    "Type": "IMPORT_ASSETS_FROM_S3",
    "CreatedAt": "2019-10-11T14:12:24.640Z",
    "UpdatedAt": "2019-10-11T14:13:00.804Z",
    "Details": {
        "ImportAssetsFromS3": {
            "AssetSources": [
                {
                    "Bucket": "amzn-s3-demo-bucket",
                    "Key": "MyKey"
                }
            ],
            "DataSetId": "14EXAMPLE4460dc9b005a0dEXAMPLE2f",
            "RevisionId": "e5EXAMPLE224f879066f999EXAMPLE42"
        }
    }
}
```

## AWS 区域 和工作
<a name="jobs-regions"></a>

如果您在 Amazon S3 存储桶中导入或导出与数据集所在区域不同 AWS 区域 的 Amazon S3 存储桶，则根据 Amazon S3 数据传输定价政策，您需要支付数据传输费用。 AWS 账户 

如果您将资产导出到签名 URL， AWS 账户 则根据亚马逊 S3 的[定价政策，您需要支付从 Amazon S](https://aws.amazon.com/s3/pricing/) 3 到互联网的数据传输费用。

当您对 fo AWS Data Exchange r Files 数据集的订阅结束后，您仍可以访问已导出的任何文件。查看您的数据订阅协议，以验证该协议是否要求您在结束订阅时删除导出的数据。

# 将资源导入到 AWS Data Exchange
<a name="importing-assets"></a>

您可以创建一个 AWS Data Exchange 任务来导入要发布到产品的数据集。以下各节介绍如何从不同位置导入这些资源。

**Topics**
+ [从 S3 存储桶中](importing-from-s3.md)
+ [来自签名网址](importing-from-url.md)
+ [来自亚马逊 API Gateway API](import-API-asset.md)
+ [来自亚马逊 Redshift 的数据共享](import-RS-asset.md)
+ [来自 AWS Lake Formation （预览）](import-LF-asset.md)

# 从 S3 存储桶导入 AWS Data Exchange 资产
<a name="importing-from-s3"></a>

将资产从 Amazon S3 导入到时 AWS Data Exchange，您使用的 AWS Identity and Access Management (IAM) 权限必须包括写入 AWS Data Exchange 服务 S3 存储桶和从存储资产的 S3 存储桶中读取数据的功能。无论所有权如何，您都可以从您有权访问的任何 S3 存储桶中导入。有关更多信息，请参阅 [Amazon S3 权限](access-control.md#additional-s3-permissions)。

在单个作业中，您最多可以导入 100 个资产。

**Topics**
+ [从 S3 存储桶导入资产 (AWS SDKs)](#import-assets-s3-prog)
+ [从 S3 存储桶导入资产（控制台）](#import-assets-via-console)

## 从 S3 存储桶导入资产 (AWS SDKs)
<a name="import-assets-s3-prog"></a>

**从 Amazon S3 存储桶导入资产 (AWS SDKs)**

1. 创建类型为 `IMPORT_ASSETS_FROM_S3` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetSources`
     + `Bucket`
     + `Key`
   + `DataSetID`
   + `RevisionID`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）在创建资产后，更新其名称属性。

## 从 S3 存储桶导入资产（控制台）
<a name="import-assets-via-console"></a>

**要从 S3 存储桶导入资产（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要更新的修订的数据集。

1. 在**修订**选项卡中，选择**创建修订**，以打开**创建修订**页面。

   1. 对于**修订设置**，为您的修订提供介绍修订目的的可选注释。

   1. 对于**添加标签 - 可选**，添加与该资源关联的标签。

   1. 选择**创建**。

      您的新修订即会创建。

1. 对于**作业**部分，选择**从 Amazon S3 导入**。

1. 按照**从 Amazon S3 导入**窗口中的提示进行操作，然后选择**导入资产**。

   此时，将您的资产导入数据集的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从签名 URL 导入 AWS Data Exchange资产
<a name="importing-from-url"></a>

您可以使用已签名导 URLs 入未存储在 Amazon S3 中的资产。

**Topics**
+ [从签名 URL 导入资产 (AWS SDKs)](#import-asset-signed-url-prog)
+ [从签名 URL 导入资产（控制台）](#import-asset-signed-url-via-console)

## 从签名 URL 导入资产 (AWS SDKs)
<a name="import-asset-signed-url-prog"></a>

**从签名 URL 导入资产 (AWS SDKs)**

1. 创建类型为 `IMPORT_ASSET_FROM_SIGNED_URL` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetName`
   + `DataSetID`
   + `Md5Hash`
   + `RevisionID`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）在创建资产后，更新其名称属性。

1. 响应详细信息包括可用于导入文件的 `SignedUrl`。

**注意**  
签名 URL 将在创建一分钟后过期。

## 从签名 URL 导入资产（控制台）
<a name="import-asset-signed-url-via-console"></a>

**要从签名 URL 导入资产（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要更新的资产的数据集。

1. 在**修订**选项卡中，选择**创建修订**，以打开**创建修订**页面。

   1. 对于**修订设置**，为您的修订提供介绍修订目的的可选注释。

   1. 对于**添加标签 - 可选**，添加与该资源关联的标签。

   1. 选择**创建**。

      您的新修订即会创建。

1. 对于**作业**部分，选择**上传**。

1. 按照上传窗口中的提示进行操作，然后选择**打开**。

   此时，将您的资产导入数据集的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从 Amazon API Gateway API 导入 AWS Data Exchange 资产
<a name="import-API-asset"></a>

AWS Data Exchange 订阅者可以使用他们的 IAM 凭证 AWS SDKs ，也可以 APIs 从数据提供商处拨打电话。 AWS Data Exchange APIs 通过处理身份验证和订阅权利来管理对的访问权限。

## 从 Amazon API Gateway API 导入 API 资产 API (AWS SDKs)
<a name="import-api-asset-prog"></a>

**注意**  
目前，以下各项不支持该`SendApiAsset`操作 SDKs：  
适用于 .NET 的 SDK
适用于 C\$1\$1 的 AWS SDK
AWS SDK for Java 2.x

**从 Amazon API Gateway API 导入资产 (AWS SDKs)**

1. 创建类型为 `IMPORT_ASSET_FROM_API_GATEWAY_API` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `ApiID`
   + `DataSetID`
   + `ProtocolType`
   + `RevisionID`
   + `Stage`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）轮询 `GetJob` 操作，以等待作业完成。

1. （可选）在创建资产后，更新其名称属性。

## 从 Amazon API Gateway API 导入 API 资产（控制台）
<a name="import-api-asset-console"></a>

**要从 Amazon API Gateway API 导入资产（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要更新的资产的数据集。

1. 在**修订**选项卡中，选择**创建修订**，以打开**创建修订**页面。

   1. 对于**修订设置**，为您的修订提供介绍修订目的的可选注释。

   1. 对于**添加标签 - 可选**，添加与该资源关联的标签。

   1. 选择**创建**。

      您的新修订即会创建。

1. 对于 **API 资产**部分，选择**添加 API 阶段**。

1. 在**添加 API 阶段**页面上，选择 **Amazon API Gateway API** 以及您 AWS 账户 或其他账户中的**阶段名称**。

1. 对于**面向订阅者的文档 API**：

   1. 将 **API 名称**更新为一个清晰简洁的名称，以便订阅者理解。

   1. 可通过以下方式记录 OpenAPI 3.0 规范：在字段中输入规范；通过选择**从 .JSON 文件导入**来导入规范；或者通过选择**从 Amazon API Gateway 导入**来导入规范。

1. 选择**添加 API 阶段**。

   此时，将您的 API 资产导入数据集的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从 AWS Data Exchange 数据共享中为亚马逊 Redshift 导入 AWS Data Exchange 资产
<a name="import-RS-asset"></a>

当您使用适用于 Amazon Red AWS Data Exchange shift 的数据共享导入资产时，您可以在订阅后开始查询、分析和操作第三方 Amazon Redshift 表。

## 从 AWS Data Exchange 数据共享中为亚马逊 Redshift 导入资产 ()AWS SDKs
<a name="import-RS-asset-prog"></a>

**从 Amazon Red AWS Data Exchange shift 的数据共享中导入资产 ()AWS SDKs**

1. 创建类型为 `IMPORT_ASSETS_FROM_REDSHIFT_DATA_SHARES` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetSources`
     + `DataShareArn`
   + `DataSetID`
   + `RevisionID`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）轮询 `GetJob` 操作，以等待作业完成。

1. （可选）在创建资产后，更新其名称属性。

## 从 Amazon Red AWS Data Exchange shift 的数据共享中导入资产（控制台）
<a name="import-RS-asset-console"></a>

**要从 ADE 数据共享导入资产（适用于 Amazon Redshift 控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要更新的资产的数据集。

1. 在**修订**选项卡中，选择**创建修订**，以打开**创建修订**页面。

   1. 对于**修订设置**，为您的修订提供介绍修订目的的可选注释。

   1. 对于**添加标签 - 可选**，添加与该资源关联的标签。

   1. 选择**创建**。

      您的新修订即会创建。

1. 对于**适用于 Amazon Redshift 的AWS Data Exchange 数据共享**部分，选择**添加数据共享**。

1. 在 “**将 AWS Data Exchange 数据共享添加到修订版**” 页面上，选择要添加的一个或多个数据共享。

1. 选择**添加数据共享**。

   此时，将您的资产导入数据集的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从 AWS Lake Formation （预览）导入 AWS Data Exchange 资源
<a name="import-LF-asset"></a>

当您将资产从导入 AWS Lake Formation 到时 AWS Data Exchange，您使用的 IAM 权限必须包括以下功能：
+ 写入、授予和撤销 Lake Formation 权限
+ 为表、数据库和目录创建资源共享
+ 更新、删除、关联和取消关联以 **Lake Formation** 开头的任何资源共享

有关所需和建议 IAM 权限的更多信息，请参阅[中的身份和访问管理 AWS Data Exchange](auth-access.md)。

## 从 AWS Lake Formation （预览版）(AWS SDKs) 导入资产
<a name="import-lf-asset-sdk"></a>

**从 AWS Lake Formation （预览）(AWS SDKs) 导入资源**

1. 创建类型为 `Import_Assets_From_Lake_Formation_Tag_Policy` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetSources`
     + `CatalogId`
     + `Database`
       + `Expression`
         + `TagKey`
         + `TagValues`
       + `Permissions`
     + `Table`
       + `Expression`
         + `TagKey`
         + `TagValues`
       + `Permissions`
   + `RoleArn`
   + `DataSetId`
   + `RevisionId`

1. 使用需要 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）轮询 `GetJob` 操作，以等待作业完成。

1. （可选）在创建资产后，更新其名称属性。

## 从 AWS Lake Formation （预览）（控制台）导入资源
<a name="import-LF-asset-console"></a>

**从 AWS Lake Formation （预览）（控制台）导入资产**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要更新的修订的数据集。

1. 在**修订**选项卡中，选择**创建修订**，以打开**创建修订**页面。

   1. 对于**修订设置**，为您的修订提供介绍修订目的的可选注释。

   1. 对于**添加标签 - 可选**，添加与该资源关联的标签。

   1. 选择**创建**。

      您的新修订即会创建。

1. 对于 **Lake Formation 数据权限**部分，选择**添加 LF 标签**。

1. 选择您要添加的**键**和**值**，然后选择**添加 LF 标签**。

   1. （可选）选择**预览资源**，查看您正授予权限的关联数据目录资源。

1. 在**服务访问权限**中，选择要将 AWS Lake Formation 资源导入到的**角色** AWS Data Exchange。

1. 选择**创建 Lake Formation 数据权限**。

   此时，将您的资产导入数据集的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从中导出资产 AWS Data Exchange
<a name="exporting-assets"></a>

提供商和订阅者都可以从中已发布的产品版本中导出数据集 AWS Data Exchange。您可以将这些资产导出到 S3 存储桶或签名 URL。以下各节描述了如何执行此操作。

**Topics**
+ [到 S3 存储桶](exporting-from-s3.md)
+ [到签名网址](Exporting-from-url.md)

# 将 AWS Data Exchange 资产导出到 S3 存储桶
<a name="exporting-from-s3"></a>

将资产导出到 Amazon S3 时，您使用的 IAM 权限必须包括能够从 AWS Data Exchange 服务 S3 存储桶中读取和写入存储资产的 S3 存储桶。无论所有权如何，您都可以从您有权访问的任何 S3 存储桶中导出。有关更多信息，请参阅 [Amazon S3 权限](access-control.md#additional-s3-permissions)。

AWS Data Exchange 在将数据集导出到 Amazon S3 时，支持可配置的加密参数。在导出作业详细信息中，您可以指定要应用于已导出对象的 Amazon S3 服务器端加密配置。您可以选择对亚马逊 S3 托管密钥使用服务器端加密 (SSE-S3)，也可以选择使用 AWS KMS keys 存储在 (SSE-KMS) 中的 AWS Key Management Service 服务器端加密。有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用服务器端加密保护数据](https://docs.aws.amazon.com//AmazonS3/latest/dev/serv-side-encryption.html)。

**重要**  
我们建议您在将数据导出到 Amazon S3 时，考虑使用 Amazon S3 安全特征。有关一般指南和最佳实践的信息，请参阅《Amazon Simple Storage Service 用户指南》**中的 [Amazon S3 的安全最佳实践](https://docs.aws.amazon.com/AmazonS3/latest/dev/security-best-practices.html)。

**重要**  
如果提供商已将产品标记为包含受 1996 年《健康保险便携性和责任法案》(HIPAA) 约束的受保护健康信息 (PHI)，则 AWS 账户 除非将该产品的数据集指定 AWS 账户 为 HIPAA 账户（定义见中的 AWS 商业伙伴附录），否则您不得将其导出到您的数据集中。[AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/what-is-aws-artifact.html)

在单个作业中，您最多可以导出 100 个资产。

**Topics**
+ [将 AWS Data Exchange 资产导出到 S3 存储桶 (AWS SDKs)](export-assets-s3-prog.md)
+ [以订阅者的身份将 AWS Data Exchange 资产导出到 S3 存储桶（控制台）](export-asset-s3-console-sub.md)
+ [以提供者的身份将 AWS Data Exchange 资产导出到 S3 存储桶（控制台）](export-asset-s3-console-prov.md)

以下视频详细介绍了如何从 AWS Data Exchange中导出资产。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/VpIdwc3zLlo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/VpIdwc3zLlo)


# 将 AWS Data Exchange 资产导出到 S3 存储桶 (AWS SDKs)
<a name="export-assets-s3-prog"></a>

您可以按照以下说明使用 AWS SDKs 将 AWS Data Exchange 资产导出到 S3 存储桶。

**将资产导出到 S3 存储桶 (AWS SDKs)**

1. 创建类型为 `EXPORT_ASSETS_TO_S3` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetDestinations`
     + `AssetID`
     + `Bucket`
     + `Key`
   + `DataSetID`
   + `Encryption`
     + `KmsKeyArn`
     + `Type`
   + `RevisionID`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）在创建资产后，更新其名称属性。

**注意**  
有关将整个修订作为单个作业导出的信息，请参阅[从中导出修订 AWS Data Exchange](exporting-revisions.md)。

# 以订阅者的身份将 AWS Data Exchange 资产导出到 S3 存储桶（控制台）
<a name="export-asset-s3-console-sub"></a>

作为 AWS Data Exchange 数据产品的订阅者，您可以使用 AWS Data Exchange 控制台按照以下说明将 AWS Data Exchange 资产导出到 S3 存储桶。

**要以订阅者身份将资产导出到 S3 存储桶（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧导航窗格中，为**我的订阅**选择**授权数据**。

1. 在**授权数据**中，选择具有您要导出的修订的产品。

1. 在**授权数据集**中，选择该数据集。

1. 在**修订**选项卡上，选择该修订。

1. 在**资产**选项卡中，选中您要导出的资产旁边的复选框。

1. 选择**导出操作**，然后选择**将选定资产导出到 Amazon S3**。

1. 按照**导出到 Amazon S3** 窗口中的提示进行操作，然后选择**导出**。

   此时，导出您的资产的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 以提供者的身份将 AWS Data Exchange 资产导出到 S3 存储桶（控制台）
<a name="export-asset-s3-console-prov"></a>

作为 AWS Data Exchange 数据产品的提供商，您可以按照以下说明使用 AWS Data Exchange 控制台将 AWS Data Exchange 资产导出到 S3 存储桶。

**要以提供商身份将资产导出到 S3 存储桶（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择包含您要导出的资产的数据集。

1. 导航至**产品**选项卡，确保该数据集与已发布的产品相关联。

1. 从**修订**选项卡中，选择该修订。

1. 在**导入的资产**部分，选中该资产名称旁边的复选框。

1. 选择**导出操作**，然后选择**将选定资产导出到 Amazon S3**。

1. 按照**导出到 Amazon S3** 窗口中的提示进行操作，然后选择**导出**。

   此时，导出您的资产的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 将 AWS Data Exchange 资源导出到签名 URL
<a name="Exporting-from-url"></a>

您可以使用已签名导 URLs 出未存储在 Amazon S3 中的 AWS Data Exchange 资产。

**Topics**
+ [使用 AWS SDKs](export-asset-URL-prog.md)
+ [使用控制台（订阅服务器）](export-asset-url-sub.md)
+ [使用控制台（提供商）](export-asset-URL-console-pro.md)

# 将 AWS Data Exchange 资源导出到签名 URL (AWS SDKs)
<a name="export-asset-URL-prog"></a>

您可以使用将 AWS Data Exchange 资产导出 AWS SDKs 到 S3 存储桶以外的目的地。

**将资源导出到签名 URL (AWS SDKs)**

1. 创建类型为 `EXPORT_ASSET_TO_SIGNED_URL` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `AssetID`
   + `DataSetID`
   + `RevisionID`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. （可选）在创建资产后，更新其名称属性。

1. 响应详细信息包括可用于导入文件的 `SignedUrl`。

**注意**  
签名 URL 将在创建一分钟后过期。

# 以订阅者身份将资产导出到签名 URL（控制台）
<a name="export-asset-url-sub"></a>

作为 AWS Data Exchange 数据产品的订阅者，您可以使用 AWS Data Exchange 控制台按照以下说明将 AWS Data Exchange 资产导出到 S3 存储桶以外的目的地。

**要以订阅者身份将资产导出到签名 URL（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧导航窗格中，为**我的订阅**选择**授权数据**。

1. 在**授权数据**中，选择具有您要导出的修订的产品。

1. 在**授权数据集**中，选择该数据集。

1. 在**修订**选项卡上，选择该修订。

1. 在**资产**选项卡中，选中您要导出的资产旁边的复选框。

1. 选择**导出操作**，然后选择**下载选定资产**。

   此时，导出您的资产的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 以提供商身份将资产导出到签名 URL（控制台）
<a name="export-asset-URL-console-pro"></a>

作为 AWS Data Exchange 数据产品的提供商，您可以按照以下说明使用 AWS Data Exchange 控制台将 AWS Data Exchange 资产导出到 S3 存储桶以外的目的地。

**要以提供商身份将资产导出到签名 URL（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择具有您要导出的修订的产品。

1. 导航至**产品**选项卡，确保该数据集与已发布的产品相关联。

1. 在**修订**选项卡上，选择该修订。

1. 在**导入的资产**部分，选中该资产名称旁边的复选框。

1. 选择**导出操作**，然后选择**下载选定资产**。

   此时，导出您的资产的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 从中导出修订 AWS Data Exchange
<a name="exporting-revisions"></a>

提供商和订阅者都可以将数据集的修订导出到他们有权访问的 S3 存储桶。

AWS Data Exchange 在将修订版导出到 Amazon S3 时，支持可配置的加密参数。在导出作业详细信息中，您可以指定要应用于已导出对象的 Amazon S3 服务器端加密配置。您可以选择将服务器端加密与 Amazon S3 托管密钥 (SSE-S3) 结合使用，也可以将服务器端加密与存储在 AWS Key Management Service 中的 KMS 密钥 (SSE-KMS) 结合使用。有关更多信息，请参阅《Amazon Simple Storage Service 开发人员指南》中的[使用服务器端加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)**。

**重要**  
如果提供商已将产品标记为包含受 1996 年《健康保险便携性和责任法案》(HIPAA) 约束的受保护健康信息 (PHI)，则 AWS 账户 除非将该产品的数据集指定 AWS 账户 为 HIPAA 账户（定义见中的 AWS 商业伙伴附录），否则您不得将其导出到您的数据集中。[AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/what-is-aws-artifact.html)

**Topics**
+ [导出修订时的键模式](revision-export-keypatterns.md)
+ [使用 AWS SDKs](export-rev-s3-prog.md)
+ [使用控制台（订阅服务器）](export-rev-s3-console-sub.md)
+ [使用控制台（提供商）](export-rev-s3-console-pro.md)
+ [自动导出修订版本（订阅者）](auto-export-rev-s3-console-sub.md)

以下视频详细介绍了如何从 AWS Data Exchange 中导出资产（从 2:18 开始）。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/VpIdwc3zLlo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/VpIdwc3zLlo)


# 从中导出资源修订版时的关键模式 AWS Data Exchange
<a name="revision-export-keypatterns"></a>

当您从中导出资产修订版时 AWS Data Exchange，每项资产都将变成 S3 存储桶中的一个对象。对象的名称取决于您提供的键模式。您可以使用表示资产属性的动态引用，为导出期间自动生成的名称创建一个模式。请使用下表所示的动态引用。


| 动态引用 | 说明 | 
| --- | --- | 
| \$1\$1Asset.Id\$1 | 资产的 ID。 | 
| \$1\$1Asset.Name\$1 | 资产的名称。 | 
| \$1\$1DataSet.Id\$1 | 正在导出的数据集的 ID。 | 
| \$1\$1DataSet.Name\$1 | 正在导出的数据集的名称。 | 
| \$1\$1Revision.CreatedAt\$1 | 创建修订版本的 UTC 日期和时间，格式如下:: MM: YYYY-MM-DDTHH SSZ。例如：2021-10-08T16:33:19.787Z | 
| \$1\$1Revision.CreatedAt.Day\$1 | 修订的创建日期。 | 
| \$1\$1Revision.CreatedAt.Month\$1 | 修订的创建月份。 | 
| \$1\$1Revision.CreatedAt.Year\$1 | 修订的创建年份。 | 
| \$1\$1Revision.Id\$1 | 正在导出的修订的 ID。 | 

您可以使用这些动态引用，为您的资产名称创建键模式。必须至少包括以下两个 `Asset` 动态引用之一：`${Asset.Name}` 和 `${Asset.Id}`。

例如，使用 **\$1\$1Revision.Id\$1/\$1\$1Asset.Name\$1** 作为键模式会生成以修订 ID 和资产名称（用斜杠分隔）作为对象名称的 Amazon S3 对象。

如果您要导出 ID 为 `testRevisionId` 且存在名为 `asset1` 和 `asset2` 的两个资产的修订，则这些资产将导出到 Amazon S3 中的以下位置：
+ `<bucket>/testRevisionId/asset1`
+ `<bucket>/testRevisionId/asset2`

**注意**  
您生成的对象必须具有唯一的名称。如果它们与 S3 存储桶中的现有对象同名，则您的导出操作将覆盖现有对象。如果您要导出的修订的名称并非唯一（例如，两个资产拥有同一名称），则导出将失败。其中唯一的动态引用是 `${Asset.Id}`。

# 将 AWS Data Exchange 资产修订导出到 S3 存储桶 (AWS SDKs)
<a name="export-rev-s3-prog"></a>

您可以按照以下说明使用 AWS SDKs 将 AWS Data Exchange 资产修订导出到 S3 存储桶。

**将修订导出到 S3 存储桶 (AWS SDKs)**

1. 创建类型为 `EXPORT_REVISIONS_TO_S3` 的 `CreateJob` 请求。

1. 在该请求中包含以下内容：
   + `DataSetId`
   + `Encryption`
     + `KmsKeyArn`
     + `Type`
   + `RevisionDestinations`
     + `Bucket`
     + `KeyPattern`
     + `RevisionId`

1. 使用需要步骤 1 中返回的 `JobId` 的 `StartJob` 操作启动 `CreateJob` 请求。

1. 新创建的资产与原始 S3 对象的键具有相同的名称属性。Amazon S3 对象键默认为 `${Asset.Name}` 键模式。

   在创建资产后，您可以更新其名称属性。

   有关键模式的更多信息，请参阅[从中导出资源修订版时的关键模式 AWS Data Exchange](revision-export-keypatterns.md)。

**注意**  
如果您使用 `DataSet.Name` 作为动态引用，则必须拥有 `dataexchange:GetDataSet` IAM 权限。有关更多信息，请参阅 [AWS Data Exchange API 权限：操作和资源参考](api-permissions-ref.md)。

# 以订阅者的身份将 AWS Data Exchange 资产修订导出到 S3 存储桶（控制台）
<a name="export-rev-s3-console-sub"></a>

作为 AWS Data Exchange 数据产品的订阅者，您可以使用 AWS Data Exchange 控制台按照以下说明将 AWS Data Exchange 资产导出到 S3 存储桶。

**要以订阅者身份将修订导出到 S3 存储桶（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧导航窗格中，为**我的订阅**选择**授权数据**。

1. 在**授权数据**中，选择具有您要导出的修订的产品。

1. 在**授权数据集**中，选择该数据集。

1. 在**修订**选项卡上，选择该修订，然后选择**导出到 Amazon S3**。

1. 在**将修订导出到 Amazon S3** 中，选择一个目标选项，即 Amazon S3 存储桶文件夹目标位置，配置加密选项，然后选择**导出**。

   此时，导出您的修订的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 以提供者的身份将 AWS Data Exchange 资产修订导出到 S3 存储桶（控制台）
<a name="export-rev-s3-console-pro"></a>

作为 AWS Data Exchange 数据产品的提供商，您可以按照以下说明使用 AWS Data Exchange 控制台将 AWS Data Exchange 资产导出到 S3 存储桶。

**要以提供商身份将修订导出到 S3 存储桶（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧的导航窗格中，为**发布数据**选择**拥有的数据集**。

1. 在**拥有的数据集**中，选择具有您要导出的修订的产品。

1. 导航至**产品**选项卡，确保该数据集与已发布的产品相关联。

1. 在**修订**选项卡上，选择该修订。

1. 在**导入的资产**部分，选中该资产名称旁边的复选框。

1. 选择**导出操作**，然后选择**将选定资产导出到 Amazon S3**。

1. 按照**导出到 Amazon S3** 窗口中的提示进行操作，然后选择**导出**。

   此时，导出您的资产的作业已启动。作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

# 以订阅者的身份自动将 AWS Data Exchange 资产修订导出到 S3 存储桶
<a name="auto-export-rev-s3-console-sub"></a>

当提供商发布新修订时，您可以选择自动将新修订导出到您的 Amazon S3 存储桶。您最多可以将新修订导出到五个 S3 存储桶。新修订将自动出现在您选择的 S3 存储桶中。

**Topics**
+ [S3 存储桶策略权限的先决条件](#auto-export-rev-s3-bucket-policy-prereq)
+ [以订阅者身份自动将修订导出到 S3 存储桶（控制台）](#auto-export-rev-s3-console-sub-proc)
+ [以订阅者的身份自动将修订导出到 S3 存储桶 (AWS SDKs)](#auto-export-rev-s3-prog-sub)

**注意**  
要自动将修订版导出到您选择的 S3 存储桶，您的 S3 存储桶必须具有允许将数据导出 AWS Data Exchange 到其中的权限的存储桶策略。有关更多信息，请参阅 [S3 存储桶策略权限的先决条件](#auto-export-rev-s3-bucket-policy-prereq)。

## S3 存储桶策略权限的先决条件
<a name="auto-export-rev-s3-bucket-policy-prereq"></a>

在自动将修订版导出到 Amazon S3 存储桶之前，您必须禁用申请者付款，并且您的 Amazon S3 存储桶必须具有允许将数据导出 AWS Data Exchange 到其中的权限的存储桶策略。以下过程介绍了如何使用这些权限编辑现有的 S3 存储桶策略或创建 S3 存储桶策略。

如果您的 S3 存储桶配置为 SSE-KMS 加密，则配置自动导出作业的用户必须拥有对 KMS 密钥的 `CreateGrant` 权限，这样 AWS Data Exchange 才能将对象复制到您的 S3 存储桶中。

**重要**  
为了验证是否满足 S3 存储桶策略权限的先决条件，在自动导出过程中，具有 `_ADX-TEST-ACCOUNTID#` 命名格式的对象将被添加到该 S3 存储桶。

**Topics**
+ [编辑现有的 S3 存储桶策略](#bucket-policy-prereq-existing-s3-bucket-policy)
+ [创建 S3 存储桶策略](#bucket-policy-prereq-create-s3-bucket-policy)

### 编辑现有的 S3 存储桶策略
<a name="bucket-policy-prereq-existing-s3-bucket-policy"></a>

如果您的 S3 存储桶有存储桶策略，请完成以下过程，以允许 AWS Data Exchange 向其导出数据。

**要编辑现有的 S3 存储桶策略，请按以下步骤操作：**

1. 导航到您要导出修订的存储桶。

1. 选择**权限**选项卡，然后在存储桶策略部分中选择**编辑**。

1. 复制以下语句，并将其粘贴在语句列表末尾。

   ```
       {
         "Effect": "Allow",
         "Principal": {
         "Service": "dataexchange.amazonaws.com"
         },
         "Action": [
           "s3:PutObject",
           "s3:PutObjectAcl"
         ],
         "Resource": "arn:aws:s3:::<BUCKET-NAME>/*",
         "Condition": {
           "StringEquals": { 
             "aws:SourceAccount": "<AWS ID>"
           }
         }
       }
   ```

1. `<BUCKET-NAME>`替换为您的 S3 存储桶的名称，然后`<AWS ID>`替换为您的 AWS ID。

1. 选择**保存更改**。

1. 如果您想添加更多存储桶作为自动导出作业的目标位置，请从步骤 1 开始重复该过程。

### 创建 S3 存储桶策略
<a name="bucket-policy-prereq-create-s3-bucket-policy"></a>

如果您的 S3 存储桶没有存储桶策略，请完成以下过程以创建允许 AWS Data Exchange 向其导出数据的 S3 存储桶策略。

**要创建 S3 存储桶策略，请按以下步骤操作：**

1. 导航到您要导出修订的存储桶。

1. 选择**权限**选项卡，然后在存储桶策略部分中选择**编辑**。

1. 复制下方完整的存储桶策略，然后将其粘贴到存储桶策略编辑器中。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
         "Service": "dataexchange.amazonaws.com"
         },
         "Action": [
           "s3:PutObject",
           "s3:PutObjectAcl"
         ],
         "Resource": "arn:aws:s3:::<BUCKET-NAME>/*",
         "Condition": {
           "StringEquals": { 
             "aws:SourceAccount": "<AWS ID>"
           }
         }
       }
     ]
   }
   ```

------

1. `<BUCKET-NAME>`替换为您的 S3 存储桶的名称，然后`<AWS ID>`替换为您的 AWS ID。

1. 选择**保存更改**。

1. 如果您想添加更多存储桶作为自动导出作业的目标位置，请从步骤 1 开始重复该过程。

## 以订阅者身份自动将修订导出到 S3 存储桶（控制台）
<a name="auto-export-rev-s3-console-sub-proc"></a>

**注意**  
要自动将修订版导出到您选择的 S3 存储桶，您的 S3 存储桶必须具有允许将数据导出 AWS Data Exchange 到其中的权限的存储桶策略。有关更多信息，请参阅 [S3 存储桶策略权限的先决条件](#auto-export-rev-s3-bucket-policy-prereq)。

**要以订阅者身份自动将修订导出到 S3 存储桶（控制台），请按以下步骤操作：**

1. 打开您的 Web 浏览器，登录到 [AWS Data Exchange 控制台](https://console.aws.amazon.com/dataexchange)。

1. 在左侧导航窗格中，为**我的订阅**选择**授权数据**。

1. 在**授权数据**中，选择具有您要导出的修订的产品。

1. 在**授权数据集**中，选择该数据集。

1. 在**修订**选项卡的**自动导出作业目标**下，选择**操作**，然后选择**添加自动导出作业目标**。

1. 在**添加自动导出作业目标**中，选择**简单**或**高级**目标选项。

   1. 如果您选择**简单**选项，请从下拉列表和加密选项中选择 Amazon S3 存储桶文件夹目标，然后选择**添加存储桶目标**。

   1. 如果您选择**高级**选项，请从下拉列表中选择 Amazon S3 存储桶文件夹目标，选择[键命名模式](revision-export-keypatterns.md)并将其附加到路径中。

1. 查看**输出**。

1. 设置**加密选项**，查看 **Amazon S3 定价**，然后选择**添加存储桶目标**。

   Amazon S3 存储桶目标显示在**自动导出作业目标**下的**修订**选项卡上。

   此时，自动导出您的修订的作业已启动。

   为了验证是否满足 S3 存储桶策略权限的先决条件，具有 `_ADX-TEST-ACCOUNTID#` 命名格式的对象将被添加到该 S3 存储桶。

   作业完成后，**作业**部分的**状态**字段将更新为**已完成**。

   要添加其他目标，请选择**操作**，然后选择**添加自动导出作业目标**。

   要编辑目标，请选择您要编辑的目标，再选择**操作**，然后选择**编辑目标配置**。

   要删除目标，请选择**操作**，然后选择**删除自动导出作业目标**。

## 以订阅者的身份自动将修订导出到 S3 存储桶 (AWS SDKs)
<a name="auto-export-rev-s3-prog-sub"></a>

**注意**  
要自动将修订版导出到您选择的 S3 存储桶，您的 S3 存储桶必须具有允许将数据导出 AWS Data Exchange 到其中的权限的存储桶策略。有关更多信息，请参阅 [S3 存储桶策略权限的先决条件](#auto-export-rev-s3-bucket-policy-prereq)。

**自动将修订导出到 S3 存储桶 (AWS SDKs)**

1. 创建 `Create_Event_Action` 请求。

1. 在该请求中包含以下内容：
   + `Action`
     + `ExportRevisionToS3`
       + `Encryption`
         + `KmsKeyArn`
         + `Type`
     + `RevisionDestination`
       + `Bucket`
       + `KeyPattern`
   + `Event`
     + `RevisionPublished`
       + `DataSetId`
   + `Tags`

1. 如有必要，请修改键模式。Amazon S3 对象键默认为 `{Revision.CreatedAt}/{Asset.Name}` 键模式。

   有关键模式的更多信息，请参阅[从中导出资源修订版时的关键模式 AWS Data Exchange](revision-export-keypatterns.md)。

   为了验证是否满足 S3 存储桶策略权限的先决条件，具有 `_ADX-TEST-ACCOUNTID#` 命名格式的对象将被添加到该 S3 存储桶。