Schema- en gegevenstypetoewijzing in kopieeractiviteit
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In dit artikel wordt beschreven hoe de kopieeractiviteit van Azure Data Factory schematoewijzing en gegevenstypetoewijzing uitvoert van brongegevens naar sinkgegevens.
Schematoewijzing
Standaardtoewijzing
Standaard worden brongegevens van kopieeractiviteiten toegewezen aan sink op kolomnamen op hoofdlettergevoelige wijze. Als sink niet bestaat, bijvoorbeeld schrijven naar een of meer bestanden, worden de bronveldnamen behouden als sinknamen. Als de sink al bestaat, moet deze alle kolommen bevatten die uit de bron worden gekopieerd. Dergelijke standaardtoewijzing ondersteunt flexibele schema's en schemadrift van bron naar sink van uitvoering tot uitvoering. Alle gegevens die worden geretourneerd door het brongegevensarchief kunnen naar sink worden gekopieerd.
Als uw bron tekstbestand zonder koptekstregel is, is expliciete toewijzing vereist omdat de bron geen kolomnamen bevat.
Expliciete toewijzing
U kunt ook expliciete toewijzing opgeven om de kolom-/veldtoewijzing van bron naar sink aan te passen op basis van uw behoeften. Met expliciete toewijzing kunt u alleen gedeeltelijke brongegevens naar sink kopiëren of brongegevens toewijzen aan sink met verschillende namen, of tabellaire/hiërarchische gegevens opnieuw vormgeven. Copy-activiteit:
- Leest de gegevens uit de bron en bepaalt het bronschema.
- Hiermee past u de gedefinieerde toewijzing toe.
- Schrijft de gegevens naar sink.
Meer informatie over:
- Tabellaire bron naar sink in tabelvorm
- Hiërarchische bron naar sink in tabelvorm
- Tabellaire/hiërarchische bron naar hiërarchische sink
U kunt de toewijzing configureren in de ontwerpinterface -> kopieeractiviteit -> toewijzingstabblad of programmatisch de toewijzing opgeven in de kopieeractiviteit ->translator
eigenschap. De volgende eigenschappen worden ondersteund in translator
->mappings
matrix -> objecten ->source
en sink
, die verwijst naar de specifieke kolom/het veld om gegevens toe te wijzen.
Eigenschappen | Beschrijving | Vereist |
---|---|---|
naam | Naam van de bron- of sinkkolom/het veld. Aanvragen voor bron en sink in tabelvorm. | Ja |
rangtelwoord | Kolomindex. Begin vanaf 1. Toepassen en vereist bij gebruik van tekst met scheidingstekens zonder koptekstregel. |
Nee |
path | JSON-padexpressie voor elk veld dat moet worden geëxtraheerd of toegewezen. Aanvragen voor hiërarchische bron en sink, bijvoorbeeld Azure Cosmos DB-, MongoDB- of REST-connectors. Voor velden onder het hoofdobject begint het JSON-pad met de hoofdmap $ ; voor velden in de matrix die door collectionReference de eigenschap is gekozen, begint het JSON-pad van het matrixelement zonder $ . |
Nee |
type | Tussentijdse gegevenstype van de bron- of sinkkolom. Over het algemeen hoeft u deze eigenschap niet op te geven of te wijzigen. Meer informatie over toewijzing van gegevenstypen. | Nee |
cultuur | Cultuur van de bron- of sinkkolom. Toepassen wanneer het type is Datetime of Datetimeoffset . De standaardwaarde is en-us .Over het algemeen hoeft u deze eigenschap niet op te geven of te wijzigen. Meer informatie over toewijzing van gegevenstypen. |
Nee |
indeling | Tekenreeks opmaken die moet worden gebruikt wanneer het type is Datetime of Datetimeoffset . Raadpleeg aangepaste tekenreeksen voor datum- en tijdnotatie voor het opmaken van datum/tijd. Over het algemeen hoeft u deze eigenschap niet op te geven of te wijzigen. Meer informatie over toewijzing van gegevenstypen. |
Nee |
De volgende eigenschappen worden ondersteund naast translator
mappings
:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
collectionReference | Toepassen bij het kopiëren van gegevens uit een hiërarchische bron, zoals Azure Cosmos DB, MongoDB of REST-connectors. Als u gegevens wilt herhalen en extraheren uit de objecten in een matrixveld met hetzelfde patroon en wilt converteren naar per rij per object, geeft u het JSON-pad van die matrix op om kruislings toe te passen. |
Nee |
Tabellaire bron naar sink in tabelvorm
Als u bijvoorbeeld gegevens wilt kopiëren van Salesforce naar Azure SQL Database en drie kolommen expliciet wilt toewijzen:
Klik op het tabblad Kopiëren -> toewijzingstabblad op De knop Schema's importeren om zowel bron- als sinkschema's te importeren.
Wijs de benodigde velden toe en sluit de rest uit of verwijder deze.
Dezelfde toewijzing kan worden geconfigureerd als het volgende in de nettolading van de kopieeractiviteit (zie translator
):
{
"name": "CopyActivityTabularToTabular",
"type": "Copy",
"typeProperties": {
"source": { "type": "SalesforceSource" },
"sink": { "type": "SqlSink" },
"translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": { "name": "Id" },
"sink": { "name": "CustomerID" }
},
{
"source": { "name": "Name" },
"sink": { "name": "LastName" }
},
{
"source": { "name": "LastModifiedDate" },
"sink": { "name": "ModifiedDate" }
}
]
}
},
...
}
Als u gegevens wilt kopiëren uit tekstbestanden met scheidingstekens zonder koptekstregel, worden de kolommen vertegenwoordigd door rangschikken in plaats van namen.
{
"name": "CopyActivityTabularToTabular",
"type": "Copy",
"typeProperties": {
"source": { "type": "DelimitedTextSource" },
"sink": { "type": "SqlSink" },
"translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": { "ordinal": "1" },
"sink": { "name": "CustomerID" }
},
{
"source": { "ordinal": "2" },
"sink": { "name": "LastName" }
},
{
"source": { "ordinal": "3" },
"sink": { "name": "ModifiedDate" }
}
]
}
},
...
}
Hiërarchische bron naar sink in tabelvorm
Wanneer u gegevens kopieert van een hiërarchische bron naar een tabellaire sink, ondersteunt de kopieeractiviteit de volgende mogelijkheden:
- Gegevens extraheren uit objecten en matrices.
- Meerdere objecten met hetzelfde patroon uit een matrix toepassen. In dat geval converteert u één JSON-object naar meerdere records in tabelvorm.
Voor geavanceerdere hiërarchische naar tabellaire transformatie kunt u Gegevensstroom gebruiken.
Als u bijvoorbeeld een MongoDB-brondocument hebt met de volgende inhoud:
{
"id": {
"$oid": "592e07800000000000000000"
},
"number": "01",
"date": "20170122",
"orders": [
{
"prod": "p1",
"price": 23
},
{
"prod": "p2",
"price": 13
},
{
"prod": "p3",
"price": 231
}
],
"city": [ { "name": "Seattle" } ]
}
En u wilt het kopiëren naar een tekstbestand in de volgende indeling met koptekstregel door de gegevens in de matrix (order_pd en order_price) af te vlakken en kruislingse join met de algemene hoofdgegevens (getal, datum en plaats) te koppelen:
orderNumber | orderDate | order_pd | order_price | plaats |
---|---|---|---|---|
01 | 20170122 | P1 | 23 | Seattle |
01 | 20170122 | P2 | 13 | Seattle |
01 | 20170122 | P3 | 231 | Seattle |
U kunt een dergelijke toewijzing definiëren in de ontwerpinterface van Data Factory:
Klik op het tabblad Kopiëren -> toewijzingstabblad op De knop Schema's importeren om zowel bron- als sinkschema's te importeren. Als de service de belangrijkste objecten bij het importeren van een schema steekt, kunt u het veld toevoegen aan de juiste laag in de hiërarchie. Beweeg de muisaanwijzer over een bestaande veldnaam en kies ervoor om een knooppunt, een object of een matrix toe te voegen.
Selecteer de matrix waaruit u gegevens wilt herhalen en extraheren. Deze wordt automatisch ingevuld als verzamelingsreferentie. Houd er rekening mee dat er slechts één matrix wordt ondersteund voor een dergelijke bewerking.
Wijs de benodigde velden toe aan de sink. De service bepaalt automatisch de bijbehorende JSON-paden voor de hiërarchische zijde.
Notitie
Voor records waarbij de matrix die is gemarkeerd als verzamelingsreferentie leeg is en het selectievakje is ingeschakeld, wordt de hele record overgeslagen.
U kunt ook overschakelen naar geavanceerde editor. In dat geval kunt u de JSON-paden van de velden rechtstreeks bekijken en bewerken. Als u ervoor kiest om nieuwe toewijzingen toe te voegen in deze weergave, geeft u het JSON-pad op.
Dezelfde toewijzing kan worden geconfigureerd als het volgende in de nettolading van de kopieeractiviteit (zie translator
):
{
"name": "CopyActivityHierarchicalToTabular",
"type": "Copy",
"typeProperties": {
"source": { "type": "MongoDbV2Source" },
"sink": { "type": "DelimitedTextSink" },
"translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": { "path": "$['number']" },
"sink": { "name": "orderNumber" }
},
{
"source": { "path": "$['date']" },
"sink": { "name": "orderDate" }
},
{
"source": { "path": "['prod']" },
"sink": { "name": "order_pd" }
},
{
"source": { "path": "['price']" },
"sink": { "name": "order_price" }
},
{
"source": { "path": "$['city'][0]['name']" },
"sink": { "name": "city" }
}
],
"collectionReference": "$['orders']"
}
},
...
}
Tabellaire/hiërarchische bron naar hiërarchische sink
De gebruikerservaringsstroom is vergelijkbaar met hiërarchische bron naar sink in tabelvorm.
Bij het kopiëren van gegevens uit een tabellaire bron naar een hiërarchische sink wordt schrijven naar een matrix binnen het object niet ondersteund.
Wanneer u gegevens kopieert van een hiërarchische bron naar een hiërarchische sink, kunt u de hiërarchie van de hele laag ook behouden door het object/de matrix te selecteren en toe te wijzen aan sink zonder de binnenste velden aan te raken.
Voor geavanceerdere transformatie van gegevens kunt u Gegevensstroom gebruiken.
Toewijzing parameteriseren
Als u een ge templatiseerde pijplijn wilt maken om een groot aantal objecten dynamisch te kopiëren, moet u bepalen of u de standaardtoewijzing kunt gebruiken of dat u expliciete toewijzing moet definiëren voor respectieve objecten.
Als expliciete toewijzing nodig is, kunt u het volgende doen:
Definieer een parameter met objecttype op pijplijnniveau, bijvoorbeeld
mapping
.De toewijzing parameteriseren: op het tabblad Kopiëren -> toewijzing, kiest u ervoor om dynamische inhoud toe te voegen en selecteert u de bovenstaande parameter. De nettolading van de activiteit zou als volgt zijn:
{ "name": "CopyActivityHierarchicalToTabular", "type": "Copy", "typeProperties": { "source": {...}, "sink": {...}, "translator": { "value": "@pipeline().parameters.mapping", "type": "Expression" }, ... } }
Maak de waarde die moet worden doorgegeven aan de toewijzingsparameter. Dit moet het hele definitieobject
translator
zijn. Raadpleeg de voorbeelden in de sectie expliciete toewijzing . Voor een tabellaire bron naar een kopie van een tabellaire sink moet de waarde bijvoorbeeld zijn{"type":"TabularTranslator","mappings":[{"source":{"name":"Id"},"sink":{"name":"CustomerID"}},{"source":{"name":"Name"},"sink":{"name":"LastName"}},{"source":{"name":"LastModifiedDate"},"sink":{"name":"ModifiedDate"}}]}
.
Gegevenstypetoewijzing
Copy-activiteit voert brontypen naar sinktypen toe met de volgende stroom:
- Converteer van systeemeigen brongegevenstypen naar tussentijdse gegevenstypen die worden gebruikt door Azure Data Factory- en Synapse-pijplijnen.
- Converteer indien nodig automatisch tussentijdse gegevenstypen zodat deze overeenkomen met overeenkomende sinktypen, die van toepassing zijn op zowel standaardtoewijzing als expliciete toewijzing.
- Converteer van tussentijdse gegevenstypen naar systeemeigen sinkgegevenstypen.
Copy-activiteit ondersteunt momenteel de volgende tussentijdse gegevenstypen: Booleaanse, Byte-, Bytematrix, Datetime, DatetimeOffset, Decimal, Double, GUID, Int32, Int64, SByte, Single, String, UInt16, UInt32 en UInt64.
De volgende conversies van gegevenstypen worden ondersteund tussen de tussentijdse typen van bron naar sink.
Bron\sink | Booleaanse waarde | Bytematrix | Datum/tijd | Decimal | Float-point | GUID | Geheel getal | String | TimeSpan |
---|---|---|---|---|---|---|---|---|---|
Booleaanse waarde | ✓ | ✓ | ✓ | ✓ | |||||
Bytematrix | ✓ | ✓ | |||||||
Datum/tijd | ✓ | ✓ | |||||||
Decimal | ✓ | ✓ | ✓ | ✓ | |||||
Float-point | ✓ | ✓ | ✓ | ✓ | |||||
GUID | ✓ | ✓ | |||||||
Geheel getal | ✓ | ✓ | ✓ | ✓ | |||||
String | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
TimeSpan | ✓ | ✓ |
(1) Datum/tijd omvat DateTime en DateTimeOffset.
(2) Float-point omvat enkel en dubbel.
(3) Geheel getal omvat SByte, Byte, Int16, UInt16, Int32, UInt32, Int64 en UInt64.
Notitie
- Op dit moment wordt deze conversie van gegevenstypen ondersteund bij het kopiëren tussen tabellaire gegevens. Hiërarchische bronnen/sinks worden niet ondersteund, wat betekent dat er geen door het systeem gedefinieerde gegevenstypeconversie is tussen de tussentijdse bron- en sinktypen.
- Deze functie werkt met het nieuwste gegevenssetmodel. Als u deze optie niet ziet in de gebruikersinterface, probeert u een nieuwe gegevensset te maken.
De volgende eigenschappen worden ondersteund in kopieeractiviteit voor conversie van gegevenstypen (onder translator
sectie voor programmatisch ontwerpen):
Eigenschappen | Beschrijving | Vereist |
---|---|---|
typeConversion | Schakel de conversie-ervaring van het nieuwe gegevenstype in. De standaardwaarde is onwaar vanwege compatibiliteit met eerdere versies. Voor nieuwe kopieeractiviteiten die zijn gemaakt via de ontwerpgebruikersinterface van Data Factory sinds eind juni 2020, is deze conversie van het gegevenstype standaard ingeschakeld voor de beste ervaring en ziet u de volgende typeconversie-instellingen voor kopieeractiviteit:> tabblad Toewijzing voor toepasselijke scenario's. Als u pijplijn programmatisch wilt maken, moet u expliciet de eigenschap instellen typeConversion op true om deze in te schakelen.Voor bestaande kopieeractiviteiten die zijn gemaakt voordat deze functie wordt uitgebracht, ziet u geen opties voor typeconversie in de ontwerpinterface voor compatibiliteit met eerdere versies. |
Nee |
typeConversionSettings | Een groep conversie-instellingen voor het type. Toepassen wanneer typeConversion is ingesteld op true . De volgende eigenschappen bevinden zich allemaal onder deze groep. |
Nee |
Onder typeConversionSettings |
||
allowDataTruncation | Sta afkapping van gegevens toe bij het converteren van brongegevens naar sink met een ander type tijdens het kopiëren, bijvoorbeeld van decimaal naar geheel getal, van DatetimeOffset naar Datetime. De standaardwaarde is true. |
Nee |
Behandelt BooleaanseAsNumber | Booleaanse waarden behandelen als getallen, bijvoorbeeld waar als 1. De standaardwaarde is false. |
Nee |
dateTimeFormat | Tekenreeks opmaken bij het converteren tussen datums zonder tijdzone-offset en tekenreeksen, yyyy-MM-dd HH:mm:ss.fff bijvoorbeeld. Raadpleeg tekenreeksen voor aangepaste datum- en tijdnotatie voor gedetailleerde informatie. |
Nee |
dateTimeOffsetFormat | Tekenreeks opmaken bij het converteren tussen datums met tijdzone-offset en tekenreeksen, yyyy-MM-dd HH:mm:ss.fff zzz bijvoorbeeld. Raadpleeg tekenreeksen voor aangepaste datum- en tijdnotatie voor gedetailleerde informatie. |
Nee |
timeSpanFormat | Tekenreeks opmaken bij het converteren tussen tijdsperioden en tekenreeksen, bijvoorbeeld dd\.hh\:mm . Raadpleeg tekenreeksen voor aangepaste tijdspan-indeling voor gedetailleerde informatie. |
Nee |
cultuur | Cultuurgegevens die moeten worden gebruikt bij het converteren van typen, bijvoorbeeld en-us of fr-fr . |
Nee |
Voorbeeld:
{
"name": "CopyActivity",
"type": "Copy",
"typeProperties": {
"source": {
"type": "ParquetSource"
},
"sink": {
"type": "SqlSink"
},
"translator": {
"type": "TabularTranslator",
"typeConversion": true,
"typeConversionSettings": {
"allowDataTruncation": true,
"treatBooleanAsNumber": true,
"dateTimeFormat": "yyyy-MM-dd HH:mm:ss.fff",
"dateTimeOffsetFormat": "yyyy-MM-dd HH:mm:ss.fff zzz",
"timeSpanFormat": "dd\.hh\:mm",
"culture": "en-gb"
}
}
},
...
}
Verouderde modellen
Notitie
De volgende modellen voor het toewijzen van bronkolommen/-velden aan sink worden nog steeds ondersteund, net als voor achterwaartse compatibiliteit. U wordt aangeraden het nieuwe model te gebruiken dat wordt vermeld in schematoewijzing. De ontwerpgebruikersinterface is overgeschakeld naar het genereren van het nieuwe model.
Alternatieve kolomtoewijzing (verouderd model)
U kunt kopieeractiviteit opgeven :>translator
>columnMappings
om toe te wijzen tussen gegevens in tabelvorm. In dit geval is de sectie Structuur vereist voor zowel invoer- als uitvoergegevenssets. Kolomtoewijzing ondersteunt het toewijzen van alle of subset van kolommen in de brongegevensset 'structuur' aan alle kolommen in de sinkgegevensset 'structuur'. Hier volgen foutvoorwaarden die resulteren in een uitzondering:
- Het queryresultaat van het brongegevensarchief heeft geen kolomnaam die is opgegeven in de sectie Structuur van de invoergegevensset.
- Sink-gegevensarchief (als met vooraf gedefinieerd schema) geen kolomnaam heeft die is opgegeven in de sectie 'structuur' van de uitvoergegevensset.
- Minder kolommen of meer kolommen in de 'structuur' van de sinkgegevensset dan is opgegeven in de toewijzing.
- Dubbele toewijzing.
In het volgende voorbeeld heeft de invoergegevensset een structuur en verwijst deze naar een tabel in een on-premises Oracle-database.
{
"name": "OracleDataset",
"properties": {
"structure":
[
{ "name": "UserId"},
{ "name": "Name"},
{ "name": "Group"}
],
"type": "OracleTable",
"linkedServiceName": {
"referenceName": "OracleLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "SourceTable"
}
}
}
In dit voorbeeld heeft de uitvoergegevensset een structuur en verwijst deze naar een tabel in Salesforce.
{
"name": "SalesforceDataset",
"properties": {
"structure":
[
{ "name": "MyUserId"},
{ "name": "MyName" },
{ "name": "MyGroup"}
],
"type": "SalesforceObject",
"linkedServiceName": {
"referenceName": "SalesforceLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "SinkTable"
}
}
}
De volgende JSON definieert een kopieeractiviteit in een pijplijn. De kolommen van de bron die zijn toegewezen aan kolommen in sink met behulp van de eigenschap translator ->columnMappings .
{
"name": "CopyActivity",
"type": "Copy",
"inputs": [
{
"referenceName": "OracleDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "SalesforceDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": { "type": "OracleSource" },
"sink": { "type": "SalesforceSink" },
"translator":
{
"type": "TabularTranslator",
"columnMappings":
{
"UserId": "MyUserId",
"Group": "MyGroup",
"Name": "MyName"
}
}
}
}
Als u de syntaxis van het opgeven van "columnMappings": "UserId: MyUserId, Group: MyGroup, Name: MyName"
kolomtoewijzing gebruikt, wordt deze nog steeds ondersteund.
Alternatieve schematoewijzing (verouderd model)
U kunt kopieeractiviteit opgeven:>translator
>schemaMapping
om toe te wijzen tussen hiërarchische gegevens en tabelvormige gegevens, bijvoorbeeld kopiëren van MongoDB/REST naar tekstbestand en kopiëren van Oracle naar Azure Cosmos DB voor MongoDB. De volgende eigenschappen worden ondersteund in de sectie kopieeractiviteit translator
:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De typeeigenschap van de kopieeractiviteitvertaler moet worden ingesteld op: TabularTranslator | Ja |
schemaMapping | Een verzameling sleutel-waardeparen, die de toewijzingsrelatie van de bronzijde tot de sink-zijde vertegenwoordigt. - Sleutel: vertegenwoordigt de bron. Geef voor de tabellaire bron de kolomnaam op zoals gedefinieerd in de structuur van de gegevensset. Geef voor hiërarchische bron de JSON-padexpressie op voor elk veld dat moet worden geëxtraheerd en toegewezen. - Waarde: vertegenwoordigt sink. Geef voor de sink in tabelvorm de kolomnaam op zoals gedefinieerd in de structuur van de gegevensset. Geef voor hiërarchische sink de JSON-padexpressie op voor elk veld dat moet worden geëxtraheerd en toegewezen. In het geval van hiërarchische gegevens begint het JSON-pad voor velden onder hoofdobject met root $; voor velden in de matrix die door collectionReference de eigenschap is gekozen, begint het JSON-pad vanaf het matrixelement. |
Ja |
collectionReference | Als u gegevens wilt herhalen en extraheren uit de objecten in een matrixveld met hetzelfde patroon en wilt converteren naar per rij per object, geeft u het JSON-pad van die matrix op om kruislings toe te passen. Deze eigenschap wordt alleen ondersteund wanneer hiërarchische gegevens bron zijn. | Nee |
Voorbeeld: kopiëren van MongoDB naar Oracle:
Als u bijvoorbeeld een MongoDB-document hebt met de volgende inhoud:
{
"id": {
"$oid": "592e07800000000000000000"
},
"number": "01",
"date": "20170122",
"orders": [
{
"prod": "p1",
"price": 23
},
{
"prod": "p2",
"price": 13
},
{
"prod": "p3",
"price": 231
}
],
"city": [ { "name": "Seattle" } ]
}
en u wilt deze kopiëren naar een Azure SQL-tabel in de volgende indeling door de gegevens in de matrix (order_pd en order_price) af te vlakken en kruislings samenvoegen met de algemene basisgegevens (getal, datum en plaats):
orderNumber | orderDate | order_pd | order_price | plaats |
---|---|---|---|---|
01 | 20170122 | P1 | 23 | Seattle |
01 | 20170122 | P2 | 13 | Seattle |
01 | 20170122 | P3 | 231 | Seattle |
Configureer de regel voor schematoewijzing als het volgende JSON-voorbeeld van kopieeractiviteit:
{
"name": "CopyFromMongoDBToOracle",
"type": "Copy",
"typeProperties": {
"source": {
"type": "MongoDbV2Source"
},
"sink": {
"type": "OracleSink"
},
"translator": {
"type": "TabularTranslator",
"schemaMapping": {
"$.number": "orderNumber",
"$.date": "orderDate",
"prod": "order_pd",
"price": "order_price",
"$.city[0].name": "city"
},
"collectionReference": "$.orders"
}
}
}
Gerelateerde inhoud
Zie de andere artikelen over kopieeractiviteiten: