2
2
3
3
# Parse arguments
4
4
while [[ $# -gt 0 ]]; do
5
- case " $1 " in
6
- --dsn)
7
- DSN=" $2 "
8
- shift 2
9
- ;;
10
- --stage)
11
- STAGE=" $2 "
12
- shift 2
13
- ;;
14
- * )
15
- if [[ " $1 " =~ ^[0-9]{8}$ ]]; then
16
- DATE_ARG=" $1 "
17
- shift
18
- else
19
- echo " Unknown parameter: $1 "
20
- exit 1
21
- fi
22
- ;;
23
- esac
5
+ case " $1 " in
6
+ --dsn)
7
+ DSN=" $2 "
8
+ shift 2
9
+ ;;
10
+ --stage)
11
+ STAGE=" $2 "
12
+ shift 2
13
+ ;;
14
+ * )
15
+ if [[ " $1 " =~ ^[0-9]{8}$ ]]; then
16
+ DATE_ARG=" $1 "
17
+ shift
18
+ else
19
+ echo " Unknown parameter: $1 "
20
+ exit 1
21
+ fi
22
+ ;;
23
+ esac
24
24
done
25
25
26
26
# Check required parameters
27
27
if [[ -z " $STAGE " || -z " $DATE_ARG " ]]; then
28
- echo " Missing required parameters: --stage or yyyymmdd date"
29
- exit 1
28
+ echo " Missing required parameters: --stage or yyyymmdd date"
29
+ exit 1
30
30
fi
31
31
32
32
# If DSN not provided, try to get from environment variable
33
33
if [[ -z " $DSN " ]]; then
34
- DSN=" $BENDSQL_DSN "
35
- if [[ -z " $DSN " ]]; then
36
- echo " --dsn parameter not provided and BENDSQL_DSN environment variable not set"
37
- exit 1
38
- fi
34
+ DSN=" $BENDSQL_DSN "
35
+ if [[ -z " $DSN " ]]; then
36
+ echo " --dsn parameter not provided and BENDSQL_DSN environment variable not set"
37
+ exit 1
38
+ fi
39
39
fi
40
40
41
41
# Format date
@@ -49,8 +49,8 @@ DOWNLOAD_SQL="PRESIGN DOWNLOAD @${STAGE}/data_${FORMATTED_DATE}.tar.gz"
49
49
DOWNLOAD_URL=$( bendsql --dsn " ${DSN} " --query=" ${DOWNLOAD_SQL} " | awk ' {print $3}' )
50
50
51
51
if [[ -z " $DOWNLOAD_URL " ]]; then
52
- echo " Failed to get download URL"
53
- exit 1
52
+ echo " Failed to get download URL"
53
+ exit 1
54
54
fi
55
55
56
56
# 2. Download the file
@@ -59,8 +59,8 @@ echo "Downloading file: ${TAR_FILE}"
59
59
curl -o " ${TAR_FILE} " " ${DOWNLOAD_URL} "
60
60
61
61
if [[ ! -f " ${TAR_FILE} " ]]; then
62
- echo " File download failed"
63
- exit 1
62
+ echo " File download failed"
63
+ exit 1
64
64
fi
65
65
66
66
# 3. Extract the file
@@ -76,25 +76,25 @@ bendsql --dsn "${DSN}" --query="DROP STAGE IF EXISTS ${UPLOAD_STAGE}"
76
76
bendsql --dsn " ${DSN} " --query=" CREATE STAGE ${UPLOAD_STAGE} "
77
77
78
78
find " ${TEMP_DIR} " -type f | while read -r FILE; do
79
- RELATIVE_PATH=" ${FILE# ${TEMP_DIR} / } "
79
+ RELATIVE_PATH=" ${FILE# ${TEMP_DIR} / } "
80
80
81
- # Get upload presigned URL
82
- UPLOAD_SQL=" PRESIGN UPLOAD @${UPLOAD_STAGE} /${RELATIVE_PATH} "
83
- UPLOAD_URL=$( bendsql --dsn " ${DSN} " --query=" ${UPLOAD_SQL} " | awk ' {print $3}' )
81
+ # Get upload presigned URL
82
+ UPLOAD_SQL=" PRESIGN UPLOAD @${UPLOAD_STAGE} /${RELATIVE_PATH} "
83
+ UPLOAD_URL=$( bendsql --dsn " ${DSN} " --query=" ${UPLOAD_SQL} " | awk ' {print $3}' )
84
84
85
- if [[ -z " $UPLOAD_URL " ]]; then
86
- echo " Failed to get upload URL for: ${RELATIVE_PATH} "
87
- continue
88
- fi
85
+ if [[ -z " $UPLOAD_URL " ]]; then
86
+ echo " Failed to get upload URL for: ${RELATIVE_PATH} "
87
+ continue
88
+ fi
89
89
90
- echo " Uploading file: ${RELATIVE_PATH} "
91
- curl -X PUT -T " ${FILE} " " ${UPLOAD_URL} "
90
+ echo " Uploading file: ${RELATIVE_PATH} "
91
+ curl -X PUT -T " ${FILE} " " ${UPLOAD_URL} "
92
92
93
- if [[ $? -eq 0 ]]; then
94
- echo " Upload successful: ${RELATIVE_PATH} "
95
- else
96
- echo " Upload failed: ${RELATIVE_PATH} "
97
- fi
93
+ if [[ $? -eq 0 ]]; then
94
+ echo " Upload successful: ${RELATIVE_PATH} "
95
+ else
96
+ echo " Upload failed: ${RELATIVE_PATH} "
97
+ fi
98
98
done
99
99
100
100
# Cleanup temporary files
@@ -132,4 +132,4 @@ bendsql --dsn "${DSN}" --database "${RESTORE_DATABASE}" --query="create table pr
132
132
bendsql --dsn " ${DSN} " --database " ${RESTORE_DATABASE} " --query=" COPY INTO profile_history FROM @${UPLOAD_STAGE} /query_profile_logs;"
133
133
echo " The '${RESTORE_DATABASE} .profile_history' table has been successfully restored"
134
134
135
- echo " Processing completed"
135
+ echo " Processing completed"
0 commit comments