おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

python

AWS SAM + Slack Bolt for PythonでSlack botをつくる

書いたこと Lazy Listenerを利用し、ackが必要なイベントかつ3秒以上時間がかかる処理を実現する Lambda Function URLを利用してHTTP Endpointをつくる Slack Bolt for PythonでSlack botをつくる このチュートリアルを参照しつつ、つくります。割愛。 slack…

AWS CLIのS3接続先の選択動作とaddressing_styleオプション

AWS CLI がS3にアクセスする際にどのように Path-Style と Virtual Hosted-Style を使い分けるかをまとめます。 S3のアクセス形式2つ 名前解決動作 バケット作成直後に Virtual Hosted–Style でアクセスした場合の問題 AWS CLI はどちらの形式でS3にアクセス…

botoでSample IMDB Movie DataをDynamoに挿入する

CloudSearch用のサンプルデータとして、IMDBのMovie Data Sampleが公開されています。 Amazon CloudSearch Sample Data : Developer Tools : Amazon Web Services これを検証用にDynamoDBに入れたかったのでざっくりコードを書いた。 HashKeyをstring指定で…

awscli s3apiでの日本語を含むオブジェクト操作

日本語などnon-ascii文字列を含むオブジェクト操作のメモ "nonあascii" (unicode: \u3042) というオブジェクト名を想定します。 aws s3 rm ふつうに日本語で実行できる。 (おそらく実行環境に依る) # Key does not exist aws s3 rm "s3://bucket/non\u3042as…

押しやすいドメインを探す

短くて覚えやすいドメインは取得されてしまっていることが多いです。とはいえ、jpドメインだと3文字が割と残っているので、ここから「キーボードで押しやすい」ドメインを探してみるスクリプトをリハビリがてら書いてみた。 これは、ガラケー時代のケータイ…

セキュリティグループをつくるいろいろ

アカウントを新しく使いはじめる場合や、新しいサブネットを作成したときに、ベースのセキュリティグループをとりあえずセットアップしたいパターンはよくあると思う。 とりあえず、ログインするために、会社のIPからのアクセスを許可するとか。 以下のシナ…

boto.s3で大文字を含むバケットにアクセスする

大文字を含むバケットをUS Standardでは作ることができるのですが、そのバケットにbotoでアクセスしようとすると以下のように怒られます。 Bucket names cannot contain upper-case characters when using either the sub-domain or virtual hosting calling…

Pythonで整数であることをチェックする

引数が整数であることを確認するのに、こんなコードをよく書いてるんだけど if type(arg) not in (int, long): raise InvalidArgumentError ちょっと冗長じゃないかな。先日は (int, tuple) とか書いてて危ない思いをしたりも。。 どうにかならんものかとつ…

リストをn個ずつのサブリストに分割 (Python)

愚直にやればもちろんできるんだけど、パフォーマンスが気になったり、かっこよく書きたいとか思うわけです。 >>> a = range(15) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] >>> [a[i:i+3] for i in range(0,15,3)] [[0, 1, 2], [3, 4, 5], …

Python合宿参加中

Python Developers Camp 2008 Winterに参加中。 Pythonがんばる!