AWS CDKで、cdk deployしたらエラー「NoSuchBucket: The specified bucket does not exist」

先日、S3に不要なバケットがたまっていたため、バケットを全削除をするスクリプトを作成・実行しました。 その後、AWS CDK + Pythonで、 cdk deploy したところ、 ❌ <your_backet_name> failed: NoSuchBucket: The specified bucket does not exist The specified bucket does </your_backet_name>…

DjangoのListViewで、対象データがない場合は404ページを表示する

DjangoでListViewを使う場合、デフォルトではモデルにデータがない時は HTTP200 で、データがない状態で表示されます。 ただ、モデルにデータがない場合に HTTP404 を表示したい時はどうするか、調べたことをメモしておきます。 目次 環境 調査 allow_empty=…

AWS CDKで、cdk deployしたら「Unable to resolve AWS account to use」エラー

AWS CDKを使って cdk deploy したところ $ cdk deploy Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment というエラーが発生したため、対応した時のメモ。 環境 macOS 10.13.6 Pyt…

AWS CDK + Pythonで、ネストした AWS StepFunctions のワークフローを作ってみた

今年の7月にAWS CDK (Cloud Development Kit) がGAとなりました。 AWS クラウド開発キット (CDK) – TypeScript と Python 用がご利用可能に | Amazon Web Services ブログ APIリファレンスも公開されているため、これでPythonを使ってAWSのリソースを作成す…

#pyconjp 発表「知ろう!使おう!HDF5ファイル!」の落ち穂拾い

PyCon JP 2019にて発表をした際、いくつか質問をいただきました。 前回の記事にもあるように、当時きちんと回答できたか不安だったため、今回落ち穂拾いとしてまとめてみます。 なお、誤りや過不足などがありましたら、ご指摘いただけるとありがたいです。 …

#pyconjp PyCon JP 2019に参加しました & 発表しました

9/16(月・祝)・17(火)に大田区産業プラザ PiOで開催された「PyCon JP 2019」に参加 & 発表しました。 トップページ - PyCon JP 2019 #pyconjp 着いた pic.twitter.com/JFJTANVtvq— thinkAmi (@thinkAmi) September 16, 2019 去年同様、今年も無事に参加でき…

#agileshinano #glnagano Agile Jam in ながのに参加しました

8/24にギークラボ長野で開かれた「Agile Jam in ながの」に参加しました。 Agile Jam in ながの - connpass 平日夜に開催されているワークショップの拡大版で、複数のスクラムマスターの方々からお話を直接聞けるなど、とても有意義なイベントでした。 以下…

AWS Amplifyで、カスタムカテゴリを作って、カスタムリソースを追加してみた

今まで、Amplifyが用意する以外のリソースを使いたい場合は、 <project_root>/amplify/backend/api/<API name>/stacks ディレクトリの中に、CloudFormation(CFn)ファイルを作成して対応してきました。 AWS AppSync + Amplify JavaScript + CustomResourcesで、既存のDynamoDBなどをDa</api></project_root>…

AWS Amplifyで、amplify env を使って、開発環境の共有と分離をしてみた

開発をしていると、AWS Amplifyを使ったソースコードをGithubなどでチームで共有することがあります。 AppSync APIやDynamoDBなどの環境を同一にして、チームで開発する方法を探したところ、公式ドキュメントに amplify env を使う方法が記載されていました…

AWS AppSyncにて、同じ内容でMutationした場合に、Subscriptionがどうなるかを試してみた

AWS AppSyncでは、Mutationした時の通知をSubscriptionで受け取れます。 リアルタイムデータ - AWS AppSync ただ、DynamoDBのレコードと同じ内容でMutationした場合でも、Subscriptionがどのように動作するのか気になったため、試してみた時のメモを残します…

AWS Amplify CLIで、.graphqlconfig.ymlを使って、schema.jsonやqueries.jsonなどの保存場所を変更する

Amplify CLIで amplify push することで、必要に応じてAppSyncのスキーマファイル ( <project_root>/amplify/backend/api/"api_name"/schema.graphql ) を元に、Amplify Framework向けのソースコードを生成してくれます。 $ amplify push Current Environment: dev | Categ</project_root>…

AWS AppSync + Amplifyで、Subscriptionに引数を追加し、一部のみ通知を受け取ってみた

AWS AppSyncでは、Subscriptionを使うことでMutationに対する通知を受け取ることができます。 リアルタイムデータ - AWS AppSync また、AWS AppSyncにAWS Amplifyを組み合わせた場合でも、Amplify FrameworkのSubscriptionが使えます。 Subscription | AWS A…

AWS AppSync + Amplifyで、AWS_IAM認証を使って、認証されていないユーザーに対してQueryを許可してみた

AWS AppSyncを使ってGraphQL APIを公開する場合、 Default authorization mode が必須なため、何らかの方法での認証を行う必要があります。そこで、AWS_IAM認証を使って、認証されていないユーザーに対してQueryを許可してみた時のメモを残します。

AWS Amplify CLIの amplify auth push の挙動について

AWS Amplify CLI のREADMEを見ると、 amplify auth push Provisions only Auth cloud resources with the latest local developments. https://github.com/aws-amplify/amplify-cli/tree/master/packages/amplify-category-auth という記述がありました。 気…

AWS Amplifyで、既存のAmazon Cognitoを使う方法を探してみた

AWS Amplifyでは、Authentication moduleを使うことで、簡単にAmazon Cognitoの新しい環境が作れます。 Authentication ただ、Amplify CLIを使って既存のAmazon Cognito環境を利用する方法が見当たらなかったので、調べた時のメモを残します。 目次 環境 結…

AWS AppSync + Amplify JavaScript + CustomResourcesで、既存のDynamoDBなどをDatasourceとしたリゾルバーを作成する

AWS Amplify JavaScriptを使ってAWS AppSync APIを作成する場合、 amplify add api した直後はDynamoDBのテーブルが新規作成されます。 既存のDynamoDBを使いたい場合は、 amplify push でAPIをデプロイ後にAppSync Consoleにて内容を編集することもできます…

AWS AppSyncのリゾルバで、AWS CognitoのグループやHTTPリクエストヘッダを使った認可処理を書いてみた

前回、Schemaで @aws_auth や @ aws_cognito_user_pools などを使って認可処理を書いてみました。 AWS AppSyncのSchemaで、認証・認可系ディレクティブの @aws_auth や @aws_cognito_user_pools などを試してみた - メモ的な思考的な ただ、複数認証時に @aw…

AWS AppSyncのSchemaで、認証・認可系ディレクティブの @aws_auth や @aws_cognito_user_pools などを試してみた

AWS AppSyncのSchemaには、簡単にユーザー認証・認可を行える @aws_auth @aws_api_key @aws_iam @aws_oidc @aws_cognito_user_pools などのディレクティブが用意されています。 そこで、実際に試してみた時のメモを残します。 目次 環境 長いのでまとめ 認証…

usernameAttributesを使って、aws-amplify-vueのamplify-sign-inにあるusernameを変更する

AWS Amplify Framework (JavaScript) には、Vue.jsで使える便利な Vue Componentが用意されています。 Vue - AWS Amplify JavaScript https://github.com/aws-amplify/amplify-js/tree/master/packages/aws-amplify-vue ここには SignIn ConfirmSignIn SignU…

#awsxon #jawsug AWS Expert Online at JAWS-UG長野 (AppSync編) に参加しました

7/4に開催された、AWS Expert Online at JAWS-UG長野 (AppSync編) に参加しました。 AWS Expert Online at JAWS-UG長野 - connpass 会場はギークラボ長野でした。 また、資料などは後日公開されるとのことです。 最近AppSyncをさわっていたので、タイムリー…

AWS AppSyncのPipeline Resolverを使って、複数のDynamoDBの値をマージして返すAPIを作成してみた

前回・前々回と、単一のデータソースから値を取得するAWS AppSync APIを作成しました。 Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた - メモ的な思考的な Pythonで、AWS Lambda をData sourceに持つ AWS AppSync API を呼んでみた - …

Pythonで、AWS Lambda をData sourceに持つ AWS AppSync API を呼んでみた

前回、Data sourceがDynamoDBである AWS AppSync APIをPythonで呼んでみました。 Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた - メモ的な思考的な ただ、AWS AppSync のData sourceでは、DynamoDBの他 Amazon Elasticsearch AWS Lam…

Pythonで、 AWS AppSyncのquery・mutation・subscriptionを試してみた

最近 AWS AppSync にふれる機会がありました。 そこで今回は、AWS AppSyncのGraphQLインタフェースを使って、Pythonでquery・mutation・subscriptionを試してみましたので、メモを残します。 目次 環境 長いのでまとめ AWS AppSyncでAPIを作る mutationの実…

SSHトンネル内にSSHトンネルを通して、踏み台2つを経由した多段ポートフォワーディングをしてみた

踏み台の奥に目的のサーバがある環境では、踏み台経由のSSHトンネルを作り、多段ポートフォワーディングにてアクセスすることがあります。 そんな中、SSHトンネル1つだけでは接続できない環境がありました。 そこで、SSHトンネル内にSSHトンネルを通して、踏…

LaravelでCRUDのあるToDoアプリを作ってみた

Laravelを理解するために、CRUDのあるToDoアプリを作ってみました。 そこで、後で思い出しやすいよう、慣れているDjangoでの作り方も併記する形で、メモを残しておきます。 目次 環境 プロジェクトの作成 モデルの作成 テーブル定義 モデルとマイグレーショ…

#gdg信州 #io19jp Google I/O Extended 2019 in Shinshuに参加しました

6/1に開催されたGoogle I/O Extended2019 in Shinshuに参加しました。 Google I/O Extended 2019 in Shinshu - GDG信州 Google I/O Extended 2019 in Shinshu - connpass #gdg信州 #io19jp 会場入り pic.twitter.com/DZshFiWD1H— thinkAmi (@thinkAmi) 2019…

DjangoCongress JP 2019で発表するまでの準備を振り返ってみた #djangocongress

前回書いた通り、DjangoCongress JP 2019にて発表しました。 DjangoCongress JP 2019 去年も同じようなことを書いたのが、当時の様子を振り返るのに役立ったため、今年も残しておきます。 なお、CfPを出した時点の、自分のスペックは以下の通りです。あまり…

DjangoCongress JP 2019 に参加 & 発表しました #djangocongress

5/18に開催された、DjangoCongress JP 2019に参加 & 発表しました。 DjangoCongress JP 2019 昨年同様、開催場所はサイボウズ株式会社の東京オフィスでした。 東京オフィス アクセスマップ | サイボウズ株式会社 今年も良い感じの雰囲気でした。 自分の発表…

Windows10 + pyinstallerで、Djangoをexe化して配布可能にしてみた

最近、Windows10 + pyinstallerで、 WindowsでDjangoアプリを開発 開発したDjangoアプリを、別のWindows端末に配布 別のWindows端末にて、Djangoアプリを実行 をしました。 pyinstallerのWikiに方法が記載されていますが、いろいろとハマったため、メモを残…

GitLab CI + docker-reviewを使って、Markdownをtextlintしてからpdf化するCI環境を作ってみた

最近、Markdownからpdfを作る機会がありました。 pdf化を都度行うのは手間だったため、何か良い方法がないかを探したところ、 Markdown > Re:VIEW > pdf という経路でpdfを作成できそうでした。 ただ、手動でpdfを生成するのが手間だったため、GitLab CIを使…