WeChat ミニ プログラム クラウド開発エラー レポート

WeChat ミニ プログラム クラウド開発エラー レポート

その理由は、クラウド開発がエラーを報告したためです。

fail: Error: cloud.callFunction:fail Error: errCode: -501000  | errMsg: [100003] env not exists (f8c78dea-9f77-43cf-9e7f-88c85f2a0795) (callId: 1701747734223-0.895078767368265) (trace: 11:42:14 start->11:42:14 system error (Error: errCode: -501000  | errMsg: [100003] env not exists (f8c78dea-9f77-43cf-9e7f-88c85f2a0795)), abort)
at N (WASubContext.js?t=wechat&s=1701739226681&v=2.25.1:1)
at WASubContext.js?t=wechat&s=1701739226681&v=2.25.1:1

解決

しかし、よく考えてみると、クラウド環境が存在しないように見えるのに、なぜエラーが報告されるのでしょうか。これは奇妙ではありませんか?調べてみると、 f8c78dea-9f77-43cf-9e7f-88c85f2a0795 クラウド開発ではこういうのは存在しないようです ログ収集で入手できるかもしれませんが、別途料金がかかるのでやめておきますそれを試してみてください。

ずっと分析していて、これが現在の共有環境を利用したクラウド環境に関係しているのではないかとふと思い出しました。見てみました、えっ。 。 。環境が構成されていません。

画像の説明を追加してください

私はすぐにクラウド開発パネルを再度開きました。

画像の説明を追加してください

環境が空です。共有は作成されましたが、デフォルトでは環境はまだ空です。ここには魔法の設定が必要な気がします。まずはドキュメントを見てみましょう。

何度も行ったり来たりした後、このドキュメントを見つけました。

その中に文がありますクロスアカウント環境共有シナリオ (他の WeChat クラウドによって開発されたリソースを使用) の場合は、新しい wx.cloud.Cloud を使用して、新しいインスタンスを作成します。

さて、問題はここにあるはずです。ドキュメントのサンプル コードに従ってください。

const a = new wx.cloud.Cloud({
    
    
  resourceEnv: 'a',
  traceUser: true,
})
await a.init()

// 可以调用云开发 API 访问云资源了,如
const res = await a.callFunction({
    
    
  name: 'test',
  data: {
    
    
    // ...
  },
})

まだ動作していないようです。他の質問を確認したところ、resourceAppid という別のパラメータがあるようです。

const a = new wx.cloud.Cloud({
    
    
  resourceEnv: 'a',
  resourceAppid: 'wxa', // 主环境的小程序ID
  traceUser: true,
})
await a.init()

// 可以调用云开发 API 访问云资源了,如
const res = await a.callFunction({
    
    
  name: 'test',
  data: {
    
    
    // ...
  },
})

これでようやく動作するようになったので、デプロイして試してみたいと思います。 。 。現在共有環境にある小さなプログラムにはプッシュできないようです。 。 。うーん。 。 。すると、メイン環境アプレットへの変更が成功しました。

考える

現状、ミニ プログラム A の開発環境はミニ プログラム B と共有されています。ミニ プログラム B が A のクラウド開発環境を使用する必要がある場合、ミニ プログラム A のように直接使用することはできません。クラウド関数を呼び出すための新しい環境。
また、ミニ プログラム B はクラウド機能を直接展開できなくなり、ミニ プログラム A を通じて操作する必要があり、この機能の利用シーンが厳格化されました。しかし私たちにとって、充電で解決できる問題は解決できません。できるだけこれを使ったほうが良いでしょう。

しかし、小規模なプログラムのクラウド開発の展開は実際には少しランダムであり、ハンディキャップがあるとオンライン事故につながりやすいです。
調べてみたところ、バージョン管理が見つかりました。オンラインにするときに新しいバージョンを作成し、すべてのトラフィックをそのバージョンに置き、その後トラフィック使用バージョンを変更する方が安全だと思います。後でオンラインにします。

おすすめ

転載: blog.csdn.net/xo19882011/article/details/134807715