Mengonfigurasi kuota

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

Java

Prosedur berikut mengasumsikan bahwa Anda telah:

Untuk mengonfigurasi kuota di API Anda:

  1. Dalam file yang berisi anotasi cakupan API, tambahkan yang berikut 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 mendeskripsikan penghitung permintaan API.
    • Ganti YOUR_METRIC_DISPLAY_NAME dengan teks yang ditampilkan di halaman Endpoints > Services > Quotas untuk mengidentifikasi kuota.
    • Ganti YOUR_QUOTA_LIMIT dengan nilai bilangan bulat. Ini adalah jumlah permintaan yang dapat dibuat oleh aplikasi yang terkait dengan project konsumen Google Cloud 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 yang ingin Anda terapkan kuotanya, 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 di 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.

Lihat informasi selengkapnya tentang anotasi yang digunakan dalam kuota di bawah ini:

Python

Prosedur berikut mengasumsikan bahwa Anda telah:

Untuk mengonfigurasi kuota di API Anda:

  1. Dalam file yang berisi decorator 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 mendeskripsikan penghitung permintaan API.
    • Ganti YOUR_METRIC_DISPLAY_NAME dengan teks yang ditampilkan di halaman Endpoints > Services > Quotas untuk mengidentifikasi kuota.
    • Ganti limit dengan nilai bilangan bulat. Ini adalah jumlah permintaan yang dapat dibuat oleh aplikasi yang terkait dengan project konsumen dalam satu menit. Google CloudContoh:

        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 ke dekorator API dengan menetapkannya ke argumen limit_definitions. Contoh:

      @endpoints.api(name='bookstore',
                     version='v1',
                     limit_definitions=quota_limits)
    
  3. Untuk setiap metode yang ingin Anda terapkan kuotanya, tetapkan kamus ke argumen METRIC_COSTS dari decorator metode. Kuncinya 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 bagian berikut untuk mengetahui informasi selengkapnya tentang dekorator yang digunakan dalam kuota: