Google Spreadsheet を TSVファイルに落とす

gsheet.py Googleスプレッドシートのダウンロード メインオプション Usage: gsheet.py [OPTIONS] COMMAND [ARGS]... Tools Subcommand Options: -s, --secret_file TEXT クレデンシャルJSONファイル -o, --out TEXT --help Show this message and exit. Commands: extract URLのシートは クレデンシャルJSONの client_email に対して共有設定すること extract サブコマンド: Usage: gsheet.py extract [OPTIONS] URL URLのシートは クレデンシャルJSONの client_email に対して共有設定すること Options: -n, --sheet_name TEXT --help Show this message and exit. インストール 1 pip install click gspread google-auth-httplib2 oauth2client クレデンシャルJSONの作り方: https://note.com/kohaku935/n/ned9e907aac77 GCPでプロジェクト作成 (https://console.cloud.google.com/) APIとサービス > ライブラリ から Google Drive API を有効 APIとサービス > ライブラリ から Google Sheets AP Iを有効 APIとサービス > 認証情報 > 認証情報を作成 でサービスアカウント を作成 サービスアカウント に 編集者 ロールを設定 APIとサービス > 認証情報 > 作成した サービスアカウント を選択し、キー の生成 キー画面で、鍵を追加 。 新しい鍵を作成 で作成。 タイプにJSONを選択。 ダウンロードされたJSONを適切な場所に保存

2023年3月18日 · 1 分

Snowfake: ビュー

Snowflake View ビューの概要 CREATE VIEW マテリアライズドビュー(Enterprise Edition) マテリアライズドビューの使用 ベーステーブルで実行された DML の量に関係なく、マテリアライズドビューを介してアクセスされるデータは常に最新です。 マテリアライズドビューが最新になる前にクエリが実行されると、Snowflakeはマテリアライズドビューを更新するか、 マテリアライズドビューの最新部分を使用して、必要な新しいデータをベーステーブルから取得します。 CREATE MATERIALIZED VIEW ビューとマテリアライズド・ビューの違いを理解する Snowflake マテリアライズドビューについて SnowflakeのMaterialized View マテリアライズドビューとそのベーステーブルをクラスタリングするためのベストプラクティス PostgreSQL マテリアライズドビューの機能(PostgreSQL) マテリアライズドビューの内容をテーブルの最新の状態と同じにしたいときには、REFRESH MATERIALIZED VIEWを実行します MySQL MySQLでMaterialized Viewを実現する 残念ながら、MySQLではデフォルトでMaterialized Viewを作る機能は存在しません。 トリガーかバッチで参照用のテーブルを作る

2023年3月18日 · 1 分

Snowfale : MySQL 移行データ比較

MySQL -> Snowflake データ移行後の比較 対象フィールド型(Python) 集計 MySQL Snowflake 補足 Decimal 単純合計 SUM(field) SUM(field) float 単純合計 SUM(field) SUM(field) int 単純合計 SUM(field) SUM(field) str MD5の合計 SUM(CONV(SUBSTRING(MD5(field)), 1, 8), 16, 10) SUM(TO_NUMBER(SUBSTR(MD5(field), 1, 8), ‘XXXXXXXX’)) MySQLの整数が小さいので先頭8バイトだけ datetime Unixエポック合計 SUM(UNIX_TIMESTAMP(field)) SUM(ZEROIFNULL(DATE_PART(EPOCH_SECOND, field)) - 32400) Snowflakeはローカルタイムゾーン date Unixエポック合計 SUM(UNIX_TIMESTAMP(field)) SUM(ZEROIFNULL(DATE_PART(EPOCH_SECOND, field)) - 32400) Snowflakeはローカルタイムゾーン time 秒数の合計 SUM(TIME_TO_SEC(field)) SUM(TIMEDIFF(SECOND, ‘00:00:00’::TIME, field::TIME))

2023年3月17日 · 1 分

Snowflake: NDJSON format

CREATE FILE FORMAT https://docs.snowflake.com/ja/sql-reference/sql/create-file-format JSON https://docs.snowflake.com/ja/sql-reference/sql/create-file-format#type-json -- If TYPE = JSON COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE DATE_FORMAT = '<string>' | AUTO TIME_FORMAT = '<string>' | AUTO TIMESTAMP_FORMAT = '<string>' | AUTO BINARY_FORMAT = HEX | BASE64 | UTF8 TRIM_SPACE = TRUE | FALSE NULL_IF = ( '<string>' [ , '<string>' ... ] ) FILE_EXTENSION = '<string>' ENABLE_OCTAL = TRUE | FALSE ALLOW_DUPLICATE = TRUE | FALSE STRIP_OUTER_ARRAY = TRUE | FALSE STRIP_NULL_VALUES = TRUE | FALSE REPLACE_INVALID_CHARACTERS = TRUE | FALSE IGNORE_UTF8_ERRORS = TRUE | FALSE SKIP_BYTE_ORDER_MARK = TRUE | FALSE

2023年2月14日 · 1 分

cairocffi

結局 x86_64 でhomebrew 作り直し anyenv, python を入れ直し https://qiita.com/ktgw0316/items/b5358a471ae9ee84f771 arch -arch x86_64 zsh で x86_64 環境で作業する % uname -m x86_64 問題 % pip install cairocffi lCollecting cairocffi Downloading cairocffi-1.2.0.tar.gz (70 kB) ( |████████████████████████████████| 70 kB 5.4 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-952byczr cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_949ddafebb174433b898b1d60614bf77/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure 9 Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/84/ca/0bffed5116d21251469df200448667e90acaa5131edea869b44a3fbc73d0/cairocffi-1.2.0.tar.gz#sha256=9a979b500c64c8179fec286f337e8fe644eca2f2cd05860ce0b62d25f22ea14 0 (from https://pypi.org/simple/cairocffi/) (requires-python:>=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.1.0.tar.gz (68 kB) |████████████████████████████████| 68 kB 41.2 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-2h4amr27 cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_0871e9b26c6442869a897d8d8df7ca3f/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/f7/99/b3a2c6393563ccbe081ffcceb359ec27a6227792c5169604c1bd8128031a/cairocffi-1.1.0.tar.gz#sha256=f1c0c5878f74ac9ccb5d48b2601fcc75390c881ce476e79f4cfedd288b1b05d b (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.2.tar.gz (68 kB) [24/677] |████████████████████████████████| 68 kB 46.3 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-wdq78cuo cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_6df35727083e4413bfaa3e41ad38bc09/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/0f/0f/7e21b5ddd31b610e46a879c0d21e222dd0fef428c1fc86bbd2bd57fed8a7/cairocffi-1.0.2.tar.gz#sha256=01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946f f (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.1.tar.gz (68 kB) |████████████████████████████████| 68 kB 48.1 MB/s ERROR: Command errored out with exit status 1: command: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-instal l-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py'"'"'; __file__='"'"'/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compi le(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-pip-egg-info-d6t_qnin cwd: /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/ Complete output (31 lines): WARNING: The wheel package is not available. Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/pip-install-uxwwpx3n/cairocffi_60641da3bfa74b2abbdcfd8f77811245/setup.py", line 10, in <module> setup( File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/lib/python3.9/distutils/dist.py", line 292, in __init__ self.finalize_options() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 743, in finalize_options ep(self) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/setuptools/dist.py", line 750, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules add_cffi_module(dist, cffi_module) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module execfile(build_file_name, mod_vars) File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile exec(code, glob, glob) File "cairocffi/ffi_build.py", line 26, in <module> ffi = FFI() File "/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__ import _cffi_backend as backend ImportError: dlopen(/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure Referenced from: /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so Expected in: flat namespace in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so ---------------------------------------- WARNING: Discarding https://files.pythonhosted.org/packages/3e/f1/0d1dad825f6ec75d3d79d5673e7b836e7a23bf57fde0028fb8bf252d4259/cairocffi-1.0.1.tar.gz#sha256=9ca49d9bb0a52bd6a8263de137b4818e0889f3cd8d933165fb122669924ae3b 9 (from https://pypi.org/simple/cairocffi/) (requires-python:>= 3.5). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading cairocffi-1.0.0-py3-none-any.whl (88 kB) |████████████████████████████████| 88 kB 52.9 MB/s Requirement already satisfied: cffi>=1.1.0 in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages (from cairocffi) (1.14.5) Requirement already satisfied: pycparser in /Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/envs/coresys/lib/python3.9/site-packages (from cffi>=1.1.0->cairocffi) (2.20) Installing collected packages: cairocffi Successfully installed cairocffi-1.0.0

2021年8月27日 · 5 分

pyenv install 3.9.6

% pyenv install 3.9.6 python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.9.6.tar.xz... -> https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz Installing Python-3.9.6... python-build: use readline from homebrew python-build: use zlib from xcode sdk WARNING: The Python readline extension was not compiled. Missing the GNU readline lib? ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems BUILD FAILED (OS X 11.5.2 using python-build 2.0.5-2-gb2eb2d28) Inspect or clean up the working tree at /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/python-build.20210827141959.69396 Results logged to /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/python-build.20210827141959.69396.log Last 10 log lines: ./python.exe -E -m ensurepip \ $ensurepip --root=/ ; \ fi Looking in links: /var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf Processing /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf/setuptools-56.0.0-py3-none-any.whl Processing /private/var/folders/m0/27vm0kbd5ys1_rs1l54zmwq00000gq/T/tmp24q45onf/pip-21.1.3-py3-none-any.whl Installing collected packages: setuptools, pip WARNING: The scripts pip3 and pip3.9 are installed in '/Users/hdknr/.anyenv/envs/pyenv/versions/3.9.6/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-21.1.3 setuptools-56.0.0

2021年8月27日 · 1 分

Homebrew Applie Silicon

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ==> Checking for `sudo` access (which may request your password). ==> This script will install: /opt/homebrew/bin/brew /opt/homebrew/share/doc/homebrew /opt/homebrew/share/man/man1/brew.1 /opt/homebrew/share/zsh/site-functions/_brew /opt/homebrew/etc/bash_completion.d/brew /opt/homebrew ==> The following new directories will be created: /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks Press RETURN to continue or any other key to abort ==> /usr/bin/sudo /bin/mkdir -p /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /bin/chmod u=rwx,g=rwx /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /bin/chmod g-w,o-w /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions ==> /usr/bin/sudo /usr/sbin/chown hdknr /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /usr/bin/chgrp admin /opt/homebrew/bin /opt/homebrew/etc /opt/homebrew/include /opt/homebrew/lib /opt/homebrew/sbin /opt/homebrew/share /opt/homebrew/var /opt/homebrew/opt /opt/homebrew/share/zsh /opt/homebrew/share/zsh/site-functions /opt/homebrew/var/homebrew /opt/homebrew/var/homebrew/linked /opt/homebrew/Cellar /opt/homebrew/Caskroom /opt/homebrew/Frameworks ==> /usr/bin/sudo /usr/sbin/chown -R hdknr:admin /opt/homebrew ==> Downloading and installing Homebrew... remote: Enumerating objects: 189971, done. remote: Counting objects: 100% (44/44), done. remote: Compressing objects: 100% (44/44), done. remote: Total 189971 (delta 0), reused 44 (delta 0), pack-reused 189927 Receiving objects: 100% (189971/189971), 51.67 MiB | 5.76 MiB/s, done. Resolving deltas: 100% (140767/140767), done. From https://github.com/Homebrew/brew * [new branch] automerge-linux -> origin/automerge-linux * [new branch] dependabot/bundler/Library/Homebrew/mechanize-2.8.2 -> origin/dependabot/bundler/Library/Homebrew/mechanize-2.8.2 * [new branch] dependabot/bundler/Library/Homebrew/mini_portile2-2.6.1 -> origin/dependabot/bundler/Library/Homebrew/mini_portile2-2.6.1 * [new branch] dependabot/bundler/Library/Homebrew/nokogiri-1.12.3 -> origin/dependabot/bundler/Library/Homebrew/nokogiri-1.12.3 * [new branch] master -> origin/master * [new tag] 0.1 -> 0.1 * [new tag] 0.2 -> 0.2 * [new tag] 0.3 -> 0.3 * [new tag] 0.4 -> 0.4 * [new tag] 0.5 -> 0.5 * [new tag] 0.6 -> 0.6 * [new tag] 0.7 -> 0.7 * [new tag] 0.7.1 -> 0.7.1 * [new tag] 0.8 -> 0.8 * [new tag] 0.8.1 -> 0.8.1 * [new tag] 0.9 -> 0.9 * [new tag] 0.9.1 -> 0.9.1 * [new tag] 0.9.2 -> 0.9.2 * [new tag] 0.9.3 -> 0.9.3 * [new tag] 0.9.4 -> 0.9.4 * [new tag] 0.9.5 -> 0.9.5 * [new tag] 0.9.8 -> 0.9.8 * [new tag] 0.9.9 -> 0.9.9 * [new tag] 1.0.0 -> 1.0.0 * [new tag] 1.0.1 -> 1.0.1 * [new tag] 1.0.2 -> 1.0.2 * [new tag] 1.0.3 -> 1.0.3 * [new tag] 1.0.4 -> 1.0.4 * [new tag] 1.0.5 -> 1.0.5 * [new tag] 1.0.6 -> 1.0.6 * [new tag] 1.0.7 -> 1.0.7 * [new tag] 1.0.8 -> 1.0.8 * [new tag] 1.0.9 -> 1.0.9 * [new tag] 1.1.0 -> 1.1.0 * [new tag] 1.1.1 -> 1.1.1 * [new tag] 1.1.10 -> 1.1.10 * [new tag] 1.1.11 -> 1.1.11 * [new tag] 1.1.12 -> 1.1.12 * [new tag] 1.1.13 -> 1.1.13 * [new tag] 1.1.2 -> 1.1.2 * [new tag] 1.1.3 -> 1.1.3 * [new tag] 1.1.4 -> 1.1.4 * [new tag] 1.1.5 -> 1.1.5 * [new tag] 1.1.6 -> 1.1.6 * [new tag] 1.1.7 -> 1.1.7 * [new tag] 1.1.8 -> 1.1.8 * [new tag] 1.1.9 -> 1.1.9 * [new tag] 1.2.0 -> 1.2.0 * [new tag] 1.2.1 -> 1.2.1 * [new tag] 1.2.2 -> 1.2.2 * [new tag] 1.2.3 -> 1.2.3 * [new tag] 1.2.4 -> 1.2.4 * [new tag] 1.2.5 -> 1.2.5 * [new tag] 1.2.6 -> 1.2.6 * [new tag] 1.3.0 -> 1.3.0 * [new tag] 1.3.1 -> 1.3.1 * [new tag] 1.3.2 -> 1.3.2 * [new tag] 1.3.3 -> 1.3.3 * [new tag] 1.3.4 -> 1.3.4 * [new tag] 1.3.5 -> 1.3.5 * [new tag] 1.3.6 -> 1.3.6 * [new tag] 1.3.7 -> 1.3.7 * [new tag] 1.3.8 -> 1.3.8 * [new tag] 1.3.9 -> 1.3.9 * [new tag] 1.4.0 -> 1.4.0 * [new tag] 1.4.1 -> 1.4.1 * [new tag] 1.4.2 -> 1.4.2 * [new tag] 1.4.3 -> 1.4.3 * [new tag] 1.5.0 -> 1.5.0 * [new tag] 1.5.1 -> 1.5.1 * [new tag] 1.5.10 -> 1.5.10 * [new tag] 1.5.11 -> 1.5.11 * [new tag] 1.5.12 -> 1.5.12 * [new tag] 1.5.13 -> 1.5.13 * [new tag] 1.5.14 -> 1.5.14 * [new tag] 1.5.2 -> 1.5.2 * [new tag] 1.5.3 -> 1.5.3 * [new tag] 1.5.4 -> 1.5.4 * [new tag] 1.5.5 -> 1.5.5 * [new tag] 1.5.6 -> 1.5.6 * [new tag] 1.5.7 -> 1.5.7 * [new tag] 1.5.8 -> 1.5.8 * [new tag] 1.5.9 -> 1.5.9 * [new tag] 1.6.0 -> 1.6.0 * [new tag] 1.6.1 -> 1.6.1 * [new tag] 1.6.10 -> 1.6.10 * [new tag] 1.6.11 -> 1.6.11 * [new tag] 1.6.12 -> 1.6.12 * [new tag] 1.6.13 -> 1.6.13 * [new tag] 1.6.14 -> 1.6.14 * [new tag] 1.6.15 -> 1.6.15 * [new tag] 1.6.16 -> 1.6.16 * [new tag] 1.6.17 -> 1.6.17 * [new tag] 1.6.2 -> 1.6.2 * [new tag] 1.6.3 -> 1.6.3 * [new tag] 1.6.4 -> 1.6.4 * [new tag] 1.6.5 -> 1.6.5 * [new tag] 1.6.6 -> 1.6.6 * [new tag] 1.6.7 -> 1.6.7 * [new tag] 1.6.8 -> 1.6.8 * [new tag] 1.6.9 -> 1.6.9 * [new tag] 1.7.0 -> 1.7.0 * [new tag] 1.7.1 -> 1.7.1 * [new tag] 1.7.2 -> 1.7.2 * [new tag] 1.7.3 -> 1.7.3 * [new tag] 1.7.4 -> 1.7.4 * [new tag] 1.7.5 -> 1.7.5 * [new tag] 1.7.6 -> 1.7.6 * [new tag] 1.7.7 -> 1.7.7 * [new tag] 1.8.0 -> 1.8.0 * [new tag] 1.8.1 -> 1.8.1 * [new tag] 1.8.2 -> 1.8.2 * [new tag] 1.8.3 -> 1.8.3 * [new tag] 1.8.4 -> 1.8.4 * [new tag] 1.8.5 -> 1.8.5 * [new tag] 1.8.6 -> 1.8.6 * [new tag] 1.9.0 -> 1.9.0 * [new tag] 1.9.1 -> 1.9.1 * [new tag] 1.9.2 -> 1.9.2 * [new tag] 1.9.3 -> 1.9.3 * [new tag] 2.0.0 -> 2.0.0 * [new tag] 2.0.1 -> 2.0.1 * [new tag] 2.0.2 -> 2.0.2 * [new tag] 2.0.3 -> 2.0.3 * [new tag] 2.0.4 -> 2.0.4 * [new tag] 2.0.5 -> 2.0.5 * [new tag] 2.0.6 -> 2.0.6 * [new tag] 2.1.0 -> 2.1.0 * [new tag] 2.1.1 -> 2.1.1 * [new tag] 2.1.10 -> 2.1.10 * [new tag] 2.1.11 -> 2.1.11 * [new tag] 2.1.12 -> 2.1.12 * [new tag] 2.1.13 -> 2.1.13 * [new tag] 2.1.14 -> 2.1.14 * [new tag] 2.1.15 -> 2.1.15 * [new tag] 2.1.16 -> 2.1.16 * [new tag] 2.1.2 -> 2.1.2 * [new tag] 2.1.3 -> 2.1.3 * [new tag] 2.1.4 -> 2.1.4 * [new tag] 2.1.5 -> 2.1.5 * [new tag] 2.1.6 -> 2.1.6 * [new tag] 2.1.7 -> 2.1.7 * [new tag] 2.1.8 -> 2.1.8 * [new tag] 2.1.9 -> 2.1.9 * [new tag] 2.2.0 -> 2.2.0 * [new tag] 2.2.1 -> 2.2.1 * [new tag] 2.2.10 -> 2.2.10 * [new tag] 2.2.11 -> 2.2.11 * [new tag] 2.2.12 -> 2.2.12 * [new tag] 2.2.13 -> 2.2.13 * [new tag] 2.2.14 -> 2.2.14 * [new tag] 2.2.15 -> 2.2.15 * [new tag] 2.2.16 -> 2.2.16 * [new tag] 2.2.17 -> 2.2.17 * [new tag] 2.2.2 -> 2.2.2 * [new tag] 2.2.3 -> 2.2.3 * [new tag] 2.2.4 -> 2.2.4 * [new tag] 2.2.5 -> 2.2.5 * [new tag] 2.2.6 -> 2.2.6 * [new tag] 2.2.7 -> 2.2.7 * [new tag] 2.2.8 -> 2.2.8 * [new tag] 2.2.9 -> 2.2.9 * [new tag] 2.3.0 -> 2.3.0 * [new tag] 2.4.0 -> 2.4.0 * [new tag] 2.4.1 -> 2.4.1 * [new tag] 2.4.10 -> 2.4.10 * [new tag] 2.4.11 -> 2.4.11 * [new tag] 2.4.12 -> 2.4.12 * [new tag] 2.4.13 -> 2.4.13 * [new tag] 2.4.14 -> 2.4.14 * [new tag] 2.4.15 -> 2.4.15 * [new tag] 2.4.16 -> 2.4.16 * [new tag] 2.4.2 -> 2.4.2 * [new tag] 2.4.3 -> 2.4.3 * [new tag] 2.4.4 -> 2.4.4 * [new tag] 2.4.5 -> 2.4.5 * [new tag] 2.4.6 -> 2.4.6 * [new tag] 2.4.7 -> 2.4.7 * [new tag] 2.4.8 -> 2.4.8 * [new tag] 2.4.9 -> 2.4.9 * [new tag] 2.5.0 -> 2.5.0 * [new tag] 2.5.1 -> 2.5.1 * [new tag] 2.5.10 -> 2.5.10 * [new tag] 2.5.11 -> 2.5.11 * [new tag] 2.5.12 -> 2.5.12 * [new tag] 2.5.2 -> 2.5.2 * [new tag] 2.5.3 -> 2.5.3 * [new tag] 2.5.4 -> 2.5.4 * [new tag] 2.5.5 -> 2.5.5 * [new tag] 2.5.6 -> 2.5.6 * [new tag] 2.5.7 -> 2.5.7 * [new tag] 2.5.8 -> 2.5.8 * [new tag] 2.5.9 -> 2.5.9 * [new tag] 2.6.0 -> 2.6.0 * [new tag] 2.6.1 -> 2.6.1 * [new tag] 2.6.2 -> 2.6.2 * [new tag] 2.7.0 -> 2.7.0 * [new tag] 2.7.1 -> 2.7.1 * [new tag] 2.7.2 -> 2.7.2 * [new tag] 2.7.3 -> 2.7.3 * [new tag] 2.7.4 -> 2.7.4 * [new tag] 2.7.5 -> 2.7.5 * [new tag] 2.7.6 -> 2.7.6 * [new tag] 2.7.7 -> 2.7.7 * [new tag] 3.0.0 -> 3.0.0 * [new tag] 3.0.1 -> 3.0.1 * [new tag] 3.0.10 -> 3.0.10 * [new tag] 3.0.11 -> 3.0.11 * [new tag] 3.0.2 -> 3.0.2 * [new tag] 3.0.3 -> 3.0.3 * [new tag] 3.0.4 -> 3.0.4 * [new tag] 3.0.5 -> 3.0.5 * [new tag] 3.0.6 -> 3.0.6 * [new tag] 3.0.7 -> 3.0.7 * [new tag] 3.0.8 -> 3.0.8 * [new tag] 3.0.9 -> 3.0.9 * [new tag] 3.1.0 -> 3.1.0 * [new tag] 3.1.1 -> 3.1.1 * [new tag] 3.1.10 -> 3.1.10 * [new tag] 3.1.11 -> 3.1.11 * [new tag] 3.1.12 -> 3.1.12 * [new tag] 3.1.2 -> 3.1.2 * [new tag] 3.1.3 -> 3.1.3 * [new tag] 3.1.4 -> 3.1.4 * [new tag] 3.1.5 -> 3.1.5 * [new tag] 3.1.6 -> 3.1.6 * [new tag] 3.1.7 -> 3.1.7 * [new tag] 3.1.8 -> 3.1.8 * [new tag] 3.1.9 -> 3.1.9 * [new tag] 3.2.0 -> 3.2.0 * [new tag] 3.2.1 -> 3.2.1 * [new tag] 3.2.2 -> 3.2.2 * [new tag] 3.2.3 -> 3.2.3 * [new tag] 3.2.4 -> 3.2.4 * [new tag] 3.2.5 -> 3.2.5 * [new tag] 3.2.6 -> 3.2.6 * [new tag] 3.2.7 -> 3.2.7 * [new tag] 3.2.8 -> 3.2.8 * [new tag] 3.2.9 -> 3.2.9 HEAD is now at 858f3fbaa Merge pull request #11921 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-0.5.9070 ==> Tapping homebrew/core remote: Enumerating objects: 1030054, done. remote: Counting objects: 100% (138/138), done. remote: Compressing objects: 100% (67/67), done. remote: Total 1030054 (delta 77), reused 132 (delta 71), pack-reused 1029916 Receiving objects: 100% (1030054/1030054), 386.75 MiB | 19.32 MiB/s, done. Resolving deltas: 100% (705903/705903), done. From https://github.com/Homebrew/homebrew-core * [new branch] master -> origin/master HEAD is now at ad32cdaac0 ezstream: update 1.0.2 bottle. Warning: /opt/homebrew/bin is not in your PATH. Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate formulae and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics data has been sent yet (or will be during this `install` run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Next steps: - Run these two commands in your terminal to add Homebrew to your PATH: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/hdknr/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - Run `brew help` to get started - Further documentation: https://docs.brew.sh

2021年8月26日 · 9 分

Terraform

README tfenvのインストール 設定ファイルの作成 terraform init terraform plan terraform apply 設計運用 Terraform設計・運用のノウハウ ベストプラクティス antonbabenko/terraform-best-practices ファイル 内容 main.tf リソースを作成する(moduels, locals, data-sources) variables.tf main.tf で使われる変数 outputs.tf main.tf が作成したリソースの出力 1 % tree large-terraform large-terraform ├── README.md ├── modules │ └── network │ ├── main.tf │ ├── outputs.tf │ └── variables.tf ├── prod │ ├── main.tf │ ├── outputs.tf │ ├── terraform.tfvars │ └── variables.tf └── stage ├── main.tf ├── outputs.tf ├── terraform.tfvars └── variables.tf HCL (HCL is the HashiCorp configuration language.) https://github.com/hashicorp/hcl Terraform v0.12で変わるHCLの記述について コメント: ...

2021年6月12日 · 1 分

AWS: ECS

ECS オートスケーリング 記事 Fargate で Amazon ECS サービスの自動スケーリングを設定する方法を教えてください。 AWS FargateでAutoScaleを試してみる Terraform の設定 オートスケーリングの設定をTerraformで記述する例を以下に示します。この例では、CPU使用率に基づいてECS Fargateサービスのタスク数を自動的にスケーリングするように設定します。 必要なリソース TerraformでECSサービスのオートスケーリングを設定するには、以下のリソースを定義します。 aws_appautoscaling_target: スケーリングの対象となるECSサービスとタスク数を指定します。 aws_appautoscaling_policy: 実際のスケーリングロジック(CPU使用率、目標値など)を定義します。 aws_cloudwatch_metric_alarm: (オプション) 詳細な条件でスケーリングを制御する場合に使用します。ターゲット追跡スケーリングポリシーは内部でこれを生成するため、通常は明示的に定義する必要はありません。 Terraform コード例 以下のコードブロックは、aws_ecs_serviceリソースで定義されたECSサービスに対して、CPU使用率が50%になるようにタスク数を調整するオートスケーリング設定の例です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # ECSサービスを定義 (この例では、既存サービスを想定) # resource "aws_ecs_service" "main" { # name = "my-ecs-service" # ... # } # 1. オートスケーリングの対象を定義 resource "aws_appautoscaling_target" "ecs_target" { service_namespace = "ecs" resource_id = "service/my-cluster/my-ecs-service" # サービス名に合わせて変更 scalable_dimension = "ecs:service:DesiredCount" min_capacity = 1 # 最小タスク数 max_capacity = 10 # 最大タスク数 } # 2. ターゲット追跡スケーリングポリシーを定義 resource "aws_appautoscaling_policy" "cpu_scaling_policy" { name = "cpu-utilization-scaling-policy" service_namespace = "ecs" resource_id = aws_appautoscaling_target.ecs_target.resource_id scalable_dimension = aws_appautoscaling_target.ecs_target.scalable_dimension policy_type = "TargetTrackingScaling" target_tracking_scaling_policy_configuration { predefined_metric_specification { predefined_metric_type = "ECSServiceAverageCPUUtilization" } target_value = 50.0 # CPU使用率の目標値(%) scale_in_cooldown = 300 # スケールイン(タスク減少)のクールダウン期間(秒) scale_out_cooldown = 60 # スケールアウト(タスク増加)のクールダウン期間(秒) } } コードの解説 aws_appautoscaling_target: ...

2021年6月4日 · 1 分

Django: asgiref

asgiref https://github.com/django/asgiref ASGI: ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as an asynchronous successor to WSGI. You can read more at https://asgi.readthedocs.io/en/latest/ This package includes ASGI base libraries, such as: Sync-to-async and async-to-sync function wrappers, asgiref.sync Server base classes, asgiref.server A WSGI-to-ASGI adapter, in asgiref.wsgi Function wrappers These allow you to wrap or decorate async or sync functions to call them from the other style (so you can call async functions from a synchronous thread, or vice-versa). ...

2021年6月2日 · 3 分