ストレージ設定

更新しました

storage configリソースは、ポーリング結果に属するデータをAPIが格納できる場所を記述します。ストレージ設定で指定されたすべての場所は、 Google Cloud StorageまたはAmazon S3(AWS)のいずれかのクラウドストレージバケットである必要があります。

属性

タイプ説明
id ストレージ構成ID リソース識別子
resource 文字列、常にstorage_config リソースタイプ指定子
organisation 組織ID リソースが属する組織。
type ひも gss3これは、 urlから生成された読み取り専用の属性です。
url ひも結果が公開されるターゲットを表すURL。
credentials 辞書ストレージサービスに対して認証するためにAPIによって使用される資格情報を含む辞書。
state ひも 'new''valid''invalid''deactivated'です。
date_created 日付時刻リソースが作成されたとき

タイプ

gs
Google Cloud Storageのストレージ設定タイプ。サービスアカウントの認証情報が必要です。
s3
Amazon S3(AWS)ストレージ設定タイプ。 AWSユーザーの認証情報が必要です。

URL

url属性は次の形式に従います。

<type>://<bucket name>/<path within bucket>

たとえば、Google Cloud Storageに 'my-bucket'という名前のバケットがあり、このバケット内の 'results'という名前のフォルダにAPIを公開すると、 urlは次のようになります。

gs://my-bucket/results

資格情報

Google Cloud Storageの認証情報

APIは、 credentials属性が次の形式の辞書であることを期待しています。

{
    "type": "service_account",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "client_id": "<Google Cloud Platform client ID>",
    "token_uri": "https://oauth2.googleapis.com/token",
    "project_id": "<Google Cloud Platform project ID>",
    "private_key": "<Service Account private key>",
    "client_email": "<Service Account ID>.iam.gserviceaccount.com",
    "private_key_id": "<Service Account private key ID>",
    "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/<Service Account ID>.iam.gserviceaccount.com",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
}

これは、Google Cloud Platformコンソールからサービスアカウントキーを作成するときに出力されるJSONファイルと完全に一致します。

エクスポートされたJSONファイルの認証情報を使用してストレージ設定を簡単に設定するために、 ricloud-pyには簡単なcliコマンドが含まれています。

ricloud storage-config create --url "gs://<bucket name>" --credentials <path to JSON file>

Amazon S3の認証情報

APIは、 credentials属性が次の形式の辞書であることを期待していました。

{
    "user_name": "<aws user name>",
    "access_key_id": "<aws user access key ID>",
    "secret_access_key": "<aws user secret access key>",
}

これは、AWSコンソールに表示される詳細から手動で作成することも、 ricloud-pyのcliコマンドを使用してエクスポート可能なCSVファイルから作成することもできます。

ricloud storage-config create --url "s3://<bucket name>" --credentials <path to CSV file>

new
作成または最近更新されたばかりですが、まだテストされていません。
valid
検証に合格し、使用する準備が整いました。組織が使用可能になるには、この状態で少なくとも1つのストレージ構成が必要です。
invalid
検証テストに失敗しました。更新または再テストする必要があります。
deactivated
所有組織によって無効にされています。

POST /configs/storage作成します。

新しいストレージ設定が作成されると、APIはstorage_config.testタスクを作成してテストを試みます。このタスクは設定を使用して小さなテストペイロードを単純に公開します。これは後で安全に削除できます。操作が成功すると、設定の状態はvalid設定され、ポーリングで使用できるようになります。失敗した場合、設定の状態はinvalidに設定されinvalidが、これはテストアクションを使用して簡単に再テストできます。

組織内の最初の有効なストレージ構成が自動的に組織のデフォルトとして設定されます。

ストレージ構成の作成はurl属性で重複排除されることに注意してください。そのため、同じurlで異なるcredentials使用して2つのストレージ構成を作成することはできません。

パラメーター

タイプ説明
url 必須バケットのストレージ設定URL。
credentials 必須バケットのストレージ設定認証情報。

cURLを使う

ここで、認証情報ディクショナリの内容は、Googleクラウドサービスアカウントの設定中に生成されたJSON認証情報ファイルの内容をコピーしたものです。

curl https://ricloud-api.reincubate.com/configs/storage \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "gs://my-storage-bucket",
  "credentials": {
      "type": "service_account",
      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
      "client_id": "<Google Cloud Platform client ID>",
      "token_uri": "https://oauth2.googleapis.com/token",
      "project_id": "<Google Cloud Platform project ID>",
      "private_key": "<Service Account private key>",
      "client_email": "<Service Account ID>.iam.gserviceaccount.com",
      "private_key_id": "<Service Account private key ID>",
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/<Service Account ID>.iam.gserviceaccount.com",
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
  }
}'

ricloud-pyを使う

import json
import ricloud

with open("<path to JSON file>", 'r') as credentials_file:
    credentials = json.load(credentials_file)

storage_config = ricloud.StorageConfig.create(
    url='gs://my-storage-bucket',
    credentials=credentials
)

GET /configs/storage/{storage_config ID}取得しGET /configs/storage/{storage_config ID}

cURLを使う

curl https://ricloud-api.reincubate.com/configs/storage/<storage_config ID> \
  -H 'Authorization: Token <your key_token>'

ricloud-pyを使う

import ricloud

storage_config = ricloud.StorageConfig.retrieve(<storage_config ID>)

GET /configs/storage一覧表示しGET /configs/storage

deactivated状態のストレージ構成はデフォルトで非表示になっており、明示的なフィルタリングによってのみ一覧表示できます。

パラメーター

タイプ説明
type ひもバッキングバケットの種類で絞り込みます。
state ひも設定の状態でフィルタリングします。
date_created 日時フィルターリソース作成日でフィルタします。

cURLを使う

curl https://ricloud-api.reincubate.com/configs/storage \
  -H 'Authorization: Token <your key_token>'

ricloud-pyを使う

import ricloud

storage_configs = ricloud.StorageConfig.list()

POST /configs/storage/{storage_config ID}更新しPOST /configs/storage/{storage_config ID}

このアクションは設定に加えられる変更の妥当性をチェックするためにstorage_config.testタスクを作成します。

パラメーター

タイプ説明
url ひも別のバケットまたはバケット内の場所を指すようにURLを更新してください。この操作でバケットの種類を変更することはできません。
credentials 辞書資格情報を更新します。
state ひも newまたはdeactivatedのみ。

cURLを使う

curl https://ricloud-api.reincubate.com/configs/storage/<storage_config ID> \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "gs://my-storage-bucket/subfolder"
}'

ricloud-pyを使う

import ricloud

storage_config = ricloud.StorageConfig.update_with_id(
  <storage_config ID>, url="gs://my-storage-bucket/subfolder"
)

# OR

storage_config = ricloud.StorageConfig.retrieve(<storage_config ID>)

storage_config.update(url='gs://my-storage-bucket/subfolder')

削除DELETE /configs/storage/{storage_config ID}

APIからストレージ設定を完全に削除します。これにより、APIに格納されているすべての関連資格情報が削除されます。

cURLを使う

curl https://ricloud-api.reincubate.com/configs/storage/<storage_config ID> \
  -X DELETE \
  -H 'Authorization: Token <your key_token>'

ricloud-pyを使う

ricloud-py v3.0.0以降。

import ricloud

ricloud.StorageConfig.delete_with_id(<storage_config ID>)

# OR

storage_config = ricloud.StorageConfig.retrieve(<storage_config ID>)

storage_config.delete()

テストPOST /configs/storage/{storage_config ID}/test

この操作により、ストレージ設定の有効性を再テストできます。テストの結果に応じて、設定の状態がvalidまたはinvalid設定されvalid

このアクションはタスクリソースを返すことに注意してください。

cURLを使う

curl https://ricloud-api.reincubate.com/configs/storage/<storage_config ID>/test \
  -H 'Authorization: Token <your key_token>'

ricloud-pyを使う

import ricloud

test_task = ricloud.StorageConfig.test_with_id(<storage_config ID>)

# OR

storage_config = ricloud.StorageConfig.retrieve(<storage_config ID>)

test_task = storage_config.test()

どのように我々は助けることができます?

サポートチームがお手伝いします!

営業時間は月曜日から金曜日の午前9時から午後5時(GMT)です。 時間は現在 3:05 PM GMTです。

1営業日以内に、お返事を差し上げます。メールアドレスはこちら。

サポートセクションに移動 › エンタープライズチームに連絡する ›
私たちの素晴らしいサポートチーム

この記事を改善できますか?

ユーザーからの連絡をお待ちしています。電子メールを送信したり、コメントを残したり、ツイートしたりしないでください。 @reincubate?

© 2008 - 2019 Reincubate Ltd. 無断複写・転載を禁じます。 イングランドとウェールズに登録 #5189175, VAT GB151788978. Reincubate®は登録商標です。 プライバシーと利用規約. マルチファクタ認証をお勧めします。 ロンドンで愛と建てられた。