| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // 探查 rrbrr-book-audio 实际所在 region
- const fs = require('fs');
- const path = require('path');
- const envTxt = fs.readFileSync(path.join(__dirname, '..', '..', 'server', '.env.production'), 'utf8');
- const env = {};
- for (const line of envTxt.split(/\r?\n/)) {
- const m = line.match(/^\s*([A-Z0-9_]+)\s*=\s*(.*)\s*$/);
- if (m) env[m[1]] = m[2].replace(/^["']|["']$/g, '');
- }
- const OSS = require(path.join(__dirname, '..', '..', 'server', 'node_modules', 'ali-oss'));
- const AK = env.OSS_ACCESS_KEY_ID;
- const SK = env.OSS_ACCESS_KEY_SECRET;
- const REGIONS = [
- 'oss-cn-hangzhou','oss-cn-beijing','oss-cn-shanghai','oss-cn-shenzhen',
- 'oss-cn-qingdao','oss-cn-zhangjiakou','oss-cn-huabei-3','oss-cn-huabei-5',
- 'oss-cn-hangzhou-finance','oss-cn-shanghai-finance-1','oss-cn-chengdu',
- 'oss-cn-hongkong','oss-cn-fuzhou','oss-cn-wulanchabu','oss-cn-shenyang',
- 'oss-cn-nanjing','oss-cn-heyuan',
- 'oss-us-west-1','oss-us-east-1',
- 'oss-ap-southeast-1','oss-ap-southeast-2','oss-ap-southeast-3','oss-ap-southeast-5','oss-ap-southeast-6','oss-ap-southeast-7',
- 'oss-ap-northeast-1','oss-ap-south-1',
- 'oss-eu-central-1','oss-eu-west-1','oss-me-central-1','oss-rus-west-1'
- ];
- (async () => {
- for (const r of REGIONS) {
- try {
- const c = new OSS({ accessKeyId: AK, accessKeySecret: SK, bucket: 'rrbrr-book-audio', endpoint: r + '.aliyuncs.com', secure: true });
- const info = await c.getBucketInfo('rrbrr-book-audio');
- console.log(`\n✅ 命中 region = ${r}`);
- console.log(' ExtranetEndpoint =', info.bucket?.ExtranetEndpoint);
- console.log(' IntranetEndpoint =', info.bucket?.IntranetEndpoint);
- console.log(' Region =', info.bucket?.Region);
- console.log(' StorageClass =', info.bucket?.StorageClass);
- console.log(' CreationDate =', info.bucket?.CreationDate);
- return;
- } catch (e) {
- // 只显示前 60 字符
- const msg = (e.code || e.message || '').toString().split('\n')[0].slice(0, 80);
- console.log(` miss ${r.padEnd(28)} -> ${msg}`);
- }
- }
- console.log('\n全部 region 都没命中,请确认 AK/SK 有该 bucket 权限。');
- })();
|