{{ DESCRIPTION }}
项目描述
# AWS扩展对datapackage-pipelines
[](https://travis-ci.org/frictionlessdata/datapackage-pipelines-aws)
## 安装
```
# 克隆仓库并使用pip安装
git clone https://github.com/frictionlessdata/datapackage-pipelines-aws.git
pip install -e .
```
## 使用
您可以将datapackage-pipelines-aws用作[dpp](https://github.com/frictionlessdata/datapackage-pipelines#datapackage-pipelines)的插件。在pipeline-spec.yaml中,它看起来像这样
```yaml
...
- run: aws.dump.to_s3
```
您需要设置AWS凭据。请参阅[设置凭据的指南](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html)
### dump.to_s3
将数据包保存到AWS S3。
_参数_:
* `bucket` - 存储数据包的桶的名称(应已创建!)
* `acl` - 提供上传文件的ACL。默认为'public-read'(有关更多信息,请参阅[boto3文档](http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.put_object))。
* `path` - 数据包的路径(键/前缀)。可能包含适用于`datapackage.json`的格式字符串。例如:`my/example/path/{owner}/{name}/{version}`
* `content_type` - 在S3中存储文件时使用的内容类型。默认为text/plain(S3的常规默认值为binary/octet-stream,但我们更喜欢text/plain)。
* `endpoint_url` - 允许使用与S3兼容的服务(例如 'https://ams3.digitaloceanspaces.com')的API端点
_示例:_
```yaml
datahub
title: datahub-to-s3
pipeline
-
run: load_metadata
parameters
url: http://example.com/my-datapackage/datapackage.json
-
run: load_resource
parameters
url: http://example.com/my-datapackage/datapackage.json
resource: my-resource
-
run: aws.dump.to_s3
parameters
bucket: my.bucket.name
path: path/{owner}/{name}/{version}
-
run: aws.dump.to_s3
parameters
bucket: my.another.bucket
path: another/path/{version}
acl: private
```
执行上述管道将把DataPackage保存到S3上的以下目录
* my.bucket.name/path/my-name/py-package-name/latest/...
* my.bucket.name/another/path/latest/...
### change_acl
更改给定路径(键/前缀)的Bucket中对象的ACL。
_参数_:
* `bucket` - 存储对象的Bucket名称
* `acl` - 可用选项:`'private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exec-read'|'bucket-owner-read'|'bucket-owner-full-control'`
* `path` - DataPackage的路径(键/前缀)。
_示例:_
```yaml
datahub
title: datahub-to-s3
pipeline
-
run: load_metadata
parameters
url: http://example.com/my-datapackage/datapackage.json
-
run: load_resource
parameters
url: http://example.com/my-datapackage/datapackage.json
resource: my-resource
-
run: aws.dump.to_s3
parameters
bucket: my.bucket.name
path: path/{owner}/{name}/{version}
-
run: aws.change_acl
parameters
bucket: my.another.bucket
path: path/
acl: private
```
执行上述管道将把DataPackage保存在S3上并将ACL更改为private,适用于所有以`path`为前缀的键
**注意:** 如果未设置路径参数,这将更改给定Bucket中所有对象的ACL
[](https://travis-ci.org/frictionlessdata/datapackage-pipelines-aws)
## 安装
```
# 克隆仓库并使用pip安装
git clone https://github.com/frictionlessdata/datapackage-pipelines-aws.git
pip install -e .
```
## 使用
您可以将datapackage-pipelines-aws用作[dpp](https://github.com/frictionlessdata/datapackage-pipelines#datapackage-pipelines)的插件。在pipeline-spec.yaml中,它看起来像这样
```yaml
...
- run: aws.dump.to_s3
```
您需要设置AWS凭据。请参阅[设置凭据的指南](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html)
### dump.to_s3
将数据包保存到AWS S3。
_参数_:
* `bucket` - 存储数据包的桶的名称(应已创建!)
* `acl` - 提供上传文件的ACL。默认为'public-read'(有关更多信息,请参阅[boto3文档](http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.put_object))。
* `path` - 数据包的路径(键/前缀)。可能包含适用于`datapackage.json`的格式字符串。例如:`my/example/path/{owner}/{name}/{version}`
* `content_type` - 在S3中存储文件时使用的内容类型。默认为text/plain(S3的常规默认值为binary/octet-stream,但我们更喜欢text/plain)。
* `endpoint_url` - 允许使用与S3兼容的服务(例如 'https://ams3.digitaloceanspaces.com')的API端点
_示例:_
```yaml
datahub
title: datahub-to-s3
pipeline
-
run: load_metadata
parameters
url: http://example.com/my-datapackage/datapackage.json
-
run: load_resource
parameters
url: http://example.com/my-datapackage/datapackage.json
resource: my-resource
-
run: aws.dump.to_s3
parameters
bucket: my.bucket.name
path: path/{owner}/{name}/{version}
-
run: aws.dump.to_s3
parameters
bucket: my.another.bucket
path: another/path/{version}
acl: private
```
执行上述管道将把DataPackage保存到S3上的以下目录
* my.bucket.name/path/my-name/py-package-name/latest/...
* my.bucket.name/another/path/latest/...
### change_acl
更改给定路径(键/前缀)的Bucket中对象的ACL。
_参数_:
* `bucket` - 存储对象的Bucket名称
* `acl` - 可用选项:`'private'|'public-read'|'public-read-write'|'authenticated-read'|'aws-exec-read'|'bucket-owner-read'|'bucket-owner-full-control'`
* `path` - DataPackage的路径(键/前缀)。
_示例:_
```yaml
datahub
title: datahub-to-s3
pipeline
-
run: load_metadata
parameters
url: http://example.com/my-datapackage/datapackage.json
-
run: load_resource
parameters
url: http://example.com/my-datapackage/datapackage.json
resource: my-resource
-
run: aws.dump.to_s3
parameters
bucket: my.bucket.name
path: path/{owner}/{name}/{version}
-
run: aws.change_acl
parameters
bucket: my.another.bucket
path: path/
acl: private
```
执行上述管道将把DataPackage保存在S3上并将ACL更改为private,适用于所有以`path`为前缀的键
**注意:** 如果未设置路径参数,这将更改给定Bucket中所有对象的ACL