Skip to content

Instantly share code, notes, and snippets.

@ninejuan
Created October 12, 2025 07:07
Show Gist options
  • Select an option

  • Save ninejuan/75b3fd514f045520e9ce7186dbf5eda0 to your computer and use it in GitHub Desktop.

Select an option

Save ninejuan/75b3fd514f045520e9ce7186dbf5eda0 to your computer and use it in GitHub Desktop.
2023 Local 2 mark sh
#!/bin/bash
### ---------------------------------------------------------------------------
### 본 파일은 23-local-2-mark.pdf의 채점 스크립트를 한번에 실행할 수 있도록 모아둔 파일입니다.
### 2023년 지방기능경기대회 과제 배포파일에는 mark.sh가 포함되지 않았습니다.
### ---------------------------------------------------------------------------
BUCKET_NAME="<선수가 생성한 S3 버킷>"
echo "========== 1-1 =========="
aws apigateway get-rest-apis --query "items[?name=='wsi-api'].name"
echo "========== 1-2 =========="
api=$(aws apigateway get-rest-apis --query "items[?name=='wsi-api'].id" --output text)
aws apigateway get-resources --rest-api-id $api --query "items[?path=='/api'].path"
echo "========== 1-3 =========="
api=$(aws apigateway get-rest-apis --query "items[?name=='wsi-api'].id" --output text)
resource=$(aws apigateway get-resources --rest-api-id $api --query "items[?path=='/api'].id"
--output text)
aws apigateway get-method --rest-api-id $api --resource-id $resource --http-method POST \
--query "methodIntegration.uri"
echo "========== 1-4 =========="
api=$(aws apigateway get-rest-apis --query "items[?name=='wsi-api'].id" --output text)
aws apigateway get-stages --rest-api-id $api --query "item[?stageName=='prod'].stageName"
echo "========== 1-5 =========="
aws s3 rm --recursive s3://$BUCKET_NAME/data/raw/
api=$(aws apigateway get-rest-apis --query "items[?name=='wsi-api'].id" --output text)
uri=https://$api.execute-api.ap-northeast-2.amazonaws.com/prod/api
echo "{\"testkey\":\"testvalue\"}" > post
curl -X POST -H "Content-Type: application/json" -d @post $uri
sleep 300
aws s3 mv --recursive s3://$BUCKET_NAME/data/raw/ ./raw
cat raw/*/*/*/*/*
echo "========== 2-1 =========="
aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion-ec2 \
--query "Reservations[].Instances[].InstanceId"
echo "========== 2-2 =========="
aws ec2 describe-instances --filter Name=tag:Name,Values=wsi-bastion-ec2 \
--query "Reservations[].Instances[].PublicIpAddress"
aws ec2 describe-addresses --query "Addresses[].PublicIp"
echo "========== 3-1 =========="
aws s3api list-buckets --query "Buckets[].Name"
echo "========== 3-2 =========="
aws s3 ls s3://$BUCKET_NAME/data/ref/
echo "========== 4-1 =========="
aws kinesis describe-stream --stream-name wsi-data-stream \
--query "StreamDescription.StreamName"
echo "========== 4-2 =========="
aws kinesis list-shards --stream-name wsi-data-stream --query "Shard[].SharId" | wc -l
echo "========== 5-1 =========="
aws firehose describe-delivery-stream --delivery-stream-name wsi-delivery-stream \
--query "DeliveryStreamDescription.DeliveryStreamName"
echo "========== 5-2 =========="
aws firehose describe-delivery-stream --delivery-stream-name wsi-delivery-stream \
--query "DeliveryStreamDescription.DeliveryStreamType"
echo "========== 5-3 =========="
aws firehose describe-delivery-stream --delivery-stream-name wsi-delivery-stream \
--query "DeliveryStreamDescription.Destinations[].S3DestinationDescription.BucketARN"
aws firehose describe-delivery-stream --delivery-stream-name wsi-delivery-stream \
--query "DeliveryStreamDescription.Destinations[].S3DestinationDescription.Prefix"
echo "========== 6-1 =========="
aws glue get-crawler --name wsi-glue-crawler --query "Crawler.Name"
echo "========== 6-2 =========="
aws glue get-database --name wsi-glue-database --query "Database.Name"
aws glue get-table --database-name wsi-glue-database --name ref --query "Table.Name"
aws glue get-table --database-name wsi-glue-database --name raw --query "Table.Name"
echo "========== 6-3 =========="
aws glue get-table --database-name wsi-glue-database --name ref \
--query "Table.StorageDescriptor.Columns[].Name"
aws glue get-table --database-name wsi-glue-database --name raw \
--query "Table.StorageDescriptor.Columns[].Name"
echo "========== 7-1 =========="
aws glue get-job --job-name wsi-glue-job --query "Job.Name"
echo "========== 7-2 =========="
echo "manual"
echo "========== 7-3 =========="
aws glue get-table --database-name wsi-glue-database --name result --query "Table.Name"
echo "========== 7-4 =========="
aws glue get-table --database-name wsi-glue-database --name result \
--query "Table.StorageDescriptor.Columns[].Name"
echo "========== 8-1 =========="
aws glue get-workflow --name wsi-glue-workflow --query "Workflow.Name"
echo "========== 8-2 =========="
echo "manual"
echo "========== 8-3 =========="
echo "manual"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment