SPB Git forge
38commits 1branches 0releases
338.7 MBsize
maindefault branch
3 h agolast push
HTML 53.9% TypeScript 44.5% JavaScript 0.6% SQL 0.5%
3.4 KB · 42 lines markdown
Rendered Raw Blame History
1# digitalrealty — Digital Realty facilities23| | |4|---|---|5| Config | `config/connectors/digitalrealty.yaml` |6| Parser | `apps/worker/src/connectors/operators1/digitalrealty.ts` → `digitalrealty_facility_v1` |7| Kind / priority | operator / 1 |8| License / attribution | Publicly accessible operator pages; factual data only; © Digital Realty Trust, Inc. |9| Cadence | facility pages weekly · newsroom daily · index monthly · sitemap weekly |1011## What is crawled12- Sitemap `https://www.digitalrealty.com/en-sitemap.xml` only (the root index lists 6 locale mirrors — de/fr/es/ko/zh/it — of the same facilities).13- Facility pages `/data-centers/<region>/<metro>/<code>` (259), metro pages `/data-centers/<region>/<metro>` and region pages → `index`.14- Press releases `/about/newsroom/press-releases/<id>/<slug>` (503) → `newsroom` (GenericConnector news fallback; no RSS exists — `/rss.xml`, `/feed`, `/about/newsroom/rss.xml` are 404).15- robots.txt disallows `/taxonomy/`, `/node/` only.1617## Access18Open site; bot UA at L1 works (0 credits). `maxLevel: 4` kept for resilience, `maxCreditsPerRun: 40`.1920## Fields (method)21The page is Next.js; `__NEXT_DATA__.props.pageProps.data` is the Drupal node (`content_type: "location"`):22- `code` ← `field_site_code_location` (IAD12, FRA1, JB1+JB3); `name` ← `h1.hero-title` ("Northern Virginia IAD12").23- `address`/`city`/`regionName`/`postalCode` ← `field_address_location` parsed (NA "…, Ashburn, VA 20147"; EU "…, 60314 Frankfurt am Main, Germany" / "…, Vienna, 1210, Austria"). City falls back to `metro` when the address has no city (except market names like "Northern Virginia").24- `countryIso2` ← `country` ("USA", "Germany"); fallback address, then intro/description text (BOG1 has `country: "Bogota"` — junk in the source).25- `lat`/`lng` ← `field_latitude` / `field_longitude` → `exact`.26- `buildingSqm` ← `field_total_building_size_in_m2` (or ft² × 0.0929).27- `pue` ← `field_design_pue`; `certifications` ← `field_certifications_compliance[].name` + `field_certifications_sustainabil[].name`; `cloudProviders` ← `field_available_clouds[].name` ("(Physical)" suffix stripped).28- `renewableClaim` ← `field_carbon_free_energy` / `field_renewable_energy` percentages, phrased "45% carbon-free energy; 5% renewable energy (operator-reported)".29- `description` ← `field_meta_tags.description` + "UPS redundancy: 2N. Cooling redundancy: N+1."30- **Not used:** `field_utility_power_capacity` — units are inconsistent across pages (16000 for IAD12 vs 120 for FRA1), so no MW is emitted rather than guessing.31- Key `digitalrealty:<CODE>`; `externalIds.digitalrealty_node`, `digitalrealty_site_code`.3233## Verification (2026-09-11)34- Discovery: 826 URLs → `facility_pages=259`, `newsroom=502`, `index=65`.35- `--url` IAD12: 43881 Devin Shafron Drive (Bldg B), Ashburn, VA 20147, US, geo 39.00203/-77.48344, 13,900 m², PUE 1.56, 7 certifications incl. LEED Gold — matches the live page.36- `--url` FRA1: Hanauer Landstrasse 302, 60314 Frankfurt am Main, DE, geo 50.11951/8.73549, 1,100 m², clouds Azure/Google/IBM/Oracle.37- Sweep of 8 spread pages (PAR13, BOG1, CT1, FRA14, JB1+JB3, MIA10, SFO10, VIE2): 8/8 valid, all with coordinates + building size. Newsroom sample 4/4 valid news events. Credits: 0.3839## Gaps / TODO40- BOG1: country still null (source says "Bogota"; intro text has no country name) — ingest can resolve from coordinates.41- No MW per facility (see utility field note).42