Skip to content

Instantly share code, notes, and snippets.

@shiro01
shiro01 / call_external_lambda.py
Last active September 18, 2019 01:02
外部Lambda呼び出し(Python)
# https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html
#呼び出されるLambda(関数名:sample-lambda)
# Roleに必要なPolicy
# ・AWSLambdaBasicExecutionRole
def lambda_handler(event, context):
return {'test':'test'}
# 呼び出すLambda
# Roleに必要なPolicy
@shiro01
shiro01 / greet.erl
Created June 21, 2018 04:20
greet erl
-module(greet).
-export([main/0]).
main() ->
greeting("Hi", "World"),
greeting("hoge", "hogeeee").
greeting("Hi", Name) -> io:format("Hello!, ~p~n", [Name]);
greeting(H, Name) -> io:format("~p!, ~p~n", [H,Name]).
@shiro01
shiro01 / test.ex
Created June 21, 2018 04:26
elixir test code
defmodule TestCode do
def hello() do
a = [foo: "bar", hello: "world", hello: "test"]
m = %{:foo => "hoge", "hoge" => "bar"}
IO.inspect a
IO.inspect m[m.foo]
m2 = %{m | :foo => "hhhh"}
IO.inspect m.foo
IO.inspect m2.foo
//API実行用関数(POST)
function fetchUrlPost(URL, request, requestHeaders) {
return new Promise(function(resolve, reject) {
fetch(URL, {
mode: 'cors',
method: 'POST',
body: JSON.stringify(request),
headers: requestHeaders
}).then(response => {
console.log("HTTP STATUS :" + String(response.status));
@shiro01
shiro01 / lambda@edge_resource_policie.json
Created July 5, 2018 02:44
Lambda@Edge用のロール
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-permissions.html
ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
@shiro01
shiro01 / athena_query_from_s3.py
Last active July 24, 2018 04:13
LambdaでS3のファイルパスからAthena用パーティション設定Queryを作成し実行する
# 使用するIAMロールに設定するポリシー
# AmazonAthenaFullAccess
# AmazonS3ReadOnlyAccess
# AWSLambdaExecute
#
# 環境変数
# S3_BUCKET_NAME 例:bucket-name
# S3_BUCKET_PREFIX 例:dir_1/dir_2
# RESULT_OUTPUT_S3_DIR 例:s3://aws-athena-query-results-**************-ap-northeast-1/
# TARGET_DB 例:test_db
@shiro01
shiro01 / athena_query_from_date.py
Last active August 1, 2018 12:18
build_athena_query_from_s3_by_lambda.pyの改良版。単純に日付からパーティション設定用クエリを作成し実行する
# 使用するIAMロールに設定するポリシー
# AmazonAthenaFullAccess
# AmazonS3ReadOnlyAccess
# AWSLambdaExecute
#
# 環境変数
# RESULT_OUTPUT_S3_DIR 例:s3://aws-athena-query-results-**************-ap-northeast-1/
# TARGET_DB 例:test_db
# TARGET_TABLE 例:test_table
# TARGET_LOCATION 例:s3://bucket-name/dir_1/dir_2
@shiro01
shiro01 / build_date_list.py
Last active July 24, 2018 01:36
日付リストを作成する。
import datetime
from dateutil.relativedelta import relativedelta
def build_target_date_list():
start_date = '2017/01/01'.split('/')
target_date = datetime.date(
int(start_date[0]),
int(start_date[1]),
int(start_date[2])
)
@shiro01
shiro01 / athena_query_from_today.py
Last active July 26, 2018 02:20
当日のAthenaパーティション設定クエリを作成し実行する。CloudWatchイベントを使用して定期実行する。
# 使用するIAMロールに設定するポリシー
# AmazonAthenaFullAccess
# AmazonS3ReadOnlyAccess もしかしたらいらないかも
# AWSLambdaExecute
#
# 環境変数
# RESULT_OUTPUT_S3_DIR 例:s3://aws-athena-query-results-**************-ap-northeast-1/
# TARGET_DB 例:test_db
# TARGET_TABLE 例:test_table
# TARGET_LOCATION 例:s3://bucket-name/dir_1/dir_2
@shiro01
shiro01 / check_connections.sql
Created August 17, 2018 07:07
コネクション数の確認用
SHOW GLOBAL VARIABLES like 'max_connections';
SHOW STATUS like 'Threads_connected';