Data, Main Only
- serverless, microservices, event-driven
- Case 1
- Case 2mungeol.heo@gmail.com
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var r = ss.getActiveCell();
//1.Change 'Sheet1' to be matching your sheet name
if (r.getColumn() > 1 && ss.getName()=='Sheet1') { // 2. If Edit is done in any column after Column (A) And sheet name is Sheet1 then:
var celladdress ='A'+ r.getRowIndex()
ss.getRange(celladdress).setValue(new Date()).setNumberFormat("yyyy-MM-dd hh:mm:ss");
}
};
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 4;
var tableRange = "B3:E9";
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy } );
}
}
test = sns.distplot(df.BattlePower_diff, 100, kde=False)
plt.xticks(rotation=90)
test.xaxis.set_major_locator(plt.MaxNLocator(200))
{
$or:[
{createdAt: {$gte: ISODate("2023-07-26T00:00:00.000+09:00"), $lt: ISODate("2023-07-27T00:00:00.000+09:00")}},
{updatedAt: {$gte: ISODate("2023-07-26T00:00:00.000+09:00"), $lt: ISODate("2023-07-27T00:00:00.000+09:00")}},
]
}
{
$or:[
{createdAt: {$gte: ISODate("2023-07-25T15:00:00.000+00:00"), $lt: ISODate("2023-07-26T15:00:00.000+00:00")}},
{updatedAt: {$gte: ISODate("2023-07-25T15:00:00.000+00:00"), $lt: ISODate("2023-07-26T15:00:00.000+00:00")}},
]
}
Monitoring, Alerting 2 Slack
main:
params: [input]
steps:
- assignArgs:
assign:
- projectID: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
- response: ${input}
- jobId: ${"step-spark-postgresql-2-bigquery-" + text.substring(response.data.resource.labels.cluster_name, 36, 49)}
- checkOperation:
switch:
- condition: ${"first" in response.data.operation}
next: getJob
next: returnOutput
- getJob:
call: http.get
args:
auth:
type: OAuth2
scopes: https://www.googleapis.com/auth/cloud-platform
url: ${"https://dataproc.googleapis.com/v1/projects/" + projectID + "/regions/asia-northeast1/jobs/" + jobId}
result: response
- checkStatus:
switch:
- condition: ${response.body.status.state == "ERROR"}
next: sendSlack
next: returnOutput
- sendSlack:
call: http.post
args:
headers: {Content-type: application/json, Authorization: Bearer xoxb-your-token}
url: https://slack.com/api/chat.postMessage
body: { "channel": "your-channel-id", "text": '${"https://console.cloud.google.com/dataproc/jobs/" + jobId + "?region=asia-northeast1&project=" + projectID}'}
- returnOutput:
return: ${response}