Googleからポテトチップスが届きました!
PIxel6のキャンペーンで以下のサイトから応募したのですがまさか当たると思ってませんでした (∩´∀`)∩わーい
https://pixeljp.withgoogle.com/
届いた箱の中身はこんな感じ↓
今Pixel3使っているので、Pixel6欲しいな~。ドコモでなんで出ないのだろうか。Pixel3にするためにau→ドコモに乗り換えたのに。。。。
Googleからポテトチップスが届きました!
PIxel6のキャンペーンで以下のサイトから応募したのですがまさか当たると思ってませんでした (∩´∀`)∩わーい
https://pixeljp.withgoogle.com/
届いた箱の中身はこんな感じ↓
今Pixel3使っているので、Pixel6欲しいな~。ドコモでなんで出ないのだろうか。Pixel3にするためにau→ドコモに乗り換えたのに。。。。
GitHubで自分のリポジトリにPushしようとしたところ、「git-receive-pack not permitted」というエラーが発生した。(Eclipseからやってます)
とある記事では、「Gitのパスワードが間違っているので、Eclipseのセキュアストレージを一旦削除する」というのがあったが、これでも解決せず。
散々探した結果、GitHubの公式ブログに見つけました!なんと、2020/12/15の記事で「Token authentication requirements for Git operations」がありました。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
つまり、Gitの操作にはトークン認証が必須になるよという意味でした。実際、トークンを作成してPushしたところ問題なく操作できました。
私の場合は、Cloneするときには、Githubのアカウントとパスワードをセットしていたため、同じ認証情報がPushの時にも使われてエラーになったました。
① GitHubにログインして、アイコン > Settingsを開く。
②画面下部の方にある、Developer Settingsを開く。
③Personal access tokenを開く。
④Generate new tokenを開く。
④トークンの名前と有効期限をセットする。
⑤アクセスを許可するスコープをセットして、画面下部のGenerate Tokenを押下する。
⑥そうすると、トークンが作成された画面上に表示されるためメモしておく(このタイミングでしか見れない)
⑦アクセストークンをパスワードにセットして使う。↓例
1 2 3 |
$ git clone https://github.com/username/repo.git Username: your_username Password: your_token |
なお、英語でよければTokenの作成方法について公式の記事があります。
https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token
私のようにEclipseで認証情報を保存してしまった場合は、以下の方法でクリアできます。
設定 > 一般 > セキュリティー > セキュア・ストレージ > 内容 > [デフォルト・セキュア・ストレージ] > GIT > http・・・・(以下画面参照)
に移動して削除を押下します。
すると再起動を求められるので再起動します。再度Pushするときに認証情報を求められるので、その時にパスワードにTokenを使いましょう。
古いバージョンのEclipseであれば、以下の記事が役に立つかもです。
https://hacknote.jp/archives/6690/
いやー、自分が使っているサービスの公式ブログはたまに読んでおかないとだめだ。(;´д`)
仕事でAzure Filesを使うことになり、JavaのWebアプリからアクセスする要件があり、ファイル作成、削除などの基本的な操作をAzure Java SDKでできるか確認した。
基本的には、以下のMicrosoft公式の実装サンプルを試してみた。
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-java-how-to-use-file-storage?tabs=java
ほとんどそのまま使えるものであったが、以下のファイルアップロードだけそのままでは使えなかった。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public static Boolean uploadFile(String connectStr, String shareName, String dirName, String fileName) { try { ShareDirectoryClient dirClient = new ShareFileClientBuilder() .connectionString(connectStr).shareName(shareName) .resourcePath(dirName) .buildDirectoryClient(); ShareFileClient fileClient = dirClient.getFileClient(fileName); fileClient.create(1024); fileClient.uploadFromFile(fileName); return true; } catch (Exception e) { System.out.println("uploadFile exception: " + e.getMessage()); return false; } } |
「fileClient.create(1024)」と書かれているが、ここはファイルの最大サイズを指定するらしく、このままでは1KBのファイルまでしかアップロードできなかった。以下のように修正して、事前にファイルサイズを指定するよう変更した。(21行目)
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 |
/** * ファイルアップロード. * * @param connectStr 接続文字列 * @param shareName ファイル共有名 * @param dirName ディレクトリ名 * @param fileName ファイル名 * @param localFilePath アップロードファイルパス * @return Boolean 実行結果 */ public static Boolean uploadFile(String connectStr, String shareName, String dirName, String fileName, String localFilePath) { try { ShareDirectoryClient dirClient = new ShareFileClientBuilder().connectionString(connectStr) .shareName(shareName).resourcePath(dirName).buildDirectoryClient(); ShareFileClient fileClient = dirClient.getFileClient(fileName); File file = new File(localFilePath); fileClient.create(file.length()); fileClient.uploadFromFile(localFilePath); return true; } catch (Exception e) { System.out.println("uploadFile exception: " + e.getMessage()); return false; } } |
ソース全体は以下のGithubリポジトリにアップロード済み。
https://github.com/glasses-se-hub/azure-files-java-sdk
自分で作りたくないので、もうちょっと公式に実装サンプルがあるとうれしい。( º﹃º` )ダラ~