Data, Main Only
- serverless, microservices, event-driven
- Case 1
- Case 2
mungeol.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}