Suorita koodi
Suorita koodi -toiminto suorittaa JavaScriptin. Voit siirtää työnkulun edellisten vaiheiden tietoja Suorita koodi ‑toiminnon syötteeksi ja palauttaa seuraavissa vaiheissa käytettäviä arvoja.
Tällä sivulla
Kentät
Suorita koodi ‑toiminto sisältää seuraavat kentät.
Kenttä | Kuvaus |
---|---|
Syöttää | Pakollinen. GraphQL-kysely, joka käyttää edellisten vaiheiden tietoja Suorita koodi -toiminnon syötteenä. |
Tulos | Pakollinen. Esitys toiminnon palauttamista tiedoista GraphQL Schema Definition Language (SDL) ‑kielellä. |
Koodi | Pakollinen. JavaScript, jonka Suorita koodi -toiminto suorittaa. |
Syötetiedot
Syötetiedot saatetaan ohittaa vaiheista, jotka tapahtuvat ennen Suorita koodi -toimintoa. Jos haluat sisällyttää nämä tiedot, voit kirjoittaa Syöte-kenttään GraphQL-kyselyn. Kyselyn palauttamat tiedot tulevat saataville input
-argumenttina funktioon, jossa on export default
-merkintä ja jonka nimi on yleisen käytännön mukaan main
.
Syötekysely on Flow-ympäristötietojen kysely, ei Shopify Admin API -kysely. Sen vuoksi et voi lisätä Shopify-kyselyä syötetietoihin. Lisäksi Flow käsittelee kyselyn arvot edges
ja nodes
, joten sinun ei tarvitse lisätä niitä tai muuta sivutussyntaksia kyselyyn.
Esimerkkisyöte, joka noutaa tilausviestin ja rivikohdan nimen:
Nämä tiedot muunnetaan input
-muuttujaksi, jota voidaan käyttää koodissa:
Syötteet voidaan myös purkaa funktion allekirjoituksessa:
Metakentät
Jotta voit käyttää yksittäisen metakentän arvoja Suorita koodi -kentässä, sinun täytyy ensin lisätä metakenttä Flow'n ympäristötietoihin. Tämä tehdään missä tahansa muussa toimenpiteessä tai ehdossa paitsi Suorita koodi -kentässä. Voit esimerkiksi lisätä Lokitulos-toiminnon ja lisätä sen jälkeen metakentän noudattamalla ohjeita.
Kun metakenttä on lisätty työnkulun ympäristöön, voit käyttää sitä Run code -kentässä. Oletetaan esimerkiksi, että lisäsit Tilaus-metakentän, jonka nimi on giftMessage
. Voit sen jälkeen käyttää sitä syötekyselyssäsi:
Tulostiedot
Suorita koodi -toiminto voi palauttaa mukautettuja tietoja. Voit määrittää koodin palauttaman tietotyypin käyttämällä Tuloste-kenttää ja GraphQL:n Schema Definition Language (SDL) -kieltä. Voit palauttaa merkkijonon giftMessage
ja numeron totalGifts
esimerkiksi näin:
Kommentit ovat valinnaisia, mutta niitä käytetään Flow'n käyttöliittymän tietojen kuvailemiseen. Jos haluat nämä tiedot JavaScript-koodin tulosteena, palauta objekti, joka on samaa tyyppiä:
Voit myös määrittää mukautetun tyypin, jotta voit palauttaa monimutkaisempia tietoja. Jos haluat palauttaa esimerkiksi tyypin, jonka nimi on Gift
, ja joka sisältää merkkijonon message
sekä luvun amount
, toimi näin:
Jos haluat käyttää näitä tietoja tätä toimintoa seuraavien vaiheiden aikana, käytä Suorita koodi ‑muuttujaa, joka kirjoitetaan Suorita koodi ‑toiminnon määrityksissä valitun Output
-skeeman mukaisesti. Voit käyttää tätä muuttujaa sekä ehdoissa että toiminnoissa.
Console.log
Voit käyttää console.log
-logia datan tuottamiseen Flow'n työnkulun suorituslokin vianmääritystarkoituksiin. Tulos näkyy työnkulun Suorituslokissa. Esimerkiksi seuraavat ovat kelvollisia:
Et voi käyttää console.info
, console.error
- tai muita Suorita koodi -toiminnon funktiota .
Esimerkki
Voit katsoa lisää esimerkkejä Suorita koodi -toiminnosta Flow-esimerkkien tietovarastosta.
Rajoitukset
Suorita koodi -toimintoon liittyy seuraavia rajoituksia:
- Suorita koodi -toiminto tukee ECMA2020 JavaScriptiä. Koodi ei tue NodeJS:ää. CommanJS API -rajapintoja eikä moduulien tuontia.
- Koodisi ei voi suorittaa http-kutsuja (
fetch
). - Satunnaisia ja kelloon perustuvia toimintoja ei voi käyttää. Syötteeksi voidaan antaa päivämäärätietoja, kuten
scheduledAt
taicreatedAt
. - Console.log ei kirjaudu selainkonsoliin.
- Et voi lisätä metakentän aliasta suoraan Suorita koodi -toimintoon. Katso metakenttäosiosta, miten tämä onnistuu.
Lisäksi seuraavat rajoitukset on otettu käyttöön:
- Syötetietojen kyselyn enimmäismerkkimäärä on 5 000.
- Tulostietojen kaavio on rajoitettu 5 000 merkkiin.
- Tulostietojen hyötykuorma ja Console.log on rajattu yhteensä 50 kilotavuun.
- Koodin enimmäismerkkimäärä on 50 000.
- Suorituksen kokonaiskesto on rajoitettu 5 sekuntiin.
- Muistin käyttö on rajoitettu 10 megatavuun.
Toteutussuunnitelma
Flow-tiimi aikoo tulevaisuudessa lisätä ominaisuuksia Suorita koodi -toimintoon. Näet tulevat parannukset ja niiden arvioidut käyttöönottopäivät seuraavassa taulukossa.
Parannus | Kuvaus | Arvioitu toimitus |
---|---|---|
Lokiin kirjaaminen | Käytä "console.log"-koodia saadaksesi tulostetiedot Suorita koodi ‑toiminnon lokiin vianmääritystarkoituksia varten. | Tehty. |
Ulkoiset API-kutsut | Käytä JavaScriptin nouto-ominaisuutta APIen kutsumiseen. | 1. vuosineljännes 2025 |
Palaute
Suorita koodi -toiminto on uudenlainen Shopify Flow -vaihe. Jos sinulla on palautetta ja kysyttävää, kommentoi tätä Flow-yhteisön julkaisua.