配置存储

更新
Cover image for: 配置存储

这些指令的某些部分可选择使用ricloud-py来简化设置。要使用它,请查看ricloud-py安装配置文档。

存储配置告诉API在哪里返回任务结果。目前,我们同时支持Google云端存储(GS)和Amazon S3(S3)存储分区。

使用Google云端存储设置存储空间

创建Google Cloud Platform项目

如果您没有Google云端平台(GCP)帐户,则需要注册 。只需点击“免费试用”(或“免费试用”)即可完成注册过程。

接下来,您将需要一个项目来存放您的存储桶。可能是在注册时自动创建的,或者您可能只是为了这个目的而想要一个新的独立项目。您可以在Google Cloud文档中找到有关如何管理项目的其他说明。

创建Google云存储分区

现在GCP项目已准备就绪,您可以继续创建新的存储桶 。我们建议至少使用“区域”存储类和“us-east1”位置(这是我们大多数资源所在的位置)。对于本指南,我们将命名我们ricloud-storagericloud-storage ,但您可能必须选择不同的名称,因为存储桶名称在其主机服务中是全局唯一的。

为API创建服务帐户

在存储桶初始化之后,您需要创建一个服务帐户以授予API访问权限。服务帐户本质上是项目的机器人用户,我们可以授予他们访问新存储桶的权限。继续并按照Google Cloud IAM文档中列出的步骤设置服务帐户。名称的选择取决于您,但在本指南中我们将其称为ricloud-sa 。在创建服务帐户时忽略所有可选字段,我们将在稍后的步骤中设置权限。

如果您选择在流程的最后一步创建密钥,请保持安全,因为这是我们稍后将提供给API的文件。否则,请按照以下步骤创建密钥。

设置存储桶级权限

返回GCP项目的“存储”部分,并按照Google云端存储文档中 “将成员添加到存储桶级策略”下的步骤大纲添加ricloud-sa服务帐户。为它提供“存储对象创建器”和“存储传统存储桶读取器”角色。

创建配置

此时,服务帐户应完全设置并准备好与API一起使用。

使用ricloud-py创建配置

使用ricloud-py ,您可以使用以下命令创建新的存储配置资源:

> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>

在我们的案例中, storage bucket url将是gs://ricloud-storagepath to credentials file路径只是我们之前创建的服务帐户密钥文件的路径。

使用cURL创建配置

curl -X POST \
  https://ricloud-api.reincubate.com/configs/storage \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "gs://ricloud-storage",
    "credentials": <all contents of the Service Account JSON key file>
}'

使用Amazon S3设置存储

创建Amazon AWS账户

如果您没有Amazon AWS账户,则需要注册 。单击“开始使用Amazon S3”以完成设置过程。

创建S3存储桶

按照AWS文档中的这些说明在S3中设置存储桶。选择您喜欢的任何名称,对于本指南,我们将选择ricloud-storage 。我们建议将其放在“美国东部(弗吉尼亚州北部)”中,以便接近API的资源。

为API创建用户

一旦存储桶准备好使用,您将需要设置一个对新存储桶具有有限权限的新用户,以供API使用。这是通过IAM控制台通过这些步骤完成的 。为用户提供一个令人难忘的名称,如ricloud-user ,并确保他们设置为“程序访问”。

我们需要创建一个自定义策略,因为当要求用户授予权限时,没有适合我们需求的默认策略。对于标准结果发布,API需要s3:PutObject权限。

在AWS策略编辑器中,选择“直接附加现有策略”,单击“创建策略”(这将打开一个新选项卡),然后选择“ JSON”选项卡(将切换到JSON策略编辑器)并将以下内容粘贴到:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "s3:PutObject"
        ],
        "Resource": ["arn:aws:s3:::ricloud-storage/*"]
    }]
}

确保将桶名称ricloud-storage替换为之前命名为存储桶的任何内容。通过保存新策略,将其命名为您想要的任何名称。

返回到用户创建流程并确保用户已将新策略附加到他们。

在用户创建过程结束时,界面将显示“访问密钥ID”和“秘密访问密钥”,您应该保证这些安全。您还可以下载CSV格式的凭据。

创建配置

此时,用户应完全设置并准备好与API一起使用。使用ricloud-py ,您可以使用以下命令创建新的存储配置资源:

> ricloud storage-config create --url "<storage bucket url>" --credentials-path <path to credentials file>

在这种情况下, storage bucket url将是s3://ricloud-storagepath to credentials file路径只是在用户创建过程结束时导出的凭证CSV文件的路径,或者是具有用户凭据信息的JSON文件。 S3凭证格式

等效的cURL调用看起来像:

curl -X POST \
  https://ricloud-api.reincubate.com/configs/storage \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "s3://ricloud-storage",
    "credentials": {
        "user_name": "ricloud-user",
        "access_key_id": "<user access key ID>",
        "secret_access_key": "<user secret access key>",
    }
}'

我们能帮你什么吗?

我们的支持团队在这里提供帮助!

我们的办公时间是格林威治标准时间周一至周五上午9点至下午5点。 时间目前是 9:03 AM的 GMT。

我们力争在一个工作日内答复所有垂询。

我们的支持团队非常棒

我们可以改进这篇文章吗?

我们喜欢听取用户的意见:为什么不给我们发电子邮件,发表评论或发推文 @reincubate?

© 2008 - 2024 Reincubate Ltd. 保留所有权利。 在英格兰和威尔士注册 #5189175, VAT GB151788978. Reincubate®和Camo®是注册商标。 隐私政策 & 条款.