-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathconstants.py
126 lines (116 loc) · 3.71 KB
/
constants.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Constants used across BigQuery DataFrames.
This module should not depend on any others in the package.
"""
import datetime
import textwrap
DEFAULT_EXPIRATION = datetime.timedelta(days=7)
# https://cloud.google.com/bigquery/docs/locations
BIGQUERY_REGIONS = frozenset(
{
"africa-south1",
"asia-east1",
"asia-east2",
"asia-northeast1",
"asia-northeast2",
"asia-northeast3",
"asia-south1",
"asia-south2",
"asia-southeast1",
"asia-southeast2",
"australia-southeast1",
"australia-southeast2",
"europe-central2",
"europe-north1",
"europe-southwest1",
"europe-west1",
"europe-west10",
"europe-west12",
"europe-west2",
"europe-west3",
"europe-west4",
"europe-west6",
"europe-west8",
"europe-west9",
"me-central1",
"me-central2",
"me-west1",
"northamerica-northeast1",
"northamerica-northeast2",
"southamerica-east1",
"southamerica-west1",
"us-central1",
"us-east1",
"us-east4",
"us-east5",
"us-south1",
"us-west1",
"us-west2",
"us-west3",
"us-west4",
}
)
BIGQUERY_MULTIREGIONS = frozenset(
{
"EU",
"US",
}
)
ALL_BIGQUERY_LOCATIONS = frozenset(BIGQUERY_REGIONS.union(BIGQUERY_MULTIREGIONS))
# https://cloud.google.com/storage/docs/regional-endpoints
REP_ENABLED_BIGQUERY_LOCATIONS = frozenset(
{
"europe-west3",
"europe-west8",
"europe-west9",
"me-central2",
"us-central1",
"us-central2",
"us-east1",
"us-east4",
"us-east5",
"us-east7",
"us-south1",
"us-west1",
"us-west2",
"us-west3",
"us-west4",
}
)
# https://cloud.google.com/storage/docs/locational-endpoints
LEP_ENABLED_BIGQUERY_LOCATIONS = frozenset(
ALL_BIGQUERY_LOCATIONS - REP_ENABLED_BIGQUERY_LOCATIONS
)
LEP_DEPRECATION_WARNING_MESSAGE = textwrap.dedent(
"""
Support for regional endpoints is not yet available in the location
{location} for BigQuery and BigQuery Storage APIs. For the supported
locations and APIs see https://cloud.google.com/bigquery/docs/regional-endpoints.
For other locations and APIs, currently an older, now deprecated locational
endpoints are being used, which requires your project to be allowlisted. In
future version 2.0 onwards the locational endpoints will no longer be
supported automatically when you enable regional endpoints. However, if you
still need them, you will be able to override the endpoints directly by
doing the following:
bigframes.pandas.options.bigquery.client_endpoints_override = {{
"bqclient": "https://{location}-bigquery.googleapis.com",
"bqconnectionclient": "{location}-bigqueryconnection.googleapis.com",
"bqstoragereadclient": "{location}-bigquerystorage.googleapis.com"
}}
"""
).strip()
# BigQuery default is 10000, leave 100 for overhead
MAX_COLUMNS = 9900
SUGGEST_PEEK_PREVIEW = "Use .peek(n) to preview n arbitrary rows."