Mengonfigurasi kuota

Halaman ini menjelaskan cara mengonfigurasi kuota untuk API Anda di Framework Cloud Endpoints. Untuk mengetahui ringkasan fungsi yang disediakan oleh kuota, lihat Tentang kuota.

Java

Prosedur berikut mengasumsikan bahwa Anda sudah:

Untuk mengonfigurasi kuota di API:

  1. Dalam file yang berisi anotasi cakupan API, tambahkan berikut ini ke anotasi @Api Anda:

    limitDefinitions = {
          @ApiLimitMetric(
            name = "YOUR_METRIC_NAME",
            displayName = "YOUR_METRIC_DISPLAY_NAME",
            limit = YOUR_QUOTA_LIMIT)
    }
    
    • Ganti YOUR_METRIC_NAME dengan nama yang menjelaskan penghitung permintaan API.
    • Ganti YOUR_METRIC_DISPLAY_NAME dengan teks yang ditampilkan di halaman Endpoint > Layanan > Quotas untuk mengidentifikasi kuota.
    • Ganti YOUR_QUOTA_LIMIT dengan nilai bilangan bulat. Ini adalah jumlah permintaan yang dapat diajukan aplikasi yang terkait dengan project Google Cloud konsumen dalam satu menit. Misalnya:

        @Api(
            name = "echo",
            version = "v1",
            namespace =
              @ApiNamespace(
                ownerDomain = "echo.example.com",
                ownerName = "echo.example.com",
                packagePath = ""
              ),
            limitDefinitions = {
              @ApiLimitMetric(
                name = "read-requests",
                displayName = "Read requests",
                limit = 1000),
              @ApiLimitMetric(
                name = "list-requests",
                displayName = "List requests",
                limit = 100),
              @ApiLimitMetric(
                name = "write-requests",
                displayName = "Write requests",
                limit = 50),
            }
        )
      
  2. Untuk setiap metode tempat Anda ingin menerapkan kuota, tambahkan kode berikut ke anotasi @ApiMethod:

    metricCosts = {
                 @ApiMetricCost(
                   name ="YOUR_METRIC_NAME",
                   cost = YOUR_COST)
    }
    
    • Ganti YOUR_METRIC_NAME dengan nama yang Anda tentukan dalam parameter limitDefinitions dalam anotasi @Api.
    • Ganti YOUR_COST dengan nilai bilangan bulat yang menentukan biaya untuk setiap permintaan.

      Contoh:

        @ApiMethod(name = "echo",
                   metricCosts = {
                     @ApiMetricCost(
                       name = "read-requests",
                       cost = 1)
                   })
        public Message echo(Message message, @Named("n") @Nullable Integer n) {
          // ...function code here...
        }
      
  3. Men-deploy API.

Baca informasi selengkapnya mengenai anotasi yang digunakan dalam kuota:

Python

Prosedur berikut mengasumsikan bahwa Anda sudah:

Untuk mengonfigurasi kuota di API:

  1. Dalam file yang berisi dekorator API, buat daftar instance LimitDefinition, mirip dengan berikut ini:

    quota_limits = [
      endpoints.LimitDefinition(
        "YOUR_METRIC_NAME",
        "YOUR_METRIC_DISPLAY_NAME",
        limit)
    ]
    
    • Ganti YOUR_METRIC_NAME dengan nama yang menjelaskan penghitung permintaan API.
    • Ganti YOUR_METRIC_DISPLAY_NAME dengan teks yang ditampilkan di halaman Endpoint > Layanan > Quotas untuk mengidentifikasi kuota.
    • Ganti limit dengan nilai bilangan bulat. Ini adalah jumlah permintaan yang dapat dibuat oleh aplikasi yang terkait dengan project Google Cloud konsumen dalam satu menit. Contoh:

        quota_limits = [
          endpoints.LimitDefinition('read-requests', 'Read Requests', 1000),
          endpoints.LimitDefinition('list-requests', 'List Requests', 100),
          endpoints.LimitDefinition('write-requests', 'Write Requests', 50),
        ]
      
  2. Tambahkan kuota Anda ke dekorator API dengan menetapkannya ke argumen limit_definitions. Contoh:

      @endpoints.api(name='bookstore',
                     version='v1',
                     limit_definitions=quota_limits)
    
  3. Untuk setiap metode tempat Anda ingin menerapkan kuota, tetapkan kamus ke argumen METRIC_COSTS dari dekorator metode. Kunci harus berupa nama yang Anda tentukan dalam argumen limit_definitions ke dekorator API, dan nilainya adalah bilangan bulat yang menentukan biaya untuk setiap permintaan. Contoh:

      @endpoints.method(path='shelves/{shelf}',
                        http_method='GET',
                        metric_costs={'read-requests': 1})
      def get_shelf(self, request):
      # ...function code here...
    
  4. Men-deploy API.

Lihat informasi selengkapnya tentang dekorator yang digunakan dalam kuota: