Mengonfigurasi kuota

Halaman ini menjelaskan cara mengonfigurasi kuota untuk API Anda di Cloud Endpoints Framework. 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 hal 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 menjelaskan 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 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 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 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.

Lihat informasi selengkapnya tentang anotasi yang digunakan dalam kuota di sini:

Python

Prosedur berikut mengasumsikan bahwa Anda telah:

Untuk mengonfigurasi kuota di API Anda:

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

    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 dilakukan 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 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 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 di sini: