<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
<ph type="x-smartling-placeholder">
Version: 1.2.0
Daten in einer Cloud Firestore-Datenbank erstellen, lesen oder löschen.
Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen API-Proxy verwenden können, müssen Sie:
Erstellen Sie in der Firebase Console ein Firebase-Projekt, in dem Ihre Daten gespeichert sind.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mithilfe der Konfigurationsreferenz hinzufügen und konfigurieren.
Informationen zu Cloud Firestore
Cloud Firestore speichert Daten in Dokumenten, die in Sammlungen gespeichert sind. Cloud Firestore erstellt Sammlungen und Dokumente implizit, wenn Sie dem Dokument zum ersten Mal Daten hinzufügen. Sie müssen Sammlungen oder Dokumente nicht explizit erstellen.
Allgemeine Informationen zu Cloud Firestore finden Sie unter Erste Schritte mit Firestore in der Cloud Firestore-Dokumentation.
Beispiele
Die folgenden Beispiele zeigen, wie Sie die Unterstützung für Cloud Firestore-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.
Daten hinzufügen
Mit der folgenden ExtensionCallout-Richtlinie wird das Dokument freewill@example.com
zu einer users
-Sammlung hinzugefügt. Das Attribut data
gibt die Felder und Werte des neuen Dokuments an.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Add-User-Data">
<DisplayName>Add User Data</DisplayName>
<Connector>my-cloud-firestore-extension</Connector>
<Action>setDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "freewill@example.com",
"data" : {
"firstName": "Will",
"lastName": "Witman",
"address": "270-8243 Tempor St.",
"city": "Fort Worth",
"region": "TX",
"postalCode": "86519",
"email": "freewill@example.com",
"username": "freewill444"
}
}]]></Input>
</ConnectorCallout>
Daten abrufen
In diesem Beispiel ruft die ExtensionCallout-Richtlinie den Wert des Dokuments freewill@example.com
aus der Sammlung users
ab. Hier ist das Attribut parsed
des <Output>
-Elements auf false
gesetzt, sodass das zurückgegebene Ergebnis JSON als String und kein JSON-Format zurückgegeben wird, das in ein Objekt geparst wird. Weitere Informationen findest du in der Referenz zum <Output>
-Element.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Get-User-Data">
<DisplayName>Get User Data</DisplayName>
<Connector>straut-cloud-firestore-extension</Connector>
<Action>getDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "freewill@example.com"
}]]></Input>
<Output parsed="false">firestore.userdata.retrieved</Output>
</ConnectorCallout>
Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, die die Antwort der Erweiterung speichert, um der Antwortnutzlast zuzuweisen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage name="CopyUserDataToResponse">
<DisplayName>Copy User Data To Response</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{firestore.userdata.retrieved}</Payload>
</Set>
</AssignMessage>
Daten löschen
In diesem Beispiel wird durch die ExtensionCallout-Richtlinie das Dokument lizzie@example.com
aus der Sammlung users
gelöscht.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Delete-User-Data">
<DisplayName>Delete User Data</DisplayName>
<Connector>my-cloud-firestore-extension</Connector>
<Action>deleteDocument</Action>
<Input><![CDATA[{
"colName" : "users",
"docName" : "lizzie@example.com"
}]]></Input>
</ConnectorCallout>
Daten abfragen
In diesem Beispiel fragt die ExtensionCallout-Richtlinie eine cities
-Sammlung ab. Abfrageergebnisse werden nach den Feldern state
und population
gefiltert. Hier ist das Attribut parsed
des <Output>
-Elements auf false
gesetzt, sodass das zurückgegebene Ergebnis JSON als String und kein JSON-Format zurückgegeben wird, das in ein Objekt geparst wird. Weitere Informationen findest du in der Referenz zum <Output>
-Element.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Query-City-Data">
<DisplayName>Query City Data</DisplayName>
<Connector>cloud-firestore-extension</Connector>
<Action>query</Action>
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
<Output parsed="false">compound-query-output</Output>
</ConnectorCallout>
Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, die die Antwort der Erweiterung speichert, um der Antwortnutzlast zuzuweisen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage name="CopyQueryResultsToResponse">
<DisplayName>Copy Query Results To Response</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{firestore.querydata.retrieved}</Payload>
</Set>
</AssignMessage>
Aktionen
<ph type="x-smartling-placeholder">
deleteDocument
Löscht ein einzelnes Dokument aus einer Sammlung.
Anfrageparameter
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
Parameter | Beschreibung | Typ | Default | Erforderlich |
---|---|---|---|---|
colName | Name der Sammlung, die das zu löschende Dokument enthält. | String | Keine. | Ja. |
docName | Name des zu löschenden Dokuments. | String | Keine. | Ja. |
Antwort
Keine.
getDocument
Ruft den Inhalt eines einzelnen Dokuments ab.
Anfrageparameter
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name"
}]]></Input>
Parameter | Beschreibung | Typ | Default | Erforderlich |
---|---|---|---|---|
colName | Name der Sammlung, aus der das Dokument abgerufen werden soll. | String | Keine. | Ja. |
docName | Name des abzurufenden Dokuments. | String | Keine. | Ja. |
Antwort
Objekt, das den Inhalt des Dokuments im JSON-Format enthält.
Abfrage
Fragt eine Sammlung anhand der angegebenen Bedingungen ab, die einen Filter bilden.
Der queryArray
-Parameter dieser Aktion gibt ein Array von Arrays an (oder ein leeres Array, wenn keine Filterbedingungen festgelegt sind). Jedes innere Array gibt eine Bedingung eines Filters an. Mehrere innere Arrays stellen mehrere Bedingungen dar, die durch einen UND-Operator verbunden sind.
Jedes Element in einem inneren Bedingungsarray stellt einen Teil der Bedingung dar. Ein Bedingungsarray enthält immer die folgenden drei Elemente:
- Ein linkes Element, das das Sammlungsfeld angibt.
- Mittleres Element, das den Operator angibt.
- Ein rechtes Element, das den Wert des Sammlungsfelds angibt.
Im folgenden Beispiel werden zwei Bedingungsarrays angegeben, die basierend auf den Feldern state
und population
der Sammlung gefiltert werden sollen:
<Input><![CDATA[{
"colName":"cities",
"queryArray":[
["state", "==", "CA"],
["population","<",1000000]
]
}]]></Input>
Zur Laufzeit wird diese Aktion als Abfrage wie die folgende interpretiert:
Wählen Sie alle Städte aus, in denen Bundesland „CA“ ist. und Bevölkerung < 1.000.000
Eine Abfrage, die mehrere Bedingungen enthält, muss in Cloud Firestore von einem zusammengesetzten Index unterstützt werden. Weitere Informationen finden Sie unter Indextypen in Cloud Firestore.
Anfrageparameter
Syntax
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"queryArray" : "queryArray": query-condition-array
}]]></Input>
Beispiel
In diesem Beispiel gibt der Parameter queryArray
zwei Bedingungen an, unter denen die durch den Parameter colName
angegebene Sammlung cities
gefiltert werden soll.
Eine Abfrage, die mehrere Bedingungen enthält, muss in Cloud Firestore von einem zusammengesetzten Index unterstützt werden. Weitere Informationen finden Sie unter Indextypen in Cloud Firestore.
<Input><![CDATA[{
"colName":"cities",
"queryArray":[["state", "==", "CA"],["population","<",1000000]]
}]]></Input>
Zur Laufzeit wird diese Aktion als Abfrage wie die folgende interpretiert:
Wählen Sie alle Städte aus, in denen Bundesland „CA“ ist. und Bevölkerung < 1.000.000
Parameter | Beschreibung | Typ | Default | Erforderlich |
---|---|---|---|---|
colName | Name der abzufragenden Sammlung. | String | Keine. | Ja. |
queryArray | Ein Array von Bedingungsarrays, die zusammen die Teile eines Filters angeben. Geben Sie ein leeres Array an, um Bedingungen auszulassen (keine Ergebnisse zu filtern). | Array | Keine. | Ja. |
Antwort
Objekt, das den Inhalt des Dokuments im JSON-Format enthält.
setDocument
Kopiert ein Dokument in eine Cloud Firestore-Sammlung. Wenn das Dokument bereits in der Sammlung vorhanden ist, wird es dadurch überschrieben.
Anfrageparameter
<Input><![CDATA[{
"colName" : "firestore-collection-name",
"docName" : "firestore-document-name",
"data" : "data-to-copy"
}]]></Input>
Parameter | Beschreibung | Typ | Default | Erforderlich |
---|---|---|---|---|
colName | Name der Sammlung, in der das Dokument erstellt werden soll. | String | Keine. | Ja. |
docName | Name des Dokuments, in das data kopiert werden soll. |
String | Keine. | Ja. |
Daten | Daten zum Kopieren in docName . Dies muss ein gültiges JSON-Objekt sein. Arrays werden nicht unterstützt. |
Object | Keine. | Nein. |
Antwort
Keine.
Konfigurationsreferenz
Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen. Eine schrittweise Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.
Allgemeine Erweiterungseigenschaften
Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
name |
Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. | – | Ja |
packageName |
Name des Erweiterungspakets, wie von Apigee Edge angegeben. | – | Ja |
version |
Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. | – | Ja |
configuration |
Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. | – | Ja |
Eigenschaften für dieses Erweiterungspaket
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
firestoreDB | URL zur Cloud Firestore-Datenbank, die diese Erweiterung verwenden soll, um Anfragen zu senden. Diese URL hat normalerweise das Format https://DATABASE_NAME.firebaseio.com . |
Keine. | Ja. |
Anmeldedaten | Bei Eingabe in die Apigee Edge-Konsole ist dies der Inhalt der Schlüsseldatei, die Sie mit den Firebase-Anweisungen generiert haben. Beim Senden über die Verwaltungs-API handelt es sich um einen base64-codierten Wert, der aus der Schlüsseldatei generiert wird. | Keine. | Ja. |