Google Driveの共有ドライブのアイテム数上限が40万個から50万個にいつの間にか増えていた。
Googleのサポートページに「共有ドライブに保存できるアイテム数は最大 50 万個」の表記がある。
https://support.google.com/a/users/answer/7338880?hl=ja
10万個も増えたので、使い勝手は上がったと思う。
Google Driveの共有ドライブのアイテム数上限が40万個から50万個にいつの間にか増えていた。
Googleのサポートページに「共有ドライブに保存できるアイテム数は最大 50 万個」の表記がある。
https://support.google.com/a/users/answer/7338880?hl=ja
10万個も増えたので、使い勝手は上がったと思う。
Google Cloudが起こしたミスで、クラウド環境がふっとんだ、というニュースがあった。本来消すはずのない企業アカウントを消してしまい、Google Cloudの構成が吹っ飛び、冗長化されていた設定も吹っ飛んだ、という。アカウントを消されたら、何もできない、復旧もできない、というわけだ。
Google Cloud、豪年金基金のアカウントを誤削除 予備も誤削除 他社でのバックアップでなんとか復旧 – ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2405/13/news090.html
(復旧できたようなのでよかった、と思う。教訓にもしやすい。)
クラウド環境のハードウェア的な問題であれば、冗長構成は役に立つし、バックアップも機能する。でも、メインのアカウントが、なんらかの理由で消えたり、垢バンされたりすると、それらは使えない、という事例ができた。これに対応しようとすると、まったく別のクラウド環境にバックアップを持つ、構成が消されたりクラッシュしてもいいように再構築できる資料を用意するしかない。アナログだけれど、それが一番確実かもしれない。構築が自動化されているのであれば、構成レシピは別のところに保存しておく、というのも有効だろう。
いい教訓がうまれた、と思う。
Google Cloud SQLでMySQLのインスタンスを追加すると、タイムゾーンがUTCになる。これを、日本に変える方法のメモ。
タイムゾーンの確認のSQLと実行例。
MySQL [(none)]> SHOW VARIABLES LIKE '%time_zone%'
-> ;
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.157 sec)
MySQL [(none)]>
変更方法
1. Google Cloudの管理画面にアクセスして、SQLの管理画面を開く。
2. 設定変更するインスタンスを開く。
3. 上部メニューの「開く」をクリックする。
4. 「フラグ」のところを広げる
5. 「データベースフラグを追加」をクリックする。
6. フラグ選択で、「default_time_zone」を選択する。
7. 値に、「Asia/Tokyo」を入力する(選択ではなくて、入力する)。
8. 保存する。
9. 保存後に、インスタンスの再起動が必要になるので、再起動する。

設定変更後に確認した例。
システム側はUTCのままだが、アクセスしたとき(セッション)のタイムゾーンは、Asia/Tokyoに変わっており、現在時刻を取得した際の時間も日本時間になっていた。
MySQL [(none)]> SHOW VARIABLES LIKE '%time_zone%';
+------------------+------------+
| Variable_name | Value |
+------------------+------------+
| system_time_zone | UTC |
| time_zone | Asia/Tokyo |
+------------------+------------+
2 rows in set (0.159 sec)
MySQL [(none)]> select now();
+---------------------+
| now() |
+---------------------+
| 2023-12-11 13:50:43 |
+---------------------+
1 row in set (0.154 sec)
MySQL [(none)]>
2023年11月に行われたGoogle コア アップデートは、かなり影響が出ている。
まぁ、負荷が減ってよかった、と思うことにするか。
負荷が気になるほどのアクセスがあるわけじゃないけれど。
アップデートの内容については公開されており、下記で見れる
Google 検索の更新に関する Q&A | Google 検索セントラル ブログ | Google for Developers
https://developers.google.com/search/blog/2023/11/q-and-a-on-search-updates?hl=ja
ついにGoogle App Scriptから、JDBC経由で、Google CloudのCloud SQL のMySQL 8.0のインスタンスに接続を試して、成功した。JDBCがMySQL 8.0 に対応した。(忘れていたけれど、2022年11月も成功していたようだ・・・)
なお、接続はSSL / TLS クライアント証明書による接続。
GASサンプルコード:接続して、DB名とバージョンを取得する
function myFunction() {
dbConnectionSSL()
}
// --------------------------------
// SSLで接続する
// --------------------------------
function dbConnectionSSL(){
Logger.log('start dbConnection function.');
// 接続先設定
var connectionIp = '34.xx.xx.xx'; // 接続のMysqlのIPアドレス(ホスト名も可)
var userName = 'username'; // 接続で使うユーザ名
var passwd = 'passowrd'; // 接続で使うパスワード
var databaseName = 'CT'; // データベース名
var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName + '?useSSL=true';
// SSL用の証明書を変数に入れる
var clientKey = '\
-----BEGIN RSA PRIVATE KEY-----\n\
zylvsBC2kozS3rAxO1KUeD+rUbdDC/0PDbANXi4s/96qEN9vV80WBfH7Ut1TDdWt\n\
~~~中略~~~
wGeppu4uYW4hSE6rATB+GhNwFJtAl1qz4M2nefKWBCc97wmZte/G\n\
-----END RSA PRIVATE KEY-----';
var clientCert = '\
-----BEGIN CERTIFICATE-----\n\
g+vn0NZqwTzhGhfXV9y7k0wsjqN3VjfvLSkSqinYRgDID/vb7FvAD3qyGyTiR9HT\n\
~~~中略~~~
l+AUFjEP\n\
-----END CERTIFICATE-----';
var serverCa = '\
-----BEGIN CERTIFICATE-----\n\
pIa8Cnto3SIGqcwdV1SjA8iS1ohC3t+2igQq9aykOjd51jSQlVRqsE5lYty1VhiX\n\
~~~中略~~~
fCcN9N2TqwxUXmD7g/+5lBi+wf+FBCPml/cyeRvDu5PZIqQ=\n\
-----END CERTIFICATE-----';
Logger.log('start mysql con');
Logger.log(addr);
var connectionInfo = {
user: userName,
password: passwd,
_serverSslCertificate: serverCa,
_clientSslCertificate: clientCert,
_clientSslKey: clientKey
}
// DBにコネクションをはるオブジェクトを作る
var connection = Jdbc.getConnection(addr, connectionInfo);
Logger.log(connection.getCatalog());
// Select文を実行するための処理
// sqlステートメントをデータベースに送信するためのオブジェクトを作る
var statement = connection.createStatement();
// sqlを実行して結果をオブジェクトに入れる
var result = statement.executeQuery('select @@version;');
// 結果を取り出す
while (result.next()) {
var name = result.getString('@@version');
// ログに出力する
Logger.log(name);
}
// コネクションを閉じる
connection.close();
Logger.log('end');
}
// -----------------------------------
// DB Connection close
// -----------------------------------
function dbConnectionClose(connection) {
Logger.log('start db connection close');
connection.close;
Logger.log('end db connection close');
}

Google Workspaceの管理画面に、Duet AI for Google Workspace Enterpriseのトライアルの表示が追加されていた。Google Workspaceのエディションが対応していれば、14日間のトライアルができるようだ。
https://support.google.com/a/answer/13623623
トライアルは10ユーザまで。トライアル終了後は、1ユーザあたり、月額30ドル~36ドル。年間契約だと安い方のようだ。
この前のGoogleの発表で、Duet AIが展開されるのはわかっていたが、一般展開やサブスクリプションライセンスの販売がこんなにも早く行われるとは思わなかった。それだけ、ツールに生成AIを組み込むことの争いが激しいのだろう。Microsoft365のCopilotなどとの競争だろうけれど。

今日、渋谷のGoogle オフィスで開かれていた Google Cloud Generative AI Summit Tokyo にいってきた。
新しい(といっても、移転後数年経ってる)Googleのオフィスのイベントフロアはきれいだった。ホールの照明とか機材が常設っぽいのもすごい。コーヒーに、軽食、Googleっぽい感じだった。
Google Cloud Generative AI Summit Tokyoの感想とかは後日。
Google WorkspaceのCalendarに作業場所を入れることができる。この作業場所の情報を、Calendar APIから取得できるようになったとのこと。
作業場所については、1日単位での入力から時間での入力ができるようになった。いままでよりも、細かく作業をしている場所を共有できるようになっている。この状況なので、Calendar APIを使って、だれがどこにいるのかを取得できる。
ちょっと前に、Googleからアナウンスされていたが、Google Chatのテキストにハイパーリンクが使えるようになった。
https://workspaceupdates.googleblog.com/2023/07/add-hyperlinks-to-text-in-google-chat.html
今までは、ブラウザでURLをコピーして、Google Chatのテキスト部分に張り付けると、自動的にタイトルで貼り付けできるもののリンクにはならなかった。URLを張り付けようとすると、Ctrl+Shift+Vで、プレーンテキストとして貼り付けをしないと、コピーしたURLにならないという問題があった。それが今度は、通常のコピペで、リンク付きのタイトルが張り付けられるようになった。もちろん、プレビューも作成されるので便利になった。
Googleのステータスとしては、ロールアウト済みになっているので、基本的には使えるはず。