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.

Kentät

Suorita koodi ‑toiminto sisältää seuraavat kentät.

Suorita koodi -toiminnossa käytettävät 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 voidaan siirtää 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ä. Sinun ei tarvitse käsitellä sivutusta tai käyttää edges- ja nodes-kyselyjä, koska Flow käsittelee ne puolestasi.

Esimerkkisyöte, joka noutaa tilausviestin ja rivikohdan nimen:

{
  order {
    note
    lineItems {
      title
    }
  }
}

Nämä tiedot muunnetaan input-muuttujaksi, jota voidaan käyttää koodissa:

export default function main(input) {
  // input.order.note
  // input.order.lineItems[0].title
}

Syötteet voidaan myös purkaa funktion allekirjoituksessa:

export default function main({order}) {
  // order.note
  // order.lineItems[0].title
}

Tulostetiedot

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:

type Output {
  "The message to include in the gift"
  giftMessage: String!
  "The total number of gifts"
  totalGifts: Int!
}

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ä:

export default function main(input) {
  // your code
  return {
    giftMessage: 'Hello',
    totalGifts: 1,
  };
}

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:

type Output {
  "The gift to send"
  gifts: [Gift!]!
}

type Gift {
  "The message to include in the gift"
  message: String!
  "The total number of gifts"
  amount: Int!
}

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.

Esimerkki

Voit katsoa lisää esimerkkejä Suorita koodi -toiminnosta Flow-esimerkkien tietovarastosta.

Rajoitukset

Suorita koodi -toimintoon liittyy seuraavia rajoituksia:

  • Koodisi ei voi tuoda moduuleja.
  • Koodisi ei voi suorittaa http-kutsuja (fetch).
  • Koodisi ei voi käyttää console.log.
  • Satunnaisia ja kelloon perustuvia toimintoja ei voi käyttää. Syötteeksi voidaan antaa päivämäärätietoja, kuten scheduledAt tai createdAt.

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 on rajoitettu 50 000 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.

Suorita koodi -toiminnon toteutussuunnitelma
Parannus Kuvaus Arvioitu toimitus
Ohjelmavirhekorjauksia Virheenkorjauksia ja siivous Helmikuu 2024
Lokiin kirjaaminen Käytä "console.log"-koodia saadaksesi tulostetiedot Suorita koodi ‑toiminnon lokiin vianmääritystarkoituksia varten. Huhtikuun alkupuolella 2024
Ulkoiset API-kutsut Käytä JavaScriptin nouto-ominaisuutta APIen kutsumiseen. Q3 2024

Palaute

Suorita koodi -toiminto on uudenlainen Shopify Flow -vaihe. Jos sinulla on palautetta ja kysyttävää, kommentoi tätä Flow-yhteisön julkaisua.

Valmiina aloittamaan Shopifyssa?

Kokeile ilmaiseksi