Airflow の apache-airflow-providers-google を利用しながら、Airflow における Connection と Hook の概念について確認します。 環境 Apache Airflow 2.3.2 apache-airflow-providers-google 7.0.0 Connections とは Connections とは、Airflow から Airfl…
ローカル環境に Airflow をインストールします。 Installation from PyPI 環境 Ubuntu 20.04.4 LTS (WSL2) pyenv 2.3.1-20-g572a8bcf Python 3.7.13 Apache Airflow 2.3.2 Poetry で管理できれば、と思いましたが、未サポートとのことです。だとしても利用で…
Airflowにて、DAG の依存関係を設定する方法を確認します。今回も Astronomer 社のサイトより、下記ページを参考にしています。 Cross-DAG Dependencies 環境 Apache Airflow 2.3.2 TriggerDagRunOperator を利用する方法 TriggerDagRunOperator は、異なる …
Airflow の DAG 定義内で、タスクの条件分岐する方法を確認します。Astronomer 社のサイトを参考にしています。 Branching in Airflow 環境 Airflow 2.3.2 BranchPythonOperator を利用する BranchPythonOperator を利用する方法を確認します。以下は参考に…
Python の標準モジュールで用意されている queue 関連のライブラリについて確認します。 環境 Python 3.9.13 queue 関連のライブラリ 以下があります。 種類 queue モジュール その他モジュール スタック queue.Queue collections.deque キュー queue.LifoQu…
公式ドキュメントにある tutorial の参考にしつつ、 Airflow の DAG 定義ファイルの書き方を確認します。 tutorial 環境 Apache Airflow 2.3.2 Python 3.7 DAG 定義ファイルの必要要素 必要となる要素の確認。 Python Library のインストール DAG オブジェク…
Apache Airflow を理解するため、公式ドキュメントの Quick Start を試してみます。Docker Compose を利用して Airflow 環境の作成ができるようです。 Running Airflow in Docker 環境 Ubuntu 20.04.4 LTS (WSL2) Docker 20.10.16 Docker Compose 2.6.0 Airf…
備忘録です。 目的 Google Cloud のプロジェクトを環境毎に作成していて、BigQuery の設定名がプロジェクト単位で若干違う、という事があると思います。今回の下記例では、プロジェクト毎にデータセット名が異なっていて、それ以外は全く同一の SQL を実行し…
公式ドキュメントを参考に、基本的な部分を確認します。 https://python-poetry.org/ 環境 Ubuntu 20.04.4 LTS Python 3.8.10 Poetry 1.1.13 Poetry のインストール $ curl -sSL https://install.python-poetry.org | python3 - $ echo 'export PATH="/home/…
Google CloudでTerraformを利用するにあたり、基本的な部分について確認します。 Terraform、Gooble CloudそれぞれのGetting Start資料が下記です。 Terraform: Getting Started with the Google Provider Google Cloud: Getting started with Terraform on …
BigQueryのクエリ実行に関する公式ドキュメントを読んでいて、気になった箇所を試してみたメモです。 バッチクエリの実行 SQLクエリをfire-and-forgetで実行できる機能。 BigQuery はユーザーに代わって各バッチクエリをキューに格納し、アイドル状態のリソ…
FastAPIの基本的部分のメモ。公式ドキュメントがわかりやすいため、公式ドキュメントのリンク集くらいのつもりでまとめています。 FastAPI FastAPIの仕組みについて、分かりやすくまとめてくれている投稿。 FastAPIでStarletteとPydanticはどのように使われ…
BigQueryでパーティション分割テーブルの作成方法を確認します。 パーティション分割できる種類 BigQueryでは、以下の条件でテーブルをパーティションできます。 時間単位の列 TIMESTAMP、DATE、DATETIME列に基づいて 取り込み時間 BigQueryにデータを取り込…
Cloud TasksのQueueに投入されたタスクを、Cloud Run上のコンテナ環境で実行する手順を調べます。 構成 構成図です。 環境 Python 3.8.10 google-cloud-tasks 2.5.0 google-api-core 1.31.0 protobuf 3.17.3 Cloud Runにコンテナのデプロイ Cloud Run上のコ…
Cloud Storage上にアップロードしたCSVファイルに対して、External Tableの機能を利用し、BigQueryのクエリを実行してみます。BigQuery External Tableとは、AWSで言うところの、Redshift Spectrumとなります。 利用したファイル 利用したファイルは、kaggle…
Cloud Storageが発行してくれるNotificationを、Cloud Pub/Subを介して、Cloud Run上で起動しているFlaskで受け取ります。 環境 Google Cloud SDK 348.0.0 Python 3.9 Flask 2.0.1 gunicorn 20.1.0 構成 構成です。 Cloud Run上にコンテナを建てる Cloud Pub…
Pythonのunittestの使い方を確認します。 環境 Python 3.8.5 サンプルプログラム 公式ドキュメントを参考。 unittest --- ユニットテストフレームワーク テスト対象のプログラム テスト対象とするコードを記述。 hololive.py class HololiveMember(): def __…
Neo4jをインストールして、基本的な操作方法を確認します。 環境 Ubuntu 20.04.2 LTS Neo4j Community Edition 4.3.2 openjdk 11.0.11 Neo4jのインストール openjdkのインストール Neo4jはjavaらしいので、Neo4j ver4.xの動作環境であるopenjdk 11をインスト…
Google Cloud Associate Cloud Engineer受験時の学習内容をまとめたもの。公式の試験概要より、指定されている範囲のサービスを触ってみた記録です。 目次 目次 1. クラウド ソリューション環境の設定 1.1 クラウド プロジェクトとアカウントを設定する。以…
SESをSMTPで利用した時のメモです。Bounce Mailの管理も設定します。 送信先として利用するテスト用Emailアドレスの検証 初回利用開始時、SESはsandbox状態となっています。sandbox状態では、送信先となるEmailアドレスに対して制限をかけられており、事前に…
AWS Clinet VPNを、Azure AD側ユーザーにてシングルサインオンして利用する手順を確認しています。AWSとAzureそれぞれで、必要手順を紹介しているページがあります。 AWS側の資料はこちら。 How to Integrate AWS Client VPN with Azure Active Directory Az…
Kubernetes Cluserを管理する上で、覚えておくと便利なコマンドをメモしておきます。 目次 目次 参考資料たち 環境 リソースタイプの、短縮名やAPIバージョンを表示 ラベルの表示 追加情報の表示 表形式ぽく表示 条件を指定して検索 JSONPathの利用 ソートし…
マニフェストファイルの雛形を、kubectlにて取得するコマンドをメモしておきます。 目次 目次 環境 基本的な情報 公式の参考ページ Namespace Resource Quota Pod Deployment ReplicaSet DaemonSet Service: ClusterIP Service: NodePort ConfigMap Secret R…
kubeadmにて作成したKubernetes Clusterをアップグレードしてみます。下記は参考の公式ドキュメント。 Upgrading kubeadm clusters 環境 構成 マスターノード 1台 ワーカーノード 1台 バージョン OS Ubuntu 20.04.1 LTS kubernetes 現行 1.19.0 アップグレー…
kubeadmにて作成したKubernntes Clusterに、Normal Userを追加する方法を確認します。 環境 kubernetes v1.20.0 実際の追加作業を実施する前に、Kubernetesにおける認証方式やユーザーの扱いについて確認しておきます。 Kubernetesにおける認証方式 kube-api…
Kubernetes Cluster内のetcdをバックアップ、リストアする方法を確認します。 環境情報 前提として、対象のetcdはシングル構成で、1台のkubernetesのマスターノードで動作しています。kubernetes環境は、kubeadmにて作成しました。 バージョンは下記。 OS Ub…
kubeadm を利用して、kubernetes clusterをゼロから作成してみます。 kubeadm とは、kubernetes ClusterのBootstrap Toolとなっています。 Kubeadm is a tool built to provide best-practice "fast paths" for creating Kubernetes clusters. It performs t…
CognitoとADFSをSAML連携して、ActiveDirectory側のユーザー情報で認証処理をさせよう、というものです。下記あたりのドキュメントを読みながら、必要手順を確認しました。 Amazon Cognito ユーザープールを使用して AD FS を SAML ID プロバイダーとして設…
EDINET APIの利用方法について、僕なりにまとめたメモ。 参考資料 EDINET API仕様書 (Version 1) APIの種類 書類一覧API 提出書類の一覧情報、およびそのメタデータを取得可能 日付単位で指定(過去5年分) 書類取得API 実際に提出書類を取得可能 書類単位で指…
GreengrassをインストーしたデバイスにLambdaをデプロイし、AWS IoT CoreとMQTT通信を実施します。以下の公式ドキュメントを参考に作業を進めます。 モジュール 3 (パート 1): AWS IoT Greengrass での Lambda 関数 環境 既にGreengrass環境は作成されている…