Beispiele

In den folgenden Beispielen wird davon ausgegangen, dass Sie bereits ein Token mit Ihrem Dienstkonto abgerufen haben:

TOKEN=$(gcloud auth print-access-token)

Außerdem gehen wir davon aus, dass Sie ${CLIENT_PROJECT} bereits auf die Projekt-ID des Google Cloud-Projekts festgelegt haben.

Aktuelle Kunden auflisten

Mit dem folgenden Befehl werden alle Kunden zurückgegeben, auf die der Aufrufer Zugriff hat:

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"

Speichern Sie den zurückgegebenen Kundennamen der Einfachheit halber in einer Variablen:

CUSTOMER_NAME=customers/...

Neue Gerätekonfiguration erstellen

Legen Sie zuerst die ${FCCID} und ${SN} des Geräts fest, das Sie erstellen möchten:

FCCID=f1
SN=sn1

Erstellen Sie dann die Gerätekonfiguration mit dem folgenden Befehl:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \
  -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"

Der Befehl gibt eine neu erstellte Gerätekonfiguration zurück. Speichern Sie den Gerätenamen der Einfachheit halber in einer Variablen:

DEVICE_NAME=customers/.../devices/...

Aktuelle Geräte auflisten

Mit dem folgenden Befehl werden vorhandene Geräte aufgelistet.

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"

Gerät anhand des Namens abrufen

Mit dem folgenden Befehl werden Geräte nach Namen abgerufen.

curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"

Vorhandenes Gerät aktualisieren

Mit dem folgenden Befehl werden vorhandene Geräte aktualisiert.

curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \

CPI-Identität und ‑Zertifizierung bestätigen

Verwenden Sie das folgende Beispiel, um den Secret-String zu generieren:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \
  -d "{}"

Es wird ein Wert im folgenden Format zurückgegeben:

{
  "secret": "<generated secret>"
}

Der geheime String muss dann in ein JWT codiert werden. Verwenden Sie das JSON Web Token-Format. Wir gehen davon aus, dass Sie ${SECRET} auf den geheimen String, ${ENCODED_SECRET} auf den JWT-String und ${CPI_ID} auf die ID des zu validierenden CPI festgelegt haben.

Mit dem folgenden Befehl werden die Identität und die Zertifizierung des CPI validiert.

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"

Der CPI kann jetzt ein CBSD mit allen erforderlichen Parametern installieren.

Mehrstufige CBSD-Registrierung

Es gibt zwei Möglichkeiten, die mehrstufige CBSD-Registrierung durchzuführen, die in den folgenden beiden Abschnitten beschrieben werden. Sie können die mehrstufige CBSD-Registrierung mit Parametern durchführen, die zuvor von einem CPI signiert wurden, oder mit einem CPI-Konto.

Mit Geräteparametern, die zuvor von einem CPI signiert wurden

In diesem Beispiel wird gezeigt, wie Sie eine inaktive Gerätekonfiguration mit CBSD-Installationsparametern erstellen, die zuvor von einem CPI codiert wurden. So kann die Konfiguration auch von Nutzern erstellt werden, die keine CPIs sind. Verwenden Sie den privaten Schlüssel des CPI, um die CBSD-Parameter zu codieren. Dazu verwenden wir das JSON Web Token-Format. Wir gehen davon aus, dass Sie ${ENCODED_DEVICE} auf den JWT-String und ${CPI_ID} auf die ID des CPI festgelegt haben.

Die Konfiguration für inaktive Geräte kann dann mit dem folgenden Befehl erstellt werden:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"

Das CBSD muss dann eine Registrierungsanfrage an das SAS senden, um die Registrierung abzuschließen.

Mit einem CPI-Konto

Zuerst muss die Identität des CPI validiert werden, bevor Sie versuchen, eine Gerätekonfiguration zu validieren. Verwenden Sie dann den folgenden Befehl, um eine Konfiguration für ein inaktives Gerät zu erstellen:

curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \
  -d "${DEVICE}"

Wir gehen davon aus, dass Sie ${DEVICE} als JSON-Darstellung der CBSD-Registrierungsparameter in diesem Format festgelegt haben.

Das CBSD muss dann eine Registrierungsanfrage an das SAS senden, um die Registrierung abzuschließen.