Łączenie i wizualizowanie wszystkich danych w Studio danych

1. Wprowadzenie

Studio danych umożliwia bezpłatne tworzenie aktywnych, interaktywnych paneli z atrakcyjnymi wizualizacjami danych. Pobieraj dane z różnych źródeł i twórz w Studio danych nieograniczoną liczbę raportów z pełnymi możliwościami edycji i udostępniania. Poniższy zrzut ekranu przedstawia przykładowy panel Studia danych:

2f296fddf6af7393.png

( Kliknij tutaj, aby wyświetlić ten przykładowy raport w Studio danych)

Społecznościowe oprogramowanie sprzęgające to funkcja Studia danych, która umożliwia tworzenie oprogramowania sprzęgającego dowolne źródło danych dostępne w internecie za pomocą Apps Script. Społecznościowe oprogramowanie sprzęgające jest tworzone przez społeczność Studia danych. Oznacza to, że każdy może tworzyć złącza społecznościowe. Możesz też udostępniać złącza społeczności innym osobom, aby mogły uzyskiwać dostęp do własnych danych w Studiu danych.

Z połączeń społecznościowych możesz korzystać w różnych przypadkach:

  • wyświetlasz dane z platformy komercyjnej (np.mediów społecznościowych, marketingu, analityki itp.);
  • wizualizujesz dane przedsiębiorstwa przechowywane lokalnie (np. dane o sprzedaży z lokalnej bazy danych MySQL);
  • Udostępniasz klientom sposób wizualizacji danych z Twojej usługi.
  • Tworzysz platformę raportowania za pomocą przycisku
  • wizualizujesz własne dane ze źródła internetowego (np. tworzysz panel Google Fit);

Czego się nauczysz

  • Jak działa społecznościowe oprogramowanie sprzęgające Studia danych
  • Jak używać Google Apps Script do tworzenia społecznościowego oprogramowania sprzęgającego
  • Jak korzystać ze społecznościowych oprogramowań sprzęgających w Studiu danych

Czego potrzebujesz

  • dostęp do internetu i przeglądarki;
  • konto Google,
  • Znajomość podstaw języka JavaScript i interfejsów Web API

2. Krótka ankieta

Dlaczego wybierasz ten codelab?

Interesuje mnie wizualizacja danych w ogóle. Chcę dowiedzieć się więcej o Studio danych. Chcę utworzyć własne oprogramowanie sprzęgające społeczności. Próbuję zintegrować Studio danych z inną platformą. Interesują mnie rozwiązania Google Cloud.

Jak zamierzasz korzystać z tego laboratorium/samouczka?

Tylko przejrzyj Przeczytaj i wykonaj ćwiczenia

Jak oceniasz swoją znajomość Studia danych?

Nigdy o nim nie słyszałem(-am). Wiem, co to jest, ale nie używam go. Używam go regularnie. Jestem zaawansowanym użytkownikiem.

Która opcja najlepiej opisuje Twoje wykształcenie?

Programista Analityk biznesowy, finansowy lub danych Badacz danych lub inżynier danych Ekspert ds. marketingu, mediów społecznościowych lub analityki cyfrowej Projektant Inne

Możesz przejść do następnej strony, aby przesłać informacje z ankiety.

3. Omówienie złączy społeczności

Złącza społeczności w Studiu danych umożliwiają bezpośrednie połączenia ze Studia danych z dowolnym źródłem danych dostępnym w internecie. Możesz łączyć się z platformami komercyjnymi, publicznymi zbiorami danych lub własnymi prywatnymi danymi lokalnymi. Złącza społeczności mogą pobierać dane za pomocą interfejsów API sieci, interfejsów API JDBC, plików płaskich (CSV, JSON, XML) i usług Apps Script.

b25b8d6bea6da54b.png

Wyobraź sobie, że masz opublikowany pakiet w npm i chcesz śledzić liczbę pobrań pakietu w czasie z podziałem na dni. W tym ćwiczeniu utworzysz oprogramowanie sprzęgające społeczności, które pobiera dane za pomocą interfejsu API liczby pobrań pakietów npm. Oprogramowanie sprzęgające społeczności można następnie wykorzystać w Studio danych do utworzenia panelu, który wizualizuje liczbę pobrań.

4. Przepływ pracy w przypadku łącznika społecznościowego

W podstawowym łączniku społeczności definiujesz 4 funkcje:

  • getAuthType()
  • getConfig()
  • getSchema()
  • getData()

W zależności od bieżącego kroku procesu Studio danych wykonuje te funkcje łącznika i wykorzystuje odpowiedź w kolejnych krokach. Na poniższym filmie znajdziesz omówienie tych kwestii:

  • Jak działa złącze społecznościowe
  • Różne etapy przepływu pracy
  • Kiedy wywoływane są różne funkcje
  • Kiedy Studio danych wyświetla różne interfejsy
  • Oczekiwane działania użytkowników na różnych etapach

Po obejrzeniu filmu możesz wrócić do ćwiczenia.

Nie musisz zapamiętywać tego przepływu pracy. Wystarczy, że się z nim zapoznasz, aby zrozumieć, co się dzieje w przypadku konektora. Zawsze możesz wrócić do tego diagramu.

cc6688bf38749e5.png

W następnym kroku zaczniesz tworzyć oprogramowanie sprzęgające w Google Apps Script. Będziesz musiał(a) przełączać się między interfejsem Apps Script a tym kursem.

5. Konfigurowanie projektu Apps Script

Krok 1. Otwórz stronę Google Apps Script.

Krok 2. Utwórz nowy projekt Apps Script, klikając „+ Nowy projekt” w lewym górnym rogu.

fb12d7318d0946cf.png

Zobaczysz projekt powłoki z pustą funkcją myFunction w pliku Code.gs.

b245ce5eb3dd2ee2.png

Krok 3. Usuń funkcję myFunction.

Krok 4. Nadaj projektowi nazwę:

  1. W lewym górnym rogu strony kliknij Untitled project.
  2. Wpisz tytuł projektu.

7172aebc181c91d4.png

Zacznij pisać kod oprogramowania sprzęgającego w pliku Code.gs.

6. Zdefiniuj funkcję getAuthType()

Gdy Studio danych będzie potrzebować informacji o metodzie uwierzytelniania używanej przez oprogramowanie sprzęgające, wywoła funkcję getAuthType(). Ta funkcja powinna zwracać metodę uwierzytelniania wymaganą przez oprogramowanie sprzęgające do autoryzacji usługi innej firmy.

W przypadku tworzonego przez Ciebie konektora pobierania npm nie musisz uwierzytelniać się w żadnej usłudze innej firmy, ponieważ używany przez Ciebie interfejs API nie wymaga uwierzytelniania. Skopiuj ten kod i dodaj go do pliku Code.gs:

Code.gs

var cc = DataStudioApp.createCommunityConnector();

function getAuthType() {
  var AuthTypes = cc.AuthType;
  return cc
    .newAuthTypeResponse()
    .setAuthType(AuthTypes.NONE)
    .build();
}

W tym miejscu wskazujesz, że Twój łącznik nie wymaga uwierzytelniania przez podmiot zewnętrzny (AuthTypes.NONE). Aby zobaczyć wszystkie obsługiwane metody uwierzytelniania, zapoznaj się z dokumentacją AuthType().

7. Definiowanie funkcji getConfig()

Zanim użytkownicy będą mogli zacząć korzystać z Twojego łącznika, muszą go skonfigurować. Odpowiedź funkcji getConfig() określa opcje konfiguracji, które zobaczą użytkownicy. Studio danych wywołuje funkcję getConfig(), aby uzyskać szczegóły konfiguracji oprogramowania sprzęgającego. Na podstawie odpowiedzi podanej przez getConfig() Studio danych wyświetli ekran konfiguracji łącznika i zmieni niektóre jego zachowania.

Na ekranie konfiguracji możesz podawać informacje lub uzyskiwać dane wejściowe od użytkownika za pomocą tych elementów formularza:

TEXTINPUT

Element wejściowy

Pole tekstowe z jednym wierszem.

TEXTAREA

Element wejściowy

Wielowierszowe pole tekstowe.

SELECT_SINGLE

Element wejściowy

Menu z opcjami jednokrotnego wyboru.

SELECT_MULTIPLE

Element wejściowy

Menu z opcjami wielokrotnego wyboru.

CHECKBOX

Element wejściowy

Pojedyncze pole wyboru, które może służyć do przechwytywania wartości logicznych.

INFO

Element wyświetlany

Statyczne pole tekstowe, które może służyć do przekazywania użytkownikowi instrukcji lub informacji.

Użyj elementu INFO, aby podać instrukcje dla użytkownika, a elementu TEXTINPUT, aby uzyskać od użytkownika nazwę pakietu wejściowego. W getConfig() odpowiedzi zgrupujesz te elementy formularza pod kluczem configParams.

Interfejs API, z którym się łączysz, wymaga daty jako parametru, więc w odpowiedzi getConfig() ustaw dateRangeRequired na true. Dzięki temu Studio danych będzie uwzględniać zakresy dat we wszystkich żądaniach danych. Jeśli źródło danych nie wymaga daty jako parametru, możesz ją pominąć.

Dodaj do pliku Code.gs ten kod getConfig() poniżej istniejącego kodu dla getAuthType():

Code.gs

function getConfig(request) {
  var config = cc.getConfig();
  
  config.newInfo()
    .setId('instructions')
    .setText('Enter npm package names to fetch their download count.');
  
  config.newTextInput()
    .setId('package')
    .setName('Enter a single package name')
    .setHelpText('e.g. googleapis or lighthouse')
    .setPlaceholder('googleapis');
  
  config.setDateRangeRequired(true);
  
  return config.build();
}

Na podstawie tych parametrów konfiguracji, gdy użyjesz łącznika w Studio danych, zobaczysz ekran konfiguracji podobny do tego poniżej. Ale o tym opowiemy później.

7de872f17e59e92.png

Przejdźmy do następnej funkcji – getSchema().

8. Definiowanie funkcji getSchema()

Studio danych wywołuje funkcję getSchema(), aby uzyskać schemat powiązany z konfiguracją wybraną przez użytkownika dla łącznika. Na podstawie odpowiedzi podanej przez getSchema() Studio danych wyświetli użytkownikowi ekran pól z listą wszystkich pól w łączniku.

W przypadku każdej konfiguracji łącznika schemat to lista wszystkich pól, dla których łącznik może dostarczać dane. W zależności od konfiguracji łącznik może zwracać różne schematy z różnymi polami. Schemat może zawierać pola pobierane ze źródła interfejsu API, pola obliczane w Apps Script i pola obliczane w Data Studio za pomocą formuły pola obliczeniowego. Łącznik udostępnia metadane każdego pola w schemacie, w tym:

  • Nazwa pola
  • Typ danych pola
  • Informacje semantyczne

Aby dowiedzieć się więcej, zapoznaj się z informacjami w sekcjach getSchema()Field.

W zależności od sposobu pobierania danych przez łącznik schemat może być stały lub obliczany dynamicznie po wywołaniu funkcji getSchema(). Parametry konfiguracji z funkcji getConfig() zdefiniowane przez użytkownika będą przekazywane w argumencie request funkcji getSchema().

W tym ćwiczeniu nie musisz uzyskiwać dostępu do argumentu request. Więcej informacji o argumencie request znajdziesz w następnym segmencie, w którym będziesz pisać kod funkcji getData().

Schemat łącznika jest stały i zawiera te 3 pola:

packageName

Nazwa pakietu npm podana przez użytkownika

downloads

Liczba pobrań pakietu npm

day

Data liczby pobrań

Poniżej znajdziesz kod getSchema() konektora. Funkcja pomocnicza getFields() wyodrębnia tworzenie pól, ponieważ ta funkcja jest potrzebna zarówno w przypadku getSchema(), jak i getData(). Dodaj ten kod do pliku Code.gs:

Code.gs

function getFields(request) {
  var cc = DataStudioApp.createCommunityConnector();
  var fields = cc.getFields();
  var types = cc.FieldType;
  var aggregations = cc.AggregationType;
  
  fields.newDimension()
    .setId('packageName')
    .setType(types.TEXT);
  
  fields.newMetric()
    .setId('downloads')
    .setType(types.NUMBER)
    .setAggregation(aggregations.SUM);
  
  fields.newDimension()
    .setId('day')
    .setType(types.YEAR_MONTH_DAY);
  
  return fields;
}

function getSchema(request) {
  var fields = getFields(request).build();
  return { schema: fields };
}

Na podstawie tego schematu możesz oczekiwać, że na ekranie pól Studia danych zobaczysz te pola, gdy użyjesz łącznika w Studio danych. Więcej informacji na ten temat znajdziesz w dalszej części artykułu, gdy będziesz testować oprogramowanie sprzęgające.

c7cd7057b202be59.png

Przejdźmy do naszej ostatniej funkcji – getData().

9. Definiowanie funkcji getData() : część 1

Studio danych wywołuje funkcję getData() za każdym razem, gdy musi pobrać dane. Na podstawie odpowiedzi podanej przez getData() Studio danych będzie renderować i aktualizować wykresy w panelu. Funkcja getData() może być wywoływana w tych przypadkach:

  • Użytkownik dodaje wykres do panelu
  • Użytkownik edytuje wykres
  • Użytkownik wyświetla panel
  • Użytkownik edytuje filtr lub powiązane ustawienie danych
  • Studio danych potrzebuje próbki danych

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz gotowy

getData()

w kolejnym kroku.

Obiekt request

Studio danych przekazuje obiekt request z każdym wywołaniem getData(). Sprawdź strukturę obiektu request poniżej. Pomoże Ci to napisać kod funkcji getData().

Struktura obiektu request

{
  configParams: object,
  scriptParams: object,
  dateRange: {
    startDate: string,
    endDate: string
  },
  fields: [
    {
      name: Field.name
    }
  ]
}
  • Obiekt configParams będzie zawierać wartości konfiguracji parametrów zdefiniowanych w getConfig() i skonfigurowanych przez użytkownika.
  • Obiekt scriptParams będzie zawierać informacje związane z wykonaniem łącznika. W tym ćwiczeniu nie musisz z niego korzystać.
  • dateRange będzie zawierać żądany zakres dat, jeśli został on uwzględniony w odpowiedzi getConfig().
  • fields będzie zawierać listę nazw pól, dla których są wymagane dane.

W przypadku łącznika przykład funkcji requestgetData() może wyglądać tak:

{
  configParams: {
    package: 'jquery'
  },
  dateRange: {
    startDate: '2017-07-16',
    endDate: '2017-07-18'
  },
  fields: [
    {
      name: 'day',
    },
    {
      name: 'downloads',
    }
  ]
}

W przypadku wywołania getData() w powyższym request żądane są tylko 2 pola, mimo że schemat złącza zawiera dodatkowe pola. Na następnej stronie znajdziesz przykładową odpowiedź na to wywołanie getData() i ogólną strukturę odpowiedzi getData().

10. Definiowanie funkcji getData() – część 2

getData()odpowiedzigetData() musisz podać zarówno schemat, jak i dane w przypadku żądanych pól. Kod podzielisz na 3 segmenty:

  • Utwórz schemat dla żądanych pól.
  • Pobieranie i parsowanie danych z interfejsu API.
  • przekształcanie przeanalizowanych danych i filtrowanie ich pod kątem żądanych pól;

Nie musisz kopiować żadnego kodu z tej strony, ponieważ skopiujesz gotowy

getData()

kod na następnej stronie.

To struktura getData() dla Twojego oprogramowania sprzęgającego.

function getData(request) {

  // TODO: Create schema for requested fields.
  
  // TODO: Fetch and parse data from API.
  
  // TODO: Transform parsed data and filter for requested fields.

  return {
    schema: <filtered schema>,
    rows: <transformed and filtered data>
  };
}

Tworzenie schematu dla żądanych pól

// Create schema for requested fields
  var requestedFieldIds = request.fields.map(function(field) {
    return field.name;
  });
  var requestedFields = getFields().forIds(requestedFieldIds);

Pobieranie i parsowanie danych z interfejsu API

Adres URL interfejsu npm API będzie miał ten format:

https://api.npmjs.org/downloads/point/{start_date}:{end_date}/{package}

Utwórz adres URL interfejsu API, używając wartości request.dateRange.startDate, request.dateRange.endDaterequest.configParams.package podanych przez Studio danych. Następnie pobierz dane z interfejsu API za pomocą funkcji UrlFetchApp(klasa Apps Script: reference). Potem przeanalizuj pobraną odpowiedź.

  // Fetch and parse data from API
  var url = [
    'https://api.npmjs.org/downloads/range/',
    request.dateRange.startDate,
    ':',
    request.dateRange.endDate,
    '/',
    request.configParams.package
  ];
  var response = UrlFetchApp.fetch(url.join(''));
  var parsedResponse = JSON.parse(response).downloads;

Przekształcanie przeanalizowanych danych i filtrowanie ich pod kątem żądanych pól

Odpowiedź z interfejsu npm API będzie miała następujący format:

{
  downloads: [
    {
    day: '2014-02-27',
    downloads: 1904088
    },
    ..
    {
    day: '2014-03-04',
    downloads: 7904294
    }
  ],
  start: '2014-02-25',
  end: '2014-03-04',
  package: 'somepackage'
}

Przekształć odpowiedź z interfejsu npm API i podaj getData() w tym formacie: Jeśli ten format jest niejasny, zapoznaj się z przykładową odpowiedzią w następnym akapicie.

{
  schema: [
    {
      object(Field)
    }
  ],
  rows: [
    {
      values: [string]
    }
  ]
}

W odpowiedzi zwróć schemat tylko dla żądanych pól, używając właściwości schema. Dane zwrócisz za pomocą właściwości rows w postaci listy wierszy. W przypadku każdego wiersza kolejność pól w values musi być zgodna z kolejnością pól w schema. Na podstawie wcześniejszego przykładu request odpowiedź dla getData() będzie wyglądać tak:

{
  schema: requestedFields.build(),
  rows: [
    {
      values: [ 38949, '20170716']
    },
    {
      values: [ 165314, '20170717']
    },
    {
      values: [ 180124, '20170718']
    },
  ]
}

Podzbiór schematu został już utworzony. Użyj tej funkcji, aby przekształcić przeanalizowane dane i odfiltrować je pod kątem żądanych pól.

function responseToRows(requestedFields, response, packageName) {
  // Transform parsed data and filter for requested fields
  return response.map(function(dailyDownload) {
    var row = [];
    requestedFields.asArray().forEach(function (field) {
      switch (field.getId()) {
        case 'day':
          return row.push(dailyDownload.day.replace(/-/g, ''));
        case 'downloads':
          return row.push(dailyDownload.downloads);
        case 'packageName':
          return row.push(packageName);
        default:
          return row.push('');
      }
    });
    return { values: row };
  });
}

11. Definiowanie funkcji getData() : część 3

Połączony kod getData() będzie wyglądać jak ten poniżej. Dodaj do pliku Code.gs ten kod:

Code.gs

function responseToRows(requestedFields, response, packageName) {
  // Transform parsed data and filter for requested fields
  return response.map(function(dailyDownload) {
    var row = [];
    requestedFields.asArray().forEach(function (field) {
      switch (field.getId()) {
        case 'day':
          return row.push(dailyDownload.day.replace(/-/g, ''));
        case 'downloads':
          return row.push(dailyDownload.downloads);
        case 'packageName':
          return row.push(packageName);
        default:
          return row.push('');
      }
    });
    return { values: row };
  });
}

function getData(request) {
  var requestedFieldIds = request.fields.map(function(field) {
    return field.name;
  });
  var requestedFields = getFields().forIds(requestedFieldIds);

  // Fetch and parse data from API
  var url = [
    'https://api.npmjs.org/downloads/range/',
    request.dateRange.startDate,
    ':',
    request.dateRange.endDate,
    '/',
    request.configParams.package
  ];
  var response = UrlFetchApp.fetch(url.join(''));
  var parsedResponse = JSON.parse(response).downloads;
  var rows = responseToRows(requestedFields, parsedResponse, request.configParams.package);

  return {
    schema: requestedFields.build(),
    rows: rows
  };
}

Plik Code.gs jest gotowy. Następnie zaktualizuj plik manifestu.

12. Aktualizowanie pliku manifestu

W edytorze skryptów Apps Script kliknij Ustawienia projektu > Wyświetlaj plik manifestu „appsscript.json” w edytorze.

90a68a58bbbb63c4.png

Spowoduje to utworzenie nowego pliku manifestu appsscript.json.

1081c738d5d577a6.png

Zastąp plik appscript.json tym kodem:

appsscript.json

{
  "timeZone": "America/Los_Angeles",
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",

  "dataStudio": {
    "name": "npm Downloads - From Codelab",
    "logoUrl": "https://raw.githubusercontent.com/npm/logos/master/npm%20logo/npm-logo-red.png",
    "company": "Codelab user",
    "companyUrl": "https://developers.google.com/looker-studio/",
    "addonUrl": "https://github.com/googledatastudio/example-connectors/tree/master/npm-downloads",
    "supportUrl": "https://github.com/googledatastudio/community-connectors/issues",
    "description": "Get npm package download counts.",
    "sources": ["npm"]
  }
}

Zapisz projekt Apps Script.

5701ece1c89415c.png

Gratulacje! Pierwsze społecznościowe oprogramowanie sprzęgające zostało utworzone i jest gotowe do testowania.

13. Testowanie oprogramowania sprzęgającego w Studiu danych

Korzystanie z wdrożenia

Krok 1. W środowisku programistycznym Apps Script kliknij Wdróż > Testowe wdrożenia, aby otworzyć okno Testowe wdrożenia.

3f57ea0feceb2596.png

Wyświetlone zostanie domyślne wdrożenie Wdrożenie główne.

Krok 2. Kliknij Kopiuj, aby skopiować identyfikator wdrożenia nagłówka.

Krok 3. Aby wczytać łącznik w Studiu danych, zastąp w tym linku symbol zastępczy <HEAD_DEPLOYMENT_ID> identyfikatorem wdrożenia głównego łącznika i kliknij link w przeglądarce:

https://lookerstudio.google.com/datasources/create?connectorId=<HEAD_DEPLOYMENT_ID>

Autoryzowanie oprogramowania sprzęgającego

Użytkownicy, którzy korzystają ze Studia danych po raz pierwszy: jeśli nie używasz jeszcze Studia danych, pojawi się prośba o przyznanie mu uprawnień i zaakceptowanie warunków. Przeprowadź proces autoryzacji. Podczas pierwszego użycia Studia danych może się też pojawić okno z prośbą o zaktualizowanie preferencji marketingowych. Jeśli chcesz otrzymywać e-maile z informacjami o najnowszych funkcjach, aktualizacjach i nowościach, zarejestruj się, aby otrzymywać ogłoszenia o usługach.

Po wczytaniu pojawi się prośba o autoryzację łącznika.

d7e66726a1e64c05.png

Kliknij Autoryzuj i przyznaj oprogramowaniu sprzęgającemu wymagane uprawnienia.

Konfigurowanie oprogramowania sprzęgającego

Po zakończeniu autoryzacji pojawi się ekran konfiguracji. Wpisz „lighthouse” w obszarze wprowadzania tekstu i w prawym górnym rogu kliknij Połącz.

ec7416d6dbeabc8f.png

Potwierdź schemat

Zobaczysz ekran pól. W prawym górnym rogu kliknij Utwórz raport.

4a9084bd51d2fbb8.png

Tworzenie panelu informacyjnego

Znajdziesz się w środowisku panelu Studia danych. Kliknij Dodaj do raportu.

1ca21e327308237c.png

W Studiu danych za każdym razem, gdy użytkownik uzyskuje dostęp do łącznika i dodaje nową konfigurację, na jego koncie w Studiu danych tworzone jest nowe źródło danych. Źródło danych to instancja łącznika utworzona na podstawie określonej konfiguracji. Na podstawie wybranego przez użytkownika oprogramowania sprzęgającego i konfiguracji źródło danych zwróci tabelę danych z określonym zestawem pól. Użytkownicy mogą tworzyć wiele źródeł danych z tego samego łącznika. Źródło danych może być używane w wielu raportach, a ten sam raport może korzystać z wielu źródeł danych.

Teraz dodaj wykres szeregów czasowych. W menu kliknij Wstaw > Szereg czasowy. Następnie umieść szereg czasowy na obszarze roboczym. Powinien pojawić się wykres szeregów czasowych liczby pobrań pakietu npm dla wybranego pakietu. Dodaj kontrolkę filtra dat i wyświetl panel, jak pokazano poniżej.

4c076e07665f57aa.gif

To wszystko. Właśnie udało Ci się utworzyć pierwsze społecznościowe oprogramowanie sprzęgające. To już koniec tego ćwiczenia. Zobaczmy teraz, jakie dalsze kroki możesz podjąć.

14. Dalsze kroki

Ulepszanie utworzonego łącznika

Wprowadź ulepszenia do utworzonego właśnie łącznika:

  • Jeśli w Data Studio nie podasz nazwy pakietu na ekranie konfiguracji oprogramowania sprzęgającego, podczas rysowania wykresu szeregów czasowych zobaczysz komunikat o błędzie. Spróbuj dodać do konfiguracji oprogramowania sprzęgającego weryfikację danych wejściowych lub opcję domyślną.
  • Spróbuj dodać do konfiguracji oprogramowania sprzęgającego obsługę zapytań dotyczących wielu nazw pakietów jednocześnie. Wskazówka: interfejs API liczby pobrań pakietu npm obsługuje wprowadzanie wielu nazw pakietów oddzielonych przecinkami.
  • Rozwiązania obu tych problemów znajdziesz w kodzie złącza npm.

Więcej możliwości dzięki złączom społeczności

Dodatkowe materiały

Poniżej znajdziesz różne materiały, które pomogą Ci lepiej poznać tematy poruszane w tym module.

Typ zasobu

Funkcje dla użytkowników

Funkcje dla programistów

Dokumentacja

Centrum pomocy

Dokumentacja dla deweloperów

Wiadomości i aktualności

Zarejestruj się w Studio danych > Ustawienia użytkownika.

Lista adresowa deweloperów

Zadawanie pytań

Forum użytkowników

Stack Overflow [looker-studio]

Filmy

DataVis DevTalk

Przykłady

Repozytorium open source