Dokumentacja dla programistów

Obsługa wielu regionów

Planowanie aplikacjiAplikacje monday.com
Aktualizacja 2026-01-08

Centra danych monday.com i monday code znajdują się w czterech różnych regionach: US (Stany Zjednoczone), EU (Europa), AU (Australia) i IL (Izrael). Dzięki funkcji obsługi wielu regionów publiczne aplikacje monday code można wdrażać we wszystkich regionach!

Dzięki temu dane klientów pozostają w ich regionie, aplikacje łatwiej spełniają wymogi przepisów obowiązujących w poszczególnych regionach (np. RODO), a opóźnienia są mniejsze. Nie trzeba przy tym konfigurować złożonej infrastruktury w wielu jurysdykcjach.

Kto może korzystać z tej funkcji

Funkcja obsługi wielu regionów jest dostępna dla publicznych aplikacji monday code. Jeśli masz prywatną aplikację, nowe wdrożenia będą domyślnie trafiać do regionu przypisanego do Twojego konta. Aby sprawdzić, w którym regionie się znajdujesz, wykonaj te kroki:

  1. Otwórz konto monday i kliknij swoje zdjęcie profilowe w prawym górnym rogu.
  2. Wybierz Administracja (Administration).
  3. Region znajdziesz w sekcji Ogólne (General) > Profil (Profile).
Obsługa wielu regionów - ilustracja 1

Podstawowe informacje

Dla deweloperów

Regiony wdrożenia aplikacji zależą od tego, czy funkcja obsługi wielu regionów jest włączona. Poniższa tabela przedstawia sposób działania funkcji z perspektywy deweloperów aplikacji:

Funkcja obsługi wielu regionów Region
Wyłączona Region konta dewelopera
Włączona US, EU, AU, IL (po wdrożeniu w poszczególnych regionach)

Jeśli wdrożenie aplikacji miało miejsce przed wprowadzeniem obsługi wielu regionów (sierpień 2024 r.), aplikacja będzie hostowana na serwerach w US. Włącz obsługę wielu regionów, jeśli chcesz udostępniać aplikację z innego regionu.

Dla użytkowników końcowych

Użytkownicy końcowi otrzymają wersję aplikacji odpowiednią dla ich regionu. Poniższa tabela przedstawia sposób działania funkcji z perspektywy użytkowników końcowych:

Funkcja obsługi wielu regionów Region
Wyłączona Region, w którym wdraża deweloper
Włączona Region konta klienta

Wdrażanie

Aby skorzystać z funkcji obsługi wielu regionów, najpierw ją włącz, a następnie wdróż aplikację osobno w każdym regionie. Po włączeniu funkcja dotyczy tylko nowych wdrożeń aplikacji.

Jeśli masz więcej niż jedną aplikację, powtórz te czynności dla każdej z nich. Jeśli nie wdrożysz aplikacji osobno w każdym regionie, nie będzie można opublikować jej wersji.

Po włączeniu funkcji obsługi wielu regionów i opublikowaniu jej nie można jej wyłączyć.

Krok 1: Utwórz lub otwórz wersję roboczą

Funkcję można włączyć tylko w wersji roboczej, więc utwórz nową albo otwórz istniejącą.

Krok 2: Włącz obsługę wielu regionów

  1. Otwórz kartę Ogólne (General) monday code w Developer Center.
  2. Kliknij Włącz obsługę wielu regionów (Enable multi-region support).
  3. Zobaczysz teraz wszystkie cztery regiony.

Jeśli nie możesz włączyć funkcji obsługi wielu regionów, sprawdź, czy Twoja aplikacja:

Krok 3: Połącz aplikację z monday code w każdym regionie

  1. Na karcie General kliknij Połącz z monday code (Connect to monday code) przy regionie Europe lub Australia.
  2. Wdróż aplikację, używając flagi regionu:
Długa flaga Krótka flaga Opis Akceptowane wartości
--region -z Region, w którym wdrożyć aplikację eu, us, au, il
  1. Powtórz te czynności dla każdego regionu.
mapps code:push -i 1234567 -z au

Krok 4: Skonfiguruj zmienne środowiskowe i sekrety

Zmienne środowiskowe i sekrety należy skonfigurować osobno dla każdego regionu. Pamiętaj, że zasady alertów konfiguruje się globalnie.

Istniejące zmienne środowiskowe i sekrety

  1. Kliknij Edytuj zmienną (Edit variable) lub Edytuj sekret (Edit secret).
  2. Wprowadź wartość dla wszystkich regionów.
  3. Kliknij Zapisz (Save).

Nowe zmienne środowiskowe i sekrety

  1. Kliknij Dodaj nową zmienną (Add new variable) lub Dodaj nowy sekret (Add new secret).
  2. Wprowadź wartość dla wszystkich regionów.
  3. Kliknij Zapisz (Save).

Krok 5: Opublikuj nową wersję

Tymczasowy wymóg dotyczący istniejących aplikacji obsługujących wiele regionów:

Jeśli obsługa wielu regionów jest już włączona w Twojej aplikacji, następna wersja, którą opublikujesz, musi być również wdrożona w nowym regionie IL.

To jednorazowy wymóg dla każdej aplikacji, związany z wprowadzeniem nowego regionu IL. Po pomyślnym opublikowaniu wersji wdrożonej w IL kolejne wersje można publikować jak zwykle.

Więcej informacji o nowym regionie znajdziesz tutaj.

Gdy aplikacja będzie gotowa, możesz opublikować wersję roboczą!

Uwaga: Po opublikowaniu aplikacji nie można wyłączyć funkcji obsługi wielu regionów.

Działanie po stronie klienta

Gdy aplikacja monday code działa na koncie użytkownika, otrzymuje obiekt kontekstu zawierający informację o regionie konta. Możesz użyć tej informacji, aby określić, z którym wdrożeniem monday code aplikacja powinna się komunikować.

Wybieranie właściwego regionalnego punktu końcowego

Adres URL dostępny w metadanych wersji aplikacji pozwala pobrać bazowy adres URL hostingu monday code właściwy dla danego regionu. Nie musisz ręcznie określać punktu końcowego na podstawie wartości context.region (np. use1, eu1, ap1).

const context = await monday.get("context");
const url = context.appVersion.mondayCodeHostingUrl;

Dzięki temu nie musisz utrzymywać logiki mapowania regionów. Aplikacja będzie działać również po wprowadzeniu nowych regionów, a żądania będą zawsze kierowane do właściwego wdrożenia zaplecza monday code.

Przykład

{
  "method": "get",
  "type": "context",
  "data": {
    "themeConfig": {}, // may be "undefined" if the default theme is used, defines the color scheme and styling configuration for the app
    "theme": "light", // or "dark" or "black"
    "account": {
      "id": "5"
    },
    "user": {
      "id": "28659824",
      "isAdmin": false,
      "isGuest": false,
      "isViewOnly": false,
      "countryCode": "US",
      "currentLanguage": "en",
      "timeFormat": "12H", // or 24H
      "timeZoneOffset": 2 // timezone offset based on GMT
    },
    "region": "use1", // availability zone ID
    "boardId": 4213911112, // unique board ID
    "boardIds": [ // list of connected boards
      4213911111
    ],
    "boardViewId": 122234064, // unique board view ID
    "viewMode": "mobile", // not available for item views
    "instanceId": 122234064, // unique instance ID for the feature on the board
    "instanceType": "board_view", // app feature type
    "mode": "mobile", 
    "app": {
      "id": 10089476,
      "clientId": "78643ruyagduyg743tyr812uygd74"
    },
    "appVersion": {
      "id": 10124592,
      "name": "Monday SDK Mobile Dev Playground",
      "status": "live",
      "type": "minor",
            "mondayCodeHostingUrl": "https://b325b-service-25854030-b5796b91.us.monday.app", // used only for monday code apps; specifies the region-based hosting URL for server-side code
      "versionData": {
        "major": 1,
        "minor": 0,
        "patch": 0,
        "number": 31,
        "type": "major",
        "displayNumber": "v31"
      }
    },
    "appFeature": {
      "type": "AppFeatureBoardView",
      "name": "Monday SDK - board view"
    },
    "permissions": {
      "approvedScopes": [
        "me:read",
        "boards:read",
        "boards:write",
        "docs:read",
        "docs:write",
        "workspaces:read",
        "workspaces:write",
        "users:read",
        "users:write",
        "account:read",
        "notifications:write",
        "updates:read",
        "updates:write",
        "assets:read",
        "tags:read",
        "teams:read",
        "teams:write",
        "webhooks:write",
        "webhooks:read"
      ],
      "requiredScopes": [
        "me:read",
        "boards:read",
        "boards:write",
        "docs:read",
        "docs:write",
        "workspaces:read",
        "workspaces:write",
        "users:read",
        "users:write",
        "account:read",
        "notifications:write",
        "updates:read",
        "updates:write",
        "assets:read",
        "tags:read",
        "teams:read",
        "teams:write",
        "webhooks:write",
        "webhooks:read"
      ]
    }
  },
  "requestId": "ABCD"
}