先行確認:
專業白嫖黨として、Oracle の 4 つの無料チキンだけでは満足できません。20GB の無料スペースを持つオブジェクトストレージも活用する必要があります。最近、数年ぶりにブログを再開しましたが、ちょうどブログの画像ホスティングとしても使用できます。
前提条件#
- Oracle Cloud アカウント(クレジットカード認証が必要で、中国本土では申請が困難になっています)
- 適切な科学的な環境
Oracle Object Storage バケットの準備#
- Oracle Cloud のオブジェクトストレージ管理画面にアクセスし、新しいバケットを作成します。
デフォルトの設定で作成してください。作成後、可視性を編集し、パブリックまたはプライベートを選択できます。
パブリック:すべてのファイルが読み取り可能
プライベート:事前に検証されたリクエストを使用して一部のファイルを公開できます(この方法をおすすめします)
- 事前に検証されたリクエストを作成します。
オブジェクトにプレフィックスを指定し、プレフィックスにはimages
を入力します。後で Picgo の設定でこのプレフィックスを一致させる必要があるため、それ以外の場合はアクセスタイプは読み取りのみに設定し、有効期限はできるだけ長く設定してください。
URL をコピーして保存し、これはバケットの対応するプレフィックスディレクトリへのアクセスの BaseURL です。
画像をアップロードしてアクセスできるかどうかを試してみてください。
バケットのアクセス設定により、URL パスでのアクセスはできません。
先ほど作成した事前に検証されたリクエストの URL プレフィックスに置き換える必要があります。
https://objectstorage.ap-chuncheon-1.oraclecloud.com/p/xxx/n/{namespace}/b/blog/o/images/2022-05-23.png
3. バケットのエンドポイント
Oracle のオブジェクトストレージのエンドポイント形式はhttps://{namespace}.compat.objectstorage.{region}.oraclecloud.com/
です。
-
namespace: バケット情報の名前空間フィールド
-
region: これは Oracle アカウントのリージョンで、通常は Oci のコンソールアドレスに表示されます。私の場合、春川は
ap-chuncheon-1
です。
- Oracle アカウントの Ak と Sk を申請する
右上のアイコンをクリックして、「マイプロファイル情報」に移動し、「クライアントキー」オプションを選択して「キーの生成」をクリックします。
生成されたキーも保存してください。このキーはアカウントのSecretAccessKey
です。
AccessKeyID
はリストページにありますので、同様にコピーして保存してください。
Picgo と s3 プラグインのインストールと設定#
準備が整ったので、次は画像ホスティングツールの設定を開始します。2 つの選択肢があります:
- GUI インターフェースを持つ:PicGo
- CLI コマンドライン操作:PicGo-Core
個人の好みによりますが、私はコマンドラインに慣れているので、2 番目の選択肢を選びました。設定は同じですが、GUI が提供されているかどうかの違いです。
Node 環境のインストール#
nodejs公式ウェブサイトからインストールしてください。
Picgo-Core のインストール#
npm install picgo -g
または Yarn を使用する場合
yarn global add picgo
インストールを確認するために以下のコマンドを実行してください
picgo -h
以下の結果が表示されれば、インストールが成功しています。
S3 プラグインの追加#
S3 プラグインは、理論的にはすべての S3API 互換のオブジェクトストレージをサポートしています。詳細は、プラグインのホームページを参照してください。
picgo add s3
インストールが成功したら、設定ファイルに以下の情報が含まれているはずです。
S3 プラグインの設定#
{
"picBed": {
"uploader": "aws-s3",
"current": "aws-s3",
"aws-s3": {
"accessKeyID": "{ak}",
"secretAccessKey": "{sk}",
"bucketName": "{bucket}",
"region": "{region}",
"uploadPath": "images/{year}/{month}/{md5}.{extName}",
"endpoint": "https://{namespace}.compat.objectstorage.{region}.oraclecloud.com/",
"acl": "public-read",
"pathStyleAccess": true,
"urlPrefix": "https://objectstorage.ap-chuncheon-1.oraclecloud.com/p/{publicKey}/n/{namespace}/b/blog/o",
"disableBucketPrefixToURL": true
}
},
"picgoPlugins": {
"picgo-plugin-s3": true
}
}
上記の設定では、uploadPath
フィールド以外の場所のプレースホルダー "{ }" を対応する値に置き換えてください:
- ak: 先ほど申請した Oracle アカウントの
AccessKeyID
- sk: 先ほど申請した Oracle アカウントの
SecretAccessKey
- bucket: バケット名、私の場合は
blog
- region: 先ほど取得した
region
地域、私の場合はap-chuncheon-1
- uploadPath のプレースホルダーは変更する必要はありません。また、プレフィックスの "images" が先ほどの
事前に検証されたリクエスト
のプレフィックスと一致していることに注意してください。 - namespace: 先ほど取得した namespace
- urlPrefix: このフィールドは
事前に検証されたリクエスト
で申請した URL のプレフィックスです。 - disableBucketPrefixToURL: このフィールドは必ず true にする必要があります。そうしないと、アップロードリンクにバケットのプレフィックスが自動的に追加され、アクセスに失敗します。詳細はこのIssueを参照してください。
設定の検証#
スクリーンショットツールでクリップボードにスクリーンショットを撮影してください。
picgo upload
クリップボードの画像をアップロードします。
画像リンクにアクセスできることを確認します。
これで、基本的な画像ホスティングの機能が実現されました。どのエディターでも画像ホスティングを使用できますが、少し手間がかかります。エディターでコピーしてアップロードし、成功したらすぐに画像が表示されるとより良い体験になります。次に、Obsidian と対応するプラグインを使用して上記の機能を実現します。
Obsidian のインストールと設定#
Obsidianをダウンロードしてインストールします。
セーフモードをオフにして「Image auto upload Plugin」プラグインを検索してインストールします。
プラグインの設定
デフォルトのアップローダーはPicGo-Core
を選択します。
まとめ#
これで、Oracle をオブジェクトストレージとして使用するチュートリアルが完了しましたが、まだいくつかの欠点があります。たとえば、画像のアクセス効果が理想的ではないため、甲骨文のオブジェクトストレージは CDN をサポートしていないため、異なる地域でのアクセス効果が異なります。次の章では、CloudFlare を使用して画像のアクセスを高速化する方法と、特殊な場合に GIF をアップロードする方法について説明します。