Opslagconfigs

bijgewerkt

De opslagconfiguratiebron beschrijft waar de API de gegevens behorend bij de resultaten van peilingen kan opslaan. Alle locaties die zijn opgegeven in opslagconfigs, moeten een cloudopslagruimte zijn in Google Cloud Storage of Amazon S3 (AWS) .

attributen

naam type Omschrijving
id opslagconfiguratie ID Bron-ID.
resource string, altijd storage_config Specificatie middelenbron.
organisation organisatie ID De organisatie waartoe de resource behoort.
type draad Een van: gs , s3 . Dit is een alleen-lezen kenmerk dat is gegenereerd op basis van de url .
url draad Een URL die het doel vertegenwoordigt waarnaar resultaten worden gepubliceerd.
credentials woordenboek Een woordenboek met de legitimatiegegevens die door de API worden gebruikt voor verificatie tegen de opslagdienst.
state draad Een van de: 'new' , 'valid' , 'invalid' , 'deactivated' .
date_created datum Tijd Wanneer de resource is gemaakt.

Types

gs
het configuratietype Google Cloud Storage . Vereist serviceaccountgegevens.
s3
het opslagconfiguratietype Amazon S3 (AWS) . Vereist AWS-gebruikersreferenties.

URL's

Het kenmerk url volgt het formaat:

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

Als we bijvoorbeeld een bucket in Google Cloud Storage hebben met de naam 'my-bucket' en we willen dat de API naar een map in deze bucket publiceert met de naam 'resultaten', ziet de url er als volgt uit:

gs://my-bucket/results

Geloofsbrieven

Inloggegevens voor Google Cloud Storage

De API verwacht dat het kenmerk credentials een woordenboek is met de indeling:

{
    "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"
}

Dit komt exact overeen met het JSON-uitvoerbestand bij het maken van een serviceaccountsleutel via de Google Cloud Platform-console.

Om het instellen van een opslagconfiguratie met behulp van de geëxporteerde JSON-bestandsreferenties te vereenvoudigen, bevat ricloud-py een eenvoudige cli-opdracht:

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

Amazon S3-inloggegevens

De API verwachtte dat het kenmerk credentials een woordenboek is met de indeling:

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

Dit kan handmatig worden geconstrueerd uit de details die in de AWS-console worden getoond, of uit het exporteerbare CSV-bestand via de cli-opdracht van ricloud-py :

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

Staten

new
is zojuist gemaakt of recentelijk bijgewerkt, maar nog niet getest.
valid
is verstreken validatie en is klaar om te worden gebruikt. Een organisatie moet ten minste één opslagconfiguratie in deze status hebben om bruikbaar te zijn.
invalid
heeft de validatietest mislukt. Moet worden bijgewerkt of opnieuw worden getest.
deactivated
is uitgeschakeld door de eigenaarorganisatie.

Maak POST /configs/storage

Wanneer een nieuwe opslagconfiguratie wordt gemaakt, probeert de API deze te testen door een taak storage_config.test te maken. Deze taak publiceert eenvoudigweg een kleine testpayload met behulp van de config, die daarna veilig kan worden verwijderd. Als de bewerking slaagt, is de toestand van de configuratie ingesteld op valid en wordt deze bruikbaar voor polls. In het geval van een fout, zal de toestand van de config op invalid worden ingesteld, maar dit kan eenvoudig opnieuw worden getest met behulp van de testactie .

De eerste geldige opslagconfiguratie binnen een organisatie wordt automatisch ingesteld als de standaardinstelling van de organisatie.

Houd er rekening mee dat het maken van opslagconfiguren wordt gededupliceerd op het kenmerk url . Daarom is het niet mogelijk om twee opslagconfigs met dezelfde url maar met verschillende credentials .

parameters

naam type Omschrijving
url verplicht De opslagconfiguratie-URL voor uw bucket.
credentials verplicht De inloggegevens voor de opslagconfiguratie voor uw bucket.

CURL gebruiken

Hier is de inhoud van het referentieswoordenboek afkomstig van het kopiëren van de inhoud van het JSON-inloggegevensbestand dat is gegenereerd tijdens het instellen van de Google Cloud Service-account.

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 gebruiken

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
)

Ophalen GET /configs/storage/{storage_config ID}

CURL gebruiken

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

Ricloud-py gebruiken

import ricloud

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

Lijst GET /configs/storage

Opslagconfiguren in de deactivated status zijn standaard verborgen en kunnen alleen worden weergegeven door expliciete filtering.

parameters

naam type Omschrijving
type draad Filteren op type steunemmer.
state draad Filteren op de staat van de configuratie.
date_created datetime filter Filter op datum van creatie van aankoop.

CURL gebruiken

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

Ricloud-py gebruiken

import ricloud

storage_configs = ricloud.StorageConfig.list()

Update POST /configs/storage/{storage_config ID}

Met deze actie wordt een taak storage_config.test gemaakt om de geldigheid van eventuele wijzigingen in de configuratie te controleren.

parameters

naam type Omschrijving
url draad Werk de URL bij om naar een andere bucket of locatie in de bucket te wijzen. Houd er rekening mee dat het type emmer niet kan worden gewijzigd via deze bewerking.
credentials woordenboek Werk de inloggegevens bij.
state draad Alleen voor new of deactivated .

CURL gebruiken

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 gebruiken

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')

Verwijderen DELETE /configs/storage/{storage_config ID}

Verwijdert de opslagconfiguratie volledig van de API. Hiermee wordt alle gerelateerde inloggegevens verwijderd die zijn opgeslagen in de API.

CURL gebruiken

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

Ricloud-py gebruiken

Sinds 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()

Test POST /configs/storage/{storage_config ID}/test

Met deze actie kunt u de geldigheid van een opslagconfiguratie opnieuw testen. De status van de config zal worden ingesteld op valid of invalid afhankelijk van de uitkomst van de test.

Merk op dat deze actie een taakresource retourneert.

CURL gebruiken

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

Ricloud-py gebruiken

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()

Hoe kunnen we helpen?

Ons ondersteuningsteam is er om u te helpen!

Onze kantooruren zijn van maandag tot vrijdag van 09.00 tot 17.00 uur GMT. De tijd is momenteel 1:08 AM GMT.

We streven ernaar om alle berichten binnen één werkdag te beantwoorden.

Ga naar het ondersteuningsgedeelte › Neem contact op met het Enterprise-team ›
Ons geweldige ondersteuningsteam

Kunnen we dit artikel verbeteren?

We horen graag van gebruikers: Stuur ons een e-mail, laat een reactie achter of stuur een tweet @reincubate?

© 2008 - 2019 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate® is een geregistreerd handelsmerk. Privacy en voorwaarden. Wij bevelen 2FA aan. Gebouwd met in Londen.