- HOME
- APIの概要
- APIの概要
- APIの呼び出しと認証
- APIデータタイプ
- VPC
- Platform
- Account
- AppliedCreditHistory
- AppliedProductDiscountHistory
- Coin
- CoinHistory
- CoinHistoryList
- CoinUseHistory
- Contract
- ContractList
- ContractDemandCost
- ContractDemandCostList
- ContractProduct
- ContractSummary
- ContractSummaryList
- ContractUsageList
- ContractUsageByDaily
- ContractUsageListByDaily
- CostRelationCode
- CostRelationCodeList
- CountryPeriodUnit
- CountryUnit
- Credit
- CreditHistory
- CreditHistoryList
- CreditUseHistory
- DemandCost
- DemandCostList
- Discount
- DiscountList
- PackageUnit
- PeriodUnit
- Price
- PriceList
- Product(For Billing)
- ProductList(For Billing)
- ProductCategoryList
- ProductDemandCost
- ProductDemandCostList
- ProductDemandCostByDiscount
- ProductDemandCostByDiscountList
- ProductDemandType
- ProductDiscount
- ProductDiscountHistory
- ProductDiscountHistoryList
- ProductDiscountUseHistory
- ProductPrice
- ProductPriceList
- Region(For Billing)
- RegionList(For Billing)
- SectionPrice
- SectionPriceList
- ShareCoinSnapshot
- Usage
- UseDate
- Compute
- AccessControlGroup
- AccessControlGroupList
- AccessControlGroupNoList
- AccessControlGroupRule
- AccessControlGroupRuleList
- ActivityLog
- ActivityLogList
- CommonCode
- CommonResponse
- AdjustmentType
- AdjustmentTypeList
- FlowLogConfiguration
- FlowLogConfigurationList
- HypervisorTypeList
- InAutoScalingGroupServerInstance
- InitScript
- InitScriptList
- KeyName
- LaunchConfiguration
- LaunchConfigurationList
- LoginKey
- LoginKeyList
- MemberServerImage
- MemberServerImageInstance
- MemberServerImageInstanceList
- NetworkInterface
- NetworkInterfaceList
- NetworkInterfaceNoList
- PlacementGroup
- PlacementGroupList
- PrivateKey
- Process
- ProcessList
- Product
- ProductList
- ProtocolType
- PublicIpInstance
- PublicIpInstanceList
- Raid
- RaidList
- Region
- RegionList
- RootPassword
- RootPasswordServerInstance
- RootPasswordServerInstanceList
- AutoScalingGroup
- ScalingPolicy
- ScalingPolicyList
- ScheduledUpdateGroupAction
- ScheduledUpdateGroupActionList
- SecondaryIpList
- ServerImage
- AutoScalingGroupList
- ServerImageList
- ServerInstance
- ServerInstanceList
- ServerInstanceNoList
- ServerSpec
- ServerSpecList
- SharedLoginIdList
- ServerImage
- BlockDevicePartition
- BlockStorageInstance
- Zone
- ZoneList
- BlockStorageInstanceList
- BlockStorageMapping
- BlockStorageSnapshotInstance
- BlockStorageSnapshotInstanceList
- BlockStorageVolumeType
- BlockStorageVolumeTypeList
- Storage
- Networking
- HostHeaderCondition
- HostHeaderList
- IDResponse
- IpList
- LoadBalancerInstance
- LoadBalancerInstanceList
- LoadBalancerIpList
- LoadBalancerListener
- loadBalancerListenerCertificate
- LoadBalancerListenerNoList
- LoadBalancerRule
- loadBalancerListenerCertificateList
- LoadBalancerListenerList
- LoadBalancerRuleAction
- LoadBalancerRuleNoList
- LoadBalancerSubnet
- LoadBalancerRuleCondition
- LoadBalancerRuleList
- NatGatewayInstance
- NatGatewayInstanceList
- NetworkAcl
- NetworkAclDenyAllowGroup
- NetworkAclRule
- NetworkAclDenyAllowGroupList
- NetworkAclList
- NetworkAclRuleList
- PathPatternCondition
- PathPatternList
- PolicyDetailResponse
- PolicyListResponse
- PolicyRequest
- ProfileDetailResponse
- ProfileListResponse
- ProfileRequest
- RedirectionAction
- Route
- RouteList
- RouteTable
- RouteTableList
- Subnet
- SubnetList
- SubnetNoList
- Target
- TargetGroup
- TargetNoList
- TargetSubnet
- TargetGroupAction
- TargetGroupNoList
- TargetGroupWeight
- TargetGroupList
- TargetList
- TargetSubnetList
- TargetVpc
- TargetVpcList
- Vpc
- VpcList
- VpcPeeringInstance
- VpcPeeringInstanceList
- CipherSuiteList
- Database
- CloudDbProduct
- CloudDbProductList
- Cloud DB for MySQL
- CloudMysqlBackup
- CloudMysqlBackupList
- CloudMysqlBackupDetail
- CloudMysqlBackupDetailList
- CloudMysqlConfigList
- CloudMysqlDatabase
- CloudMysqlDatabaseList
- CloudMysqlDbServerLog
- CloudMysqlDbServerLogList
- CloudMysqlEventHistory
- CloudMysqlEventHistoryList
- CloudMysqlInstance
- CloudMysqlInstanceList
- CloudMysqlInstanceForHiveMetaStore
- CloudMysqlInstanceListForHiveMetaStore
- CloudMysqlRecoveryTime
- CloudMysqlServerInstance
- CloudMysqlUser
- CloudMysqlUserList
- CloudMysqlUserForHiveMetaStore
- CloudMysqlUserListForHiveMetaStore
- Cloud DB for Redis
- CloudRedisBackup
- CloudRedisBackupList
- CloudRedisBackupDetail
- CloudRedisBackupDetailList
- CloudRedisBucket
- CloudRedisBucketList
- CloudRedisConfigGroup
- CloudRedisConfigGroupList
- CloudRedisConfigGroupVersion
- CloudRedisConfigGroupVersionList
- CloudRedisInstance
- CloudRedisInstanceList
- CloudRedisServerInstance
- Cloud DB for MSSQL
- CloudMssqlBucket
- CloudMssqlCharcterSetList
- CloudMssqlBackupDetail
- CloudMssqlCharacterSet
- CloudMssqlConfigGroup
- CloudMssqlConfigGroupList
- CloudMssqlFolder
- CloudMssqlFolderList
- CloudMssqlInstance
- CloudMssqlInstanceList
- CloudMssqlLogFile
- CloudMssqlLogFileList
- CloudMssqlServerInstance
- CloudMssqlBackup
- CloudMssqlLogBackupFile
- CloudMssqlLogBackupFileList
- CloudMssqlBackupDetail
- CloudMssqlBackupDetailList
- CloudMssqlBackupList
- Cloud DB for MongoDB
- Cloud DB for PostgreSQL
- CloudPostgresqlBackup
- CloudPostgresqlBackupList
- CloudPostgresqlBackupDetail
- CloudPostgresqlBackupDetailList
- CloudPostgresqlBucket
- CloudPostgresqlBucketList
- CloudPostgresqlConfigList
- CloudPostgresqlDatabase
- CloudPostgresqlDatabaseList
- CloudPostgresqlDbServerLog
- CloudPostgresqlDbServerLogList
- CloudPostgresqlInstance
- CloudPostgresqlInstanceList
- CloudPostgresqlServerInstance
- CloudPostgresqlUser
- CloudPostgresqlUserList
- AI·NAVER API
- Application Services
- GeoLocation
- Cloud Outbound Mailer
- AddressBookRequest
- AddressBookResponse
- CountByStatus
- EmailRecipientType
- EmailReservationStatus
- EmailStatus
- GeoLocation
- HistoryActionType
- NesDateTime
- AttachFile
- Recipient
- RecipientForRequest
- RecipientGroupFilter
- RequesterType
- RequestListResponse
- Sort
- SendBlockHistoryResponse
- TemplateBackupStatus
- TemplateExportRequestResponse
- TemplateStructureResponse
- UnsubscribersListResponse
- Category
- GeolocationList
- Big Data & Analytics
- Cloud Hadoop (VPC)
- CloudHadoopAddOn
- CloudHadoopAddOnList
- CloudHadoopBucket
- CloudHadoopBucketList
- CloudHadoopClusterType
- CloudHadoopClusterTypeList
- CloudHadoopInstance
- CloudHadoopInstanceList
- CloudHadoopLoginKey
- CloudHadoopLoginKeyList
- CloudHadoopNotebookBucket
- CloudHadoopNotebookBucketList
- CloudHadoopNotebookComponent
- CloudHadoopNotebookComponentList
- CloudHadoopNotebookInstance
- CloudHadoopNotebookInstanceList
- CloudHadoopNotebookServerInstance
- CloudHadoopNotebookVersion
- CloudHadoopObject
- CloudHadoopObjectList
- CloudHadoopServerInstance
- CloudHadoopVersion
- Data Forest
- AccountResponse
- CreateAppRequest
- DependableApp
- AiAppDocker
- GetAccountDetailResponse
- GetAccountListResponse
- GetAiAppDetailResponse
- GetAiAppListResponse
- GetAiWorkspaceConfigurationListResponse
- GetAiWorkspaceDetailResponse
- GetAiWorkspaceListResponse
- AiAppData
- GetAppBasicSettingResponse
- GetAppDetailResponse
- GetAppListResponse
- AiAppDocker
- AiAppResource
- AiAppResponse
- AiAppTypeSpec
- AiWorkspaceConfig
- AiWorkspaceResponse
- AppComponentRequest
- AppComponentResponse
- AppContainerResponse
- AppResponse
- QuotaResponse
- SubmitAiAppResponse
- Cloud Hadoop (VPC)
- Platform
- Classic
- Platform
- Account
- AppliedCreditHistory
- AppliedProductDiscountHistory
- Coin
- CoinHistory
- CoinHistoryList
- CoinUseHistory
- Contract
- ContractList
- ContractDemandCost
- ContractDemandCostList
- ContractProduct
- ContractSummary
- ContractSummaryList
- ContractUsageList
- ContractUsageByDaily
- ContractUsageListByDaily
- CostRelationCode
- CostRelationCodeList
- CountryPeriodUnit
- CountryUnit
- Credit
- CreditHistory
- CreditHistoryList
- CreditUseHistory
- DemandCost
- DemandCostList
- Discount
- DiscountList
- PackageUnit
- PeriodUnit
- Price
- PriceList
- Product(For Billing)
- ProductList(For Billing)
- ProductCategoryList
- ProductDemandCost
- ProductDemandCostList
- ProductDemandCostByDiscount
- ProductDemandCostByDiscountList
- ProductDemandType
- ProductDiscount
- ProductDiscountHistory
- ProductDiscountHistoryList
- ProductDiscountUseHistory
- ProductPrice
- ProductPriceList
- Region(For Billing)
- RegionList(For Billing)
- SectionPrice
- SectionPriceList
- ShareCoinSnapshot
- Usage
- UseDate
- Compute
- AccessControlGroup
- AccessControlGroupList
- AccessControlRule
- AccessControlRuleList
- ActivityLog
- ActivityLogList
- CollectingInfo
- CollectingInfoList
- CommonCode
- CommonResponse
- ConfigurationLog
- ConfigurationLogList
- InAutoScalingGroupServerInstance
- InitScript
- InitScriptList
- InstanceTag
- InstanceTagList
- LaunchConfiguration
- LaunchConfigurationList
- LoginKey
- LoginKeyList
- MemberServerImage
- MemberServerImageList
- PortForwardingConfiguration
- PortForwardingConfigurationList
- PortForwardingRule
- PortForwardingRuleList
- PrivateKey
- Process
- ProcessList
- Product
- AsgPolicy
- ProductList
- PublicIpInstance
- PublicIpInstanceList
- Raid
- RaidList
- Region
- RegionList
- RootPassword
- AutoScalingGroup
- RootPasswordServerInstance
- RootPasswordServerInstanceList
- ScalingPolicy
- ScalingPolicyList
- ScheduledUpdateGroupAction
- ScheduledUpdateGroupActionList
- AutoScalingGroupList
- ServerInstance
- ServerInstanceList
- ServerInstanceNoList
- SharedLoginIdList
- BlockDevicePartition
- SuspendedProcess
- BlockStorageInstance
- Zone
- ZoneList
- BlockStorageInstanceList
- BlockStorageSnapshotInstance
- BlockStorageSnapshotInstanceList
- Storage
- Networking
- DomainCreateRequest
- DomainDetailResponse
- DomainListResponse
- DomainQueryResponse
- DomainResponse
- DomainUsage
- LbRecordResponse
- LoadBalancedServerInstance
- LoadBalancerInstance
- LoadBalancerInstanceList
- LoadBalancerInstanceSummary
- LoadBalancerRule
- RecordCreateRequest
- RecordResponse
- RecordUpdateRequest
- ServerHealthCheckStatus
- SslCertificate
- SslCertificateList
- Application Services
- GeoLocation
- Cloud Outbound Mailer
- AddressBookRequest
- AddressBookResponse
- AttachFile
- Category
- CountByStatus
- EmailRecipientType
- EmailReservationStatus
- EmailStatus
- HistoryActionType
- MailListResponse
- NesDateTime
- Recipient
- RecipientForRequest
- RecipientGroupFilter
- RequesterType
- RequestListResponse
- SendBlockHistoryResponse
- TemplateBackupStatus
- TemplateExportRequestResponse
- TemplateStructureResponse
- UnsubscribersListResponse
- Category
- Big Data & Analytics
- Container
- AggregatedResult
- DocProperty
- AggregateSchema
- GroupBySchema
- Index
- IndexProcessor
- QueryAnalysisField
- AutocompleteSearchQuery
- AutocompleteSearchSchema
- Schema
- SearchAggregate
- SearchHighlighting
- SearchPassage
- SearchQuery
- SearchResultProcessing
- SearchScope
- SearchSetting
- Section
- UserDbUpload
- BuildInfo
- Management & Governance
- CreateOrUpdateMetricsGrpDto
- CreateOrUpdateMetricsGrpDto
- DataQueryRequest
- DataQueryRequestMetricInfo
- DeleteRuleGroupItemDto
- DimensionDto
- DimensionsSelected
- DirectRuleGroupCreateDto
- EventSearchRequest
- EventSearchRequestById
- FieldDto
- FieldDto
- MetricsGroupItem
- MonitorGroupItem
- MonitorGrpDto
- MonitorGrpDto
- PersonalRecipientNotification
- PMCreateUpdateDto
- RecipientNotification
- RuleGroupItemDto
- TypeGroupRelatedRuleDto
- WidgetMetricInfoDto
- ChartDataWidgetDto
- Platform
- VPC
- Platform
- Compute
- Server (VPC)
- Server(VPC) の概要
- Server
- Login Key
- Placement Group
- getServerInstanceList
- getServerInstanceDetail
- createServerInstances
- startServerInstances
- stopServerInstances
- rebootServerInstances
- terminateServerInstances
- changeServerInstanceSpec
- getRootPassword
- getRootPasswordServerInstanceList
- setProtectServerTermination
- interruptServerInstance
- Server Image
- removeServerImageSharingPermission
- addServerImageSharingPermission
- getServerImageList
- getServerImageDetail
- createServerImageFromSnapshot
- createServerImage
- deleteServerImage
- getMemberServerImageInstanceList
- getMemberServerImageInstanceDetail
- createMemberServerImageInstance
- deleteMemberServerImageInstances
- setMemberServerImageSharingPermission
- addMemberServerImageSharingPermission
- removeMemberServerImageSharingPermission
- Storage
- Snapshot
- Public IP
- Init Script
- Network Interface
- getNetworkInterfaceList
- unassignSecondaryIps
- assignSecondaryIps
- getNetworkInterfaceDetail
- createNetworkInterface
- deleteNetworkInterface
- attachNetworkInterface
- detachNetworkInterface
- addNetworkInterfaceAccessControlGroup
- removeNetworkInterfaceAccessControlGroup
- enableFlowLog
- disableFlowLog
- getFlowLogConfigurationList
- ACG
- Common
- Server (VPC)指標
- Server
- Server概要
- getServerProductList
- getServerImageProductList
- getRaidList
- getZoneList
- getRegionList
- getInitScriptList
- getLoginKeyList
- createLoginKey
- deleteLoginKey
- importLoginKey
- getAccessControlGroupList
- getAccessControlGroupServerInstanceList
- getAccessControlRuleList
- getServerInstanceList
- createServerInstances
- recreateServerInstance
- terminateServerInstances
- changeServerInstanceSpec
- rebootServerInstances
- startServerInstances
- stopServerInstances
- getRootPassword
- getRootPasswordServerInstanceList
- getMemberServerImageList
- createMemberServerImage
- deleteMemberServerImages
- getBlockStorageInstanceList
- createBlockStorageInstance
- deleteBlockStorageInstances
- changeBlockStorageVolumeSize
- attachBlockStorageInstance
- detachBlockStorageInstances
- createBlockStorageSnapshotInstance
- deleteBlockStorageSnapshotInstances
- getBlockStorageSnapshotInstanceList
- getPublicIpTargetServerInstanceList
- createPublicIpInstance
- associatePublicIpWithServerInstance
- disassociatePublicIpFromServerInstance
- deletePublicIpInstances
- getPortForwardingRuleList
- getPublicIpInstanceList
- deletePortForwardingRules
- createInstanceTags
- deleteInstanceTags
- getInstanceTagList
- addPortForwardingRules
- getPortForwardingConfigurationList
- setMemberServerImageSharingPermission
- addMemberServerImageSharingPermission
- removeMemberServerImageSharingPermission
- setProtectServerTermination
- interruptServerInstance
- Server指標
- Auto Scaling (VPC)
- Auto Scaling概要
- Launch Configuration
- Auto Scaling Group
- getAutoScalingGroupList
- getAutoScalingGroupDetail
- createAutoScalingGroup
- updateAutoScalingGroup
- deleteAutoScalingGroup
- setDesiredCapacity
- getScheduledActionList
- putScheduledUpdateGroupAction
- deleteScheduledUpdateGroupAction
- getScalingProcessTypeList
- suspendProcesses
- resumeProcesses
- getAutoScalingActivityLogList
- getAutoScalingPolicyList
- getAdjustmentTypeList
- putScalingPolicy
- deleteScalingPolicy
- executePolicy
- Auto Scaling (VPC)指標
- Auto Scaling
- Auto Scaling概要
- setServerInstanceHealth
- putScheduledUpdateGroupAction
- updateAutoScalingGroup
- resumeProcesses
- executePolicy
- deletePolicy
- deleteScheduledAction
- getLaunchConfigurationList
- terminateServerInstanceInAutoScalingGroup
- getAutoScalingGroupList
- deleteAutoScalingLaunchConfiguration
- getScheduledActionList
- putScalingPolicy
- getAutoScalingActivityLogList
- createLaunchConfiguration
- getScalingProcessTypeList
- suspendProcesses
- getAutoScalingConfigurationLogList
- getAdjustmentTypeList
- createAutoScalingGroup
- getAutoScalingPolicyList
- deleteAutoScalingGroup
- setDesiredCapacity
- Auto Scaling指標
- Cloud Functions
- Cloud Functions の概要
- v2.1
- Get Package List
- Get Package
- Put Package
- Delete Package
- Get Action List
- Get Action
- Put Action
- Post Action
- Delete Action
- Get Action's Activation List
- Get Action's Activation Detail
- Get Trigger List
- Get Trigger
- Put Trigger
- Post Trigger
- Delete Trigger
- Post Trigger Link Action
- Delete Trigger Link Action
- Get Trigger's Activation List
- Get Trigger's Activation Detail
- Get Activation List
- v2.0
- Get Package List
- Get Package
- Put Package
- Delete Package
- Get Action List
- Get Action
- Put Action
- Post Action
- Delete Action
- Get Action's Activation List
- Get Action's Activation Detail
- Get Trigger List
- Get Trigger
- Put Trigger
- Post Trigger
- Delete Trigger
- Post Trigger Link Action
- Delete Trigger Link Action
- Get Trigger's Activation List
- Get Trigger's Activation Detail
- Get Activation List
- Metadata (VPC)
- Server (VPC)
- Containers
- Container Registry
- Ncloud Kubernetes Service (VPC)
- Ncloud Kubernetes Serviceの概要
- Clusterリストの照会
- Clusterの照会
- Clusterの作成
- Clusterのバージョンアップグレード
- Cluster Audit Logの設定
- Cluster Subnetの追加
- Cluster OIDCの設定
- Cluster OIDCの照会
- Cluster IPアドレス ACLの設定
- Cluster IPアドレス ACLの照会
- Cluster LB Subnetの変更
- Cluster返却保護の設定
- Clusterシークレット暗号化設定
- Cluster認証モードの設定
- Cluster IAMアクセスリストの照会
- Cluster IAMアクセスの照会
- Cluster IAMアクセスの作成
- Cluster IAMアクセスの更新
- Cluster IAMアクセスの削除
- Clusterの削除
- WorkerNodeの照会
- WorkerNodeの削除
- NodePoolの照会
- NodePoolの作成
- NodePoolの変更
- NodePool Subnetの変更
- NodePool Labelの変更
- NodePool Taintの変更
- NodePoolのアップグレード
- NodePoolの削除
- Kubeconfigの照会
- Kubeconfigの再設定
- k8sサポートバージョンの照会
- サーバイメージの照会
- サーバスペックの照会
- Ncloud Kubernetes Service (VPC)指標
- Storage
- Object Storage
- Object Storageの概要
- ListBuckets
- PutBucket
- ListObjects
- ListObjectsV2
- HeadBucket
- DeleteBucket
- PutBucketACL
- GetBucketACL
- PutBucketCORS
- GetBucketCORS
- DeleteBucketCORS
- ListMultipartUploads
- PutObject
- PutObject (Copy)
- GetObject
- HeadObject
- DeleteObject
- DeleteMultipleObjects
- PutObjectACL
- GetObjectACL
- OptionsObjectCORS
- InitiateMultipartUpload
- UploadPart
- ListParts
- CompleteMultipartUpload
- AbortMultipartUpload
- Object Storage指標
- Archive Storage
- NAS (VPC)
- NAS
- Object Storage
- Networking
- VPC
- VPC 概要
- VPC Management
- Subnet Management
- Network ACL
- getNetworkAclList
- getNetworkAclDetail
- createNetworkAcl
- deleteNetworkAcl
- setSubnetNetworkAcl
- getNetworkAclRuleList
- addNetworkAclInboundRule
- addNetworkAclOutboundRule
- removeNetworkAclInboundRule
- removeNetworkAclOutboundRule
- setNetworkAclDescription
- getNetworkAclDenyAllowGroupList
- getNetworkAclDenyAllowGroupDetail
- createNetworkAclDenyAllowGroup
- deleteNetworkAclDenyAllowGroup
- setNetworkAclDenyAllowGroupIpList
- setNetworkAclDenyAllowGroupDescription
- NAT Gateway
- VPC Peering
- Route Table
- Load Balancer (VPC)
- Load Balancer 概要
- Load Balancer
- createLoadBalancerInstance
- changeLoadBalancerInstanceConfiguration
- setLoadBalancerDescription
- setLoadBalancerInstanceSubnet
- deleteLoadBalancerInstances
- getLoadBalancerInstanceDetail
- getLoadBalancerInstanceList
- createLoadBalancerListener
- changeLoadBalancerListenerConfiguration
- deleteLoadBalancerListeners
- getLoadBalancerListenerList
- getLoadBalancerRuleList
- addLoadBalancerListenerCertificate
- removeLoadBalancerListenerCertificate
- getLoadBalancerListenerCertificateList
- Target Group
- Load Balancer指標
- Load Balancer
- Load Balancer 概要
- createLoadBalancerInstance
- changeLoadBalancerInstanceConfiguration
- changeLoadBalancedServerInstances
- deleteLoadBalancerInstances
- getLoadBalancerInstanceList
- getLoadBalancedServerInstanceList
- getLoadBalancerTargetServerInstanceList
- addLoadBalancerSslCertificate
- deleteLoadBalancerSslCertificate
- getLoadBalancerSslCertificateList
- Load Balancer指標
- Global DNS
- Global Traffic Manager
- Profile
- Policy
- Policy の概要
- Traffic Policyの作成
- Traffic Policyの変更
- Traffic Policyの削除
- Traffic Policyの照会
- Traffic Policyの詳細照会
- Traffic Policy Resourceの詳細照会
- Traffic Policy Resourceの変更
- Traffic Policyの特定の Resourceの変更
- Traffic Policy Health Checkの変更
- Traffic Policy Health Checkの削除
- Traffic Policy Resourceタイプの照会
- Traffic Policy Health Check Regionの照会
- Traffic Policy Load Balancerタイプの照会
- Geo / CIDR Map
- Monitoring
- VPC
- Database
- Cloud DB
- CloudDB概要
- createCloudDBInstance
- deleteCloudDBServerInstance
- getCloudDBInstanceList
- getCloudDBConfigGroupList
- getCloudDBImageProductList
- getCloudDBProductList
- rebootCloudDBServerInstance
- flushCloudDBInstance
- setObjectStorageInfo
- downloadDmsFile
- uploadDmsFile
- getObjectStorageBackupList
- getBackupList
- restoreDmsDatabase
- restoreDmsTransactionLog
- getDmsOperation
- getCloudDBBackupDetailList
- exportBackupToObjectStorage
- getDbServerLogList
- exportDbServerLogToObjectStorage
- Cloud DB for Redis指標
- Cloud DB for PostgreSQL (VPC)
- Cloud DB for PostgreSQL (on VPC) の概要
- addCloudPostgresqlDatabaseList
- addCloudPostgresqlUserList
- changeCloudPostgresqlUserList
- createCloudPostgresqlInstance
- createCloudPostgresqlReadReplicaInstance
- deleteCloudPostgresqlDatabaseList
- deleteCloudPostgresqlInstance
- deleteCloudPostgresqlReadReplicaInstance
- deleteCloudPostgresqlUserList
- exportBackupToObjectStorage
- exportDbServerLogToObjectStorage
- getCloudPostgresqlBackupDetailList
- getCloudPostgresqlBackupList
- getCloudPostgresqlBucketList
- getCloudPostgresqlDatabaseList
- getCloudPostgresqlImageProductList
- getCloudPostgresqlInstanceDetail
- getCloudPostgresqlInstanceList
- getCloudPostgresqlProductList
- getCloudPostgreSqlTargetSubnetList
- getCloudPostgresqlTargetVpcList
- getCloudPostgresqlUserList
- getDbServerLogList
- rebootCloudPostgresqlServerInstance
- Cloud DB for PostgreSQL (VPC)指標
- Cloud DB for MySQL (VPC)
- Cloud DB for MySQL (VPC)の概要
- addCloudMysqlDatabaseList
- addCloudMysqlUserList
- changeCloudMysqlServerSpec
- changeCloudMysqlUserList
- createCloudMysqlInstance
- createCloudMysqlRecoveryInstance
- createCloudMysqlSlaveInstance
- deleteCloudMysqlDatabaseList
- deleteCloudMysqlInstance
- deleteCloudMysqlServerInstance
- deleteCloudMysqlUserList
- exportBackupToObjectStorage
- exportDbServerLogToObjectStorage
- getCloudMysqlBackupDetailList
- getCloudMysqlBackupList
- getCloudMysqlDatabaseList
- getCloudMysqlEventHistoryList
- getCloudMysqlImageProductList
- getCloudMysqlInstanceDetail
- getCloudMysqlInstanceList
- getCloudMysqlProductList
- getCloudMysqlRecoveryTime
- getCloudMysqlTargetSubnetList
- getCloudMysqlTargetVpcList
- getCloudMysqlUserList
- getDbServerLogList
- rebootCloudMysqlServerInstance
- Cloud DB for MySQL (VPC)指標
- Cloud DB for Redis (VPC)
- Cloud DB for Redis 概要
- createCloudRedisConfigGroup
- createCloudRedisInstance
- deleteCloudRedisConfigGroup
- deleteCloudRedisInstance
- getCloudRedisBackupDetailList
- getCloudRedisBackupList
- getCloudRedisConfigGroupList
- getCloudRedisImageProductList
- getCloudRedisInstanceDetail
- getCloudRedisInstanceList
- getCloudRedisProductList
- getCloudRedisManualBackupList
- flushAllCloudRedisServerInstance
- createCloudRedisManualBackup
- deleteCloudRedisManualBackup
- getCloudRedisConfigGroupVersionList
- getCloudRedisTargetSubnetList
- getCloudRedisTargetVpcList
- exportBackupToObjectStorage
- getCloudRedisBucketList
- rebootCloudRedisServerInstance
- getCloudRedisManualBackupDetailList
- Cloud DB for Redis (VPC)指標
- Cloud DB for MSSQL (VPC)
- Cloud DB for MSSQL (VPC)の概要
- createCloudMssqlInstance
- createCloudMssqlSlaveInstance
- deleteCloudMssqlInstance
- deleteCloudMssqlServerInstance
- exportBackupToObjectStorage
- exportDbServerLogsToObjectStorage
- getCloudMssqlLogBackupFileList
- getCloudMssqlBackupDetailList
- getCloudMssqlBackupList
- getCloudMssqlCharacterSetList
- getCloudMssqlConfigGroupList
- getCloudMssqlImageProductList
- getCloudMssqlInstanceDetail
- getCloudMssqlInstanceList
- getCloudMssqlProductList
- getCloudMssqlTargetSubnetList
- getCloudMssqlTargetVpcList
- getCloudMssqlBucketList
- getCloudMssqlFolderList
- getCloudMssqlLogFileList
- rebootCloudMssqlServerInstance
- Cloud DB for MSSQL (VPC)指標
- Cloud for MongoDB (VPC)
- Cloud DB for MongoDB (VPC) の概要
- exportDbServerLogToObjectStorage
- getDbServerLogList
- addCloudMongoDbUserList
- changeCloudMongoDbConfigCount
- changeCloudMongoDbMongosCount
- changeCloudMongoDbShardCount
- changeCloudMongoDbSecondaryCount
- changeCloudMongoDbUserList
- createCloudMongoDbInstance
- deleteCloudMongoDbInstance
- deleteCloudMongoDbUserList
- getCloudMongoDbBucketList
- exportBackupToObjectStorage
- getCloudMongoDbBackupDetailList
- getCloudMongoDbBackupList
- getCloudMongoDbImageProductList
- getCloudMongoDbInstanceDetail
- getCloudMongoDbInstanceList
- getCloudMongoDbProductList
- getCloudMongoDbTargetSubnetList
- getCloudMongoDbTargetVpcList
- getCloudMongoDbUserList
- rebootCloudMongoDbServerInstance
- Cloud DB for MongoDB (VPC)指標
- Cloud DB
- Security
- Secure Zone
- Secure Zoneの概要
- addAddressGroup
- addPolicy
- checkAddressGroupNameDuplicated
- checkPolicyNameDuplicated
- deleteAddressGroup
- deletePolicy
- getAddressGroup
- getAddressGroupList
- getDefaultDenyEventLogStatus
- getHourlyTrafficUsageList
- getIpsecAddress
- getMemberActionLog
- getMemberInfo
- getPolicy
- getPolicyList
- getTrafficLog
- getTrafficUsage
- rearrangePolicy
- setDefaultDenyEventLogStatus
- updateAddressGroup
- updatePolicy
- File Safer
- Security Monitoring
- Web Security Checker
- Key Management Service
- KMS概要
- KMS API 1.0
- KMS API 2.0
- Account Auth API
- Create Key
- Get Key Info
- Get Key List
- Get Public Key
- Delete Key
- Enable Key
- Disable Key
- Enable Key Version
- Disable Key Version
- Rotate Key
- Request Key Deletion
- Cancel Key Deletion
- Enable IP ACL
- Disable IP ACL
- Get ACL Rule List
- Add ACL Rule
- Delete ACL Rule
- Create Token Generator
- Get Token Generator
- Update Token Generator
- Delete Token Generator
- Create Token Set
- Get Key Activity Logs
- Get Latest Use Info
- Get Key Version List
- Update Memo
- Update Rotation Period
- Enable Auto Rotation
- Disable Auto Rotation
- Encrypt
- Decrypt
- Create Custom Key
- Re-encrypt
- Sign
- Verify
- Token Auth API
- Account Auth API
- Certificate Manager
- PrivateCA
- PrivateCA の概要
- Activate Sub CA
- Add CA User
- Create CA
- Create Ocsp
- Delete CA
- Delete CA User
- Delete Ocsp
- Get CA
- Get CA Chain
- Get CA Crl
- Get CA List
- Get CA User List
- Get Crl Config
- Get End Cert
- Get End Cert List
- Get Sub Csr
- Issue End Cert
- Revoke End Cert
- Rotate CRL
- Sign End Csr
- Sign Sub Csr
- Trim Ca
- Update CA
- Update Crl Config
- Webshell Behavior Detector
- Secret Manager
- Secret Managerの概要
- Secret Management
- Create Secret
- Get Secret List
- Get Secret Detail
- Get Secret Value
- Update Secret Value
- Update Secret Stage Value
- Get Protection Key List
- Update Protection Key
- Update Secret Memo
- Update Rotation Period
- Update Rotation Trigger
- Delete Rotation Trigger
- Execute Rotation Job
- Cancel Rotation Job
- Retry Rotation Job
- Rollback Rotation Job
- Enable Secret
- Disable Secret
- Enable Auto Rotation
- Disable Auto Rotation
- Request Secret Deletion
- Cancel Secret Deletion
- Delete Secret
- Secret Rotate Control
- Secure Zone
- AI Services
- AiTEMS
- CLOVA Chatbot
- CLOVA OCR
- NCLUE
- NCLUEの概要
- Featureの照会
- Featureリストの照会
- Featureの作成
- Featureの削除
- Taskの照会
- Taskリストの照会
- Taskの作成
- Taskの削除
- Task Runの照会
- Task Runリストの照会
- Task Runの作成
- Task Runの削除
- Shopping Intentの照会
- Shopping Intentリストの照会
- Shopping Intentの作成
- Shopping Intentの削除
- Shopping Intentのダウンロード
- Custom Attributesの照会
- Custom Attributesリストの照会
- Custom Attributesの作成
- Custom Attributesの削除
- CLOVA Speech
- CLOVA Studio
- CLOVA GreenEye
- Papago Translation
- Papago Image Translation
- AI·NAVER API
- Application Services
- GeoLocation
- Simple & Easy Notification Service
- API Gateway
- API Gatewayの概要
- API
- API Key
- Authorizer
- Canary Test
- Dashboard API Key
- Dashboard Event
- Dashboard Product
- Document
- Export
- Gateway Response
- Gateway Response Header
- Gateway Response Template
- Method
- Method Request Body
- Method Request Parameter
- Method Response
- Method Response Body
- Method Response Header
- Model
- Product
- Published Product
- Resource
- Stage
- Stage Deployment
- Stage Resource
- Usage Plan
- API Gatewayのリリースノート
- Cloud Outbound Mailer
- Cloud Outbound Mailer の概要
- createMailRequest
- getMail
- getMailList
- getMailRequestList
- getMailRequestStatus
- createFile
- getFile
- deleteFile
- createTemplate
- createTemplateExportRequest
- getTemplate
- getTemplateExportRequestList
- getTemplateStructure
- updateTemplate
- updateTemplateLocationOrName
- exportTemplate
- importTemplate
- deleteTemplate
- restoreTemplate
- createCategory
- updateCategory
- deleteCategory
- createAddressBook
- getAddressBook
- deleteAddressBook
- deleteAddress
- deleteRecipientGroup
- deleteRecipientGroupRelation
- deleteRecipientGroupRelationEmpty
- getSendBlockList
- registerUnsubscribers
- getUnsubscribersList
- deleteUnsubscribers
- createConfig
- getConfig
- Big Data & Analytics
- Cloud Hadoop (VPC)
- Cloud Hadoop (VPC) 概要
- backupClusterConfiguration
- changeCloudHadoopNodeCount
- changeCloudHadoopNodeSpec
- createCloudHadoopInstance
- createCloudHadoopNotebookInstance
- deleteCloudHadoopInstance
- deleteCloudHadoopNotebookInstance
- getCloudHadoopAddOnList
- getCloudHadoopBucketList
- getCloudHadoopClusterTypeList
- getCloudHadoopImageProductList
- getCloudHadoopInstanceDetail
- getCloudHadoopInstanceList
- getCloudHadoopLoginKeyList
- getCloudHadoopMysqlInstanceList
- getCloudHadoopMysqlUserList
- getCloudHadoopNotebookBucketList
- getCloudHadoopNotebookComponentList
- getCloudHadoopNotebookImageProductList
- getCloudHadoopNotebookInstanceDetail
- getCloudHadoopNotebookInstanceList
- getCloudHadoopNotebookProductList
- getCloudHadoopObjectList
- getCloudHadoopProductList
- getCloudHadoopTargetSubnetList
- getCloudHadoopTargetVpcList
- saveExternalHiveMetaStore
- testConnectExternalHiveMetaStore
- Cloud Hadoop (VPC)指標
- Cloud Hadoop
- Cloud Search
- Cloud Search の概要
- Domainリスト照
- Domain削除
- Domain作成
- Domain修正
- Domain照会
- Domain重複確認
- Ranking default変更
- Rankingリスト照会
- Ranking削除
- Ranking作成
- Ranking照会
- 自動完成設定照会
- 一時 Domainリストの照会
- 臨時Domain削除
- 臨時Domain作成
- 臨時Domain修正
- 一時 Domainの照会
- Schema検証
- Schema修正
- Schema履歴照会
- Schema照会
- Document検索
- Document 管理
- Object Storage Document管理
- Query Analysis Count
- Query Analysis Group By Count
- Query Analysis Time Series
- DB Connection確認
- DB Connection の確認(VPC)
- DB Tableマッピング
- DB Tableマッピング (VPC)
- DB Table照会
- DB Table照会 (VPC)
- DB upload実行
- DB upload実行 (VPC)
- DB upload照会
- 自動完成検索
- 自動完成設定及び修正
- 自動完成設定履歴照会
- Container個数変更
- Containerリスト照会
- Containerタイプ変更
- Monitoring data照会
- ストップワードポリシーリスト照会
- ストップワードポリシー削除
- ストップワードポリシー設定
- ストップワードポリシー照会
- 形態素解析が可能な言語照会
- 形態素解析オプション照会 - 可能な言語リスト
- 形態素解析器照会 - 特定言語
- 同義語辞典リストの照会
- 同義語辞典のバージョン照会
- 同義語辞典の削除
- 同義語辞典の設定
- 同義語辞典の修正
- 同義語辞典名の照会
- シソーラスの照会
- 同義語辞典の重複確認
- 使用量制限変更
- 使用量制限照会
- Cloud Search指標
- Search Engine Service (VPC)
- Search Engine Service の概要
- Cluster
- Search Engine Clusterの作成
- Search Engine Versionの照会
- OS商品の照会
- Node商品の照会
- VPCリストの照会
- Subnetリストの照会
- Search Engine Cluster削除
- Search Engine Clusterのノード追加
- Search Engine Clusterの再起動
- Search Engine Userアクセスパスワードの初期化
- Search Engine Clusterリストの照会
- Search Engine Clusterデータノードの照会
- Search Engine Cluster ACGの照会
- Search Engine Cluster のノードグループ別スペック照会
- Search Engine Cluster のノードグループ別変更可能スペック照会
- Search Engine Cluster のノードスペック変更
- Search Engine Clusterノードタイプの変更
- 認証キーリストの照会
- Rolling Upgrade Pre Check
- Rolling Upgrade Cluster
- Rolling Upgrade の進行状況照会
- Dashboard
- Monitoring
- Snapshot
- Import
- Search Engine Service指標
- Cloud Data Streaming Service(VPC)
- Cloud Data Streaming Service の概要
- Cluster
- Cluster Rolling 再起動の進行状況照会
- Cluster Rolling 再起動のリクエスト
- Cluster Rolling 再起動の事前チェック
- Rolling UpGrade の進行状況照会
- Rolling UpGrade のリクエスト
- Rolling UpGrade の事前チェック
- Cloud Data Streaming Service Cluster の作成
- Cloud Data Streaming Service Cluster の作成(Return ID)
- Cloud Data Streaming Service Versionの照会
- OS Productの照会
- Node商品の照会
- VPCリストの照会
- Subnetリストの照会
- Cloud Data Streaming Service Cluster削除
- Cloud Data Streaming Service Clusterノード追加
- 全体サービスを再起動
- CMAKの再起動
- Kafkaの再起動
- ノード別Kafkaの再起動
- CMAKアクセスパスワードの初期化
- Cloud Data Streaming Service Clusterリストの照会
- Cloud Data Streaming Service Cluster の個別照会
- Cloud Data Streaming Service Clusterノードの照会
- Cloud Data Streaming Service ClusterのACG照会
- クラスタの状態確認
- ブローカーノード情報の確認
- 証明書のダウンロード
- Public Domainの有効化
- Public Domainの無効化
- ロードバランサリストを照会します
- BrokerノードのPublic Endpointを有効化します
- BrokerノードのPublic Endpoint無効にします
- ノードグループ別スペック照会
- ノードグループ別変更可能スペックの照会
- ノードスペックの変更
- Monitoring
- ConfigGroup
- Cloud Data Streaming Service指標
- Data Forest
- Data Forestの概要
- Accounts
- Notebooks
- getVpcList
- getVpcDetail
- getSubnetList
- getSubnetDetail
- getTypeList
- getServerTypeList
- getList
- getDetail
- getUserConfigurationSpecList
- checkAvailableName
- getLoginKeyList
- getObjectStorageBucketDetail
- getObjectStorageBucketList
- getAcgRuleList
- restart
- delete
- create
- setUserConfigurationList
- setObjectStorageBucket
- Apps
- AI workspaces
- AI Apps
- Data Box Frame
- Data Box Frame の概要
- Data Box Frame Code
- get-data-box-frame-list
- get-data-box-frame-detail
- get-data-box-frame-infra-list
- get-data-box-list
- get-data-box-summary-info
- get-data-box-infra-list
- get-hadoop-cluster-info
- get-linux-info
- get-tensor-flow-info
- get-bucket-list
- get-import-apply-list
- get-import-apply-detail
- get-target-nas-list
- get-export-apply-list
- get-export-apply-detail
- get-ssl-vpn-account-list
- get-source-nas-list
- get-export-file-approve-list
- get-export-file-approve-detail
- return-data-box-frame
- change-data-box-frame-nas-volume-size
- return-data-box
- change-data-box-nas-volume-size
- set-block-external-network
- apply-file-import
- apply-file-export
- return-file-export-apply
- export-file-approve
- export-file-reject
- modify-data-box-frame-admin-infra
- modify-data-box
- create-data-box
- Data Catalog
- Data Flow
- Data Query
- Cloud Data Box
- Cloud Hadoop (VPC)
- Blockchain
- Blockchain Service
- Blockchain Serviceの概要
- Networkリストの照会
- Network情報の照会
- Organizationリストの照会
- Organization情報の照会
- Organization接続情報のダウンロード
- Ordererリストの照会
- Orderer情報の照会
- Orderer接続情報のダウンロード
- Orderer Podログの照会
- Orderer Pod使用量の照会
- Peerリストの照会
- Peer情報の照会
- Peer Podログの照会
- Peer Pod使用量の照会
- CAリストの照会
- CA情報の照会
- CA Identityの照会
- CA Identityのダウンロード
- CA Podログの照会
- CA Pod使用量の照会
- Blockchain Service
- Business Applications
- Content Delivery
- Developer Tools
- SourceCommit
- SourceBuild
- SourceDeploy
- SourceDeploy 概要
- プロジェクトリスト
- プロジェクトの作成
- プロジェクトの削除
- 舞台装置リスト
- 舞台詳細
- ステージクリエイト
- 段階更新
- 段階削除
- シナリオ リスト
- シナリオ詳細
- シナリオ作成
- シナリオ修正
- シナリオの代表者
- 展開の開始
- 展開のキャンセル
- 導入承認の要求
- 導入の承認
- 構築拒否
- カナリア展開の承認
- カナリア展開の拒否
- 展開履歴リスト
- 展開履歴の詳細
- カナリアへのクエリー
- カナリア分析レポート
- Server 一覧表
- AutoScaling グループ リストの検索
- KubernetesService Cluster リスト
- targetGroup リスト(VPC)
- SourceCommit リポジトリ リスト
- SourceCommit ブランチ
- SourceBuild 一覧表
- ObjectStorage バケット リスト
- ObjectStorage オブジェクト リスト
- SourcePipeline
- Digital Twin
- Gaming
- Hybrid & Private Cloud
- Management & Governance
- Cloud Log Analytics
- Sub Account
- SubAccount概要
- サブアカウント
- サブアカウントリストの照会
- サブアカウントの照会
- サブアカウントの作成
- サブアカウントの更新
- サブアカウントの削除
- Access Keyの照会
- Access Keyの作成
- Access Keyの削除
- Access Key状態の設定
- ログインアクセスキーの照会
- ログインアクセスキーの設定
- ログイン IDのチェック
- ログインパスワードのチェック
- アイドルセッションタイムアウトの照会
- アイドルセッションタイムアウトの設定
- ログインパスワード有効期限の照会
- ログインパスワード有効期限の設定
- ログインパスワードの再設定
- ポリシーの割り当て
- ポリシーの削除
- グループの追加
- グループの削除
- コンソールアクセスルールの照会
- コンソールアクセスルールの更新
- APIアクセスルールの照会
- APIアクセスルールの更新
- 2段階認証情報の照会
- タグの照会
- タグの追加
- タグの削除
- ユーザー IDの照会
- ユーザー情報の照会
- グループ
- ポリシー
- ロール
- External Access
- Trust Anchorリストの照会
- Trust Anchorの照会
- Trust Anchorの作成
- Trust Anchorの更新
- Trust Anchorの有効化
- Trust Anchorの無効化
- Trust Anchorの削除
- Profileリストの照会
- Profileの照会
- Profileの作成
- Profileの更新
- Profileの有効化
- Profileの無効化
- Proflieの削除
- Subjectリストの照会
- Subjectの照会
- Subject Activityリストの照会
- CRLリストの照会
- CRLの照会
- CRLの作成
- CRLの更新
- CRLの有効化
- CRLの無効化
- CRLの削除
- Secure Token Service
- Web service Monitoring System
- Effective Log Search & Analytics
- Network Traffic Monitoring
- Cloud Activity Tracer
- Resource Manager
- Cloud Insight
- Cloud Insightの概要
- Dashboard
- Event
- Event Rule
- CopyRuleGroup
- CreateMetricsGrp
- CreateMonitorGrp
- CreateRuleDirectly
- CreateRuleGroup
- DeleteMetricGroupForce
- DeleteMetricsGrp
- DeleteMetricsGrpByProdKeyAndId
- DeleteMonitorGroupForce
- DeleteMonitorGrp
- DeleteRuleGroup
- DeleteRuleGroupByProdKeyAndId
- GetAllMonitorGrp
- GetMetricsGroup
- GetMetricsGroupList
- GetMonitorGrp
- GetNotificationRecipientList
- GetRuleGroup
- GetRuleGroupByMetricGroupIds
- GetRuleGroupByMonitorGroupIds
- GetRuleGroupList
- RemoveResourceFromRules
- SearchMetricList
- UpdateMetricsGroup
- UpdateMonitorGrp
- UpdateRuleGroup
- Schema
- Custom Resource
- Planned Maintenance
- Plugin
- Server
- Data
- Integration
- Cloud Insight指標
- Ncloud Single Sign-On
- Ncloud Single Sign-Onの概要
- Application
- Tenant
- External IdP
- SSO User
- SSO Userリストの照会
- SSO Userの照会
- SSO Userの作成
- SSO Userの一括作成
- SSO Userの更新
- SSO Userリストの削除
- SSO Userの削除
- SSO Userログイン IDのチェック
- SSO Userアクセスルールの照会
- SSO Userアクセスルールの更新
- SSO User Profileの照会
- SSO Userグループリストの照会
- SSO Userグループの照会
- SSO Userをグループに追加
- SSO Userをグループから削除
- SSO User状態の設定
- SSO Userセッションの照会
- SSO Userセッションのタイムアウト
- SSO User Assignmentリストの照会
- SSO Userを Assignmentから削除
- SSO User MFA Deviceの照会
- SSO Userに MFA Deviceを追加
- SSO User MFA Deviceの削除
- Group
- Permission Set
- Assignment
- IP ACL
- Cloud Advisor (VPC)
- Organization
- Media
- Live Station
- Live Stationの概要
- Channel Management
- Quality Profile
- Quality Setting
- Recording
- Re-Stream Management
- VOD to Live Management
- Event
- Live Station のエラーコード
- VOD Station
- Video Player Enhancement
- One Click Multi DRM
- B2B Prism Live Studio
- Media Connect Center
- Live Station
- Migration
Classic/VPC環境で利用できます。
CLOVA Spechリアルタイムストリーミング APIを通じて、リアルタイムで音声を認識し、テキストに変換する方法を説明します。
バージョン
Version | Date | Changes |
---|---|---|
v1.0.0 | 2023.12. | 最初に作成 |
v1.1.0 | 2024.07. | ガイドをアップデート |
API URL
Host | Port |
---|---|
clovaspeech-gw.ncloud.com | 50051 |
CLOVA Speech gRPCの使い方
- Clova Speechリアルタイムストリーミング APIは、gRPCを介してのみアクセスできます。
- システムが提供するすべての機能設定リクエストとレスポンスは、JSON形式で行われます。
- 現在、16kHz、1channel、16bits per sampleの PCM(headerのない raw wave)形式のみサポートします。
- 次は、Rocky Linuxを基準に Protoc Compilerをインストールし、APIを使用するための全般的な初期設定方法を説明します。
1. Protoc Compilerのインストールと準備
- Protoc Compilerをインストールします。
- Protoc Compilerを通じて言語を選択し、CLOVA Speechリアルタイムストリーミング APIインターフェースが定義された「nest.proto」ファイルを使用してCompilerを呼び出します。
- Protoc Compilerをインストールするサーバにリモートアクセスします。
- gRPC使用のためのパッケージとプラグインをインストールします。
- Rocky Linux: Python
# 最新状態の確認
sudo dnf update
# Pythonのインストール: Linuxサーバに Pythonをインストールします。
sudo dnf install python3
# pipのインストールとアップグレード: pipは Python用パッケージインストールプログラムです。
sudo dnf install python3-pip
pip3 install --upgrade pip
# grpcio-toolsのインストール: pipを使用して「grpcio-tools」をインストールします。
pip3 install grpcio-tools
# nest.protoファイルの作成
touch nest.proto
# protoc compilerで nest.protoファイルをコンパイル
python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. nest.proto
- Rocky Linux: Java
# protoc-gen-grpc-javaプラグインのダウンロード(バージョン番号は確認が必要 https://github.com/grpc/grpc-java/releases)
curl -OL https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.36.0/protoc-gen-grpc-java-1.36.0-linux-x86_64.exe
# PATHに追加
mv protoc-gen-grpc-java-1.36.0-linux-x86_64.exe /usr/local/bin/protoc-gen-grpc-java
# 実行権限に変更する
chmod +x /usr/local/bin/protoc-gen-grpc-java
# インストールの確認
protoc-gen-grpc-java --version
# nest.protoファイルの作成
touch nest.proto
# protoc compilerで nest.protoファイルをコンパイル
protoc --proto_path=. --java_out=output/directory --grpc-java_out=output/directory nest.proto
- nest.protoファイルを開き、以下のコードを入力して保存します。
syntax = "proto3";
option java_multiple_files = true;
package com.nbp.cdncp.nest.grpc.proto.v1;
enum RequestType {
CONFIG = 0;
DATA = 1;
}
message NestConfig {
string config = 1;
}
message NestData {
bytes chunk = 1;
string extra_contents = 2;
}
message NestRequest {
RequestType type = 1;
oneof part {
NestConfig config = 2;
NestData data = 3;
}
}
message NestResponse {
string contents = 1;
}
service NestService {
rpc recognize(stream NestRequest) returns (stream NestResponse){};
}
2. Authorization
ヘッダ名 | 説明 |
---|---|
Authorization | Bearer ${secretKey} |
Protoc Compilerで grpcコードの作成が完了したら、次は認証を行う番です。
gRPC channeを設定し、nest_grpc_pb2にある client side proxyの stubを作成します。
Stubの作成後に recognizeメソッドで目的の関数を実行するには、認証キーがある metadataも一緒に含める必要があります。
- リアルタイムストリーミング APIの secretKeyは、長文認識 APIの secretKeyを使用し、NAVERクラウドプラットフォームコンソールで長文認識ドメイン > ビルダー実行 > 設定で確認できます。
- リアルタイムストリーミング APIは、Basic長文認識プランでのみサポートします。(Freeプランは不可)
Rocky Linux: Python
- Pythonファイルを1つ作成します。(demoを行うたまに nameを「main」に指定)
touch main.py
- 作成した Pythonファイルに以下の内容を追加します。
import grpc
import json
import nest_pb2
import nest_pb2_grpc
channel = grpc.secure_channel(
'clovaspeech-gw.ncloud.com:50051',
grpc.ssl_channel_credentials()
)
client = NestServiceStub(channel)
metadata = (("authorization", f"Bearer {secretKey}"),) #小文字 authorizationは必須 / secretkeyは長文認識ドメインで確認
call = client.YourMethod(YourRequest(), metadata=metadata)
- Rocky Linux: Java
- Javaファイルを1つ作成します。(demoを行うたまに nameを「main」に指定)
touch main.java
- 作成した Javaファイルに以下の内容を追加します。
ManagedChannel channel = NettyChannelBuilder
.forTarget("clovaspeech-gw.ncloud.com:50051")
.useTransportSecurity()
.build();
NestServiceGrpc.NestServiceStub client = NestServiceGrpc.newStub(channel);
Metadata metadata = new Metadata();
metadata.put(Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER),
"Bearer ${secretKey}");
client = MetadataUtils.attachHeaders(client, metadata);
3. Config JSONのリクエスト
- ストリーミング APIを初めて呼び出す際は、以下のような config jsonを先に送る必要があります。
- protocで作成された nest_pb2の NestRequestオブジェクトを使って config JSONをストリーミングエンドポイントに送ります。
- Config JSONには以下の4つのフィールドがあります。4つが全部必須データではありませんが、明確な音声認識のために、transcriptionは認識をリクエストする言語を設定することをお勧めします。
- transcription: 音声認識言語の設定
- keywordBoosting: 入力された単語の認識率を高める設定
- forbidden: 禁止語を設定
- semanticEpd: 音声認識結果生成基準を設定
- サンプルコードは下段にあります
{
# Transcriptionの設定情報
"transcription": { # optional, top level key
"language": string
}
# Keyword Boostingの設定情報
"keywordBoosting": { # optional, top level key
"boostings": [
{
"words": string,
"weight": float64
}
]
},
# Forbiddenの設定情報
"forbidden": { # optional, top level key
"forbiddens": string
}
}
# semanticEpdの設定情報
"semanticEpd": {
"skipEmptyText": bool,
"useWordEpd": bool,
"usePeriodEpd": bool,
"gapThreshold": int,
"durationThreshold": int,
"syllableThreshold": int
}
}
1) Transcription
language
音声認識対象の言語コードです。明確な音声認識のために、認識をリクエストする言語を設定することをお勧めします。- 韓国語(ko)
- 英語(en)
- 日本語(ja)
Transcription JSON Format
# transcription設定リクエスト json format
{
"transcription": {
"language": string # required key
}
}
- 設定例
# transcription設定リクエスト例
{
"transcription": {
"language": "ko"
}
}
2) Keyword Boosting
- あらかじめ登録したキーワードの認識率を高めることができます。
- キーワードの重み付け(weight)は0~5.0の間の実数範囲です。
- 重み付けが0の場合、ブースティングしません。
- すべてのキーワードの重み付けは同じでなければなりません。
- 同じ重み付けに設定する単語の集まりは、
words
key string内でコンマ(,
)で繋げて転送することができます。
- 同じ重み付けに設定する単語の集まりは、
- キーワードの重み付け(weight)は0~5.0の間の実数範囲です。
- Keyword Boosting実行時、単語の前後のスペース(space)も考慮されます。
- 機能の設定方法の詳細は、Keyword Boosting設定 JSON Formatをご参照ください。
Keyword Boosting JSON Format
# keyword boosting設定リクエスト json format
{
"keywordBoosting": {
"boostings": [
{
"words": string,
"weight": float64
}
]
}
}
- 設定例
# keyword boostingの設定リクエスト例
{
"keywordBoosting": {
"boostings": [
{
"words": "test,test1,test2",
"weight": 1
},
{
"words": "テスト,テスト1,テスト2",
"weight": 0.5
}
]
}
}
3) Forbidden
- あらかじめ登録したキーワードの認識結果に禁止語タグを提供する機能です。
- 禁止語タグ:
<forbidden>禁止語</forbidden>
- 禁止語タグ:
- 禁止語タグは認識結果の
text
keyの valueにのみ追加されます。 - 追加された禁止語タグは、認識結果の
position
、periodPosition
、alignInfo
に影響を与えません。 - 2つ以上の禁止語を登録する場合、
forbiddens
key string内でコンマ(,
)で繋げて転送することができます。 - 禁止語処理時、禁止語の前後のスペース(space)も考慮されます。
- 機能の設定方法の詳細は、禁止語設定 JSON Formatをご参照ください。
Forbidden JSON Format
# forbidden設定リクエスト json format
{
"forbidden": {
"forbiddens": string
}
}
- 設定例
{
"forbidden": {
"forbiddens": "禁止語1,禁止語2"
}
}
4) SemanticEpd
- 音声認識結果の生成基準を設定するオプションです。
- 各オプションの基準に基づいて認識結果を生成し、発話形態に合わせてオプションを設定できます。
- 機能の設定方法の詳細は、SemanticEpd JSON Formatをご参照ください。
- 各属性の基準は次の通りです。
skipEmptyText
- 認識結果がない結果値を転送するかどうかを選択するオプションです。
- 基本設定は
false
です。true
に設定する場合、認識された結果がないと転送しません。
useWordEpd
- 単語に基づいて認識結果を生成するオプションです。
- 基本設定は
false
です。
usePeriodEpd
- 句読点に基づいて認識結果を生成するオプションです。
- 基本設定は
false
です。
gapThreshold
gapThreshold
以上の黙字が発生した場合に認識結果を生成するオプションです。- 基本設定は
false
で、単位はミリ秒です。
durationThreshold
durationThreshold
に基づいて、認識結果の durationに応じて認識結果を生成するオプションです。- 基本設定は
false
で、単位はミリ秒です。
syllableThreshold
- 音節数に基づいて認識結果を生成するオプションです。
- スペース「 」とピリオド「.」も1つの音節として処理されます。
SemanticEpd JSON Format
# semanticEpd設定リクエスト json format
{
"semanticEpd": {
"skipEmptyText": bool,
"useWordEpd": bool,
"usePeriodEpd": bool,
"gapThreshold": int,
"durationThreshold": int,
"syllableThreshold": int
}
}
- 設定例
{
"semanticEpd": {
"skipEmptyText": false,
"useWordEpd": true,
"usePeriodEpd": true,
"gapThreshold": 500,
"durationThreshold": 5000,
"syllableThreshold": 20
}
}
4.Config JSONレスポンス形式
{
"uid": string, # required
"responseType": [ "config" ], # required
"config": { # required
"status":string, # required
# configの設定によっては、以下の fieldsが存在しない場合があります。
# 例) 禁止語を設定していない場合、「forbidden」keyは存在しません。
"keywordBoosting": { # optional, top level key
"status":string,
},
"forbidden": { # optional, top level key
"status":string,
},
"semanticEpd": { # optional, top level key
"status":string,
}
}
}
1) 補足説明
- Config JSONレスポンスは次のように構成されます。
- Config JSONレスポンスの
config.status
keyの valueは以下のような値を持つことができます。Success
- Config JSONリクエストが成功し、正常に gRPC Serviceに目的の設定が保存された場合
Failure
- Config JSONリクエストが含む機能はサーバで認識されたが、詳細設定に失敗した場合
top_level_key
:transcription
keywordBoosting
forbidden
- Config JSONレスポンスの
config.${top_level_key}.status
は以下のような値を持つことができます。- 共通
Unknown key: ${top_level_key}-${unknown_key}
- Config JSONリクエストが、サーバがサポートしない sub level keyを持っている場合
Invalid type: ${top_level_key}-${invalid_type_key}
- Config JSONリクエストが、サーバがサポートしない sub level value typeを持っている場合
- transcription
Invalid language code: ${invalid_language_code}
- Config JSONリクエストで、languageが事前に定義された言語コードではない場合
- keywordBoosting
Internal system error
- サーバ内部で問題が発生した場合
- 共通
"${message}"
- Config JSONリクエストが正常に認識されなかったか、Config JSONリクエストが正常に処理できない場合
- ${message}内容の候補になれるのは以下の通りです。
Invalid request json format
- Config JSONリクエストが正常な JSON形式ではない場合
Unknown key: ${unknown_key}
- Config JSONリクエストが、サーバがサポートしない top level keyを持っている場合
Invalid type: ${invalid_type_key}
- Config JSONリクエストが、サーバがサポートしない top level value typeを持っている場合
Required key is not provided
- Config JSONリクエストが、サーバで定義した Required keyを含まない場合
No more slot
- 現在、サーバで収容可能なリソースがない場合
ConfigRequest did not complete
- Config JSONリクエストの処理が完了していない状態でサーバが認識リクエストを受けた場合
Lifespan expired
- gRPC Serviceの使用時間が期限切れになった場合
- gRPC Serviceの使用時間は100時間に設定されます。
Failed to received request msg
- サーバがリクエストメッセージを正常に受信できなかった場合
Model server is not working
- サーバ内部で問題が発生した場合
Internal server error
- サーバ内部で問題が発生した場合
- Config JSONレスポンスの
2) Config JSON例
# Config JSONリクエスト例
# Keyword Boosting && 禁止語機能設定をリクエストする場合
{
"keywordBoosting": {
"boostings": [
{
"words": "test,test1,test2",
"weight": 1
},
{
"words": "テスト,テスト1,テスト2",
"weight": 0.5
}
]
},
"forbidden": {
"forbiddens": "禁止語1,禁止語2"
}
}
# Config JSONレスポンス例
# Keyword Boosting && 禁止語機能設定をリクエストし、成功した場合
{
"uid": "2023-03-02_13-13-16_b49f35ec-7cf0-434b-9489-30b0b66f6d58",
"responseType": [ "config" ],
"config": {
"status": "Success",
"keywordBoosting": {
"status": "Success"
},
"forbidden" : {
"status": "Success"
}
}
# Keyword Boosting && 禁止語機能設定をリクエストし、失敗した場合 1
# 禁止語リクエスト jsonに top level keyをサポートしない「forbidden」に設定してリクエストした場合
{
"uid": "2023-03-02_13-13-16_b49f35ec-7cf0-434b-9489-30b0b66f6d58",
"responseType": [ "config" ]
"config": {
"status": "Unknown key: forbidden"
}
}
5. Recognizeリクエスト
- Config JSONで目的の設定値を指定したら、次は音声認識を行う番です。
- protocで作成してくれたコードにある NestRequestと上で設定した認証メタデータを stubのメソッドである recognizeを通じて音声認識 APIを呼び出します。
- サンプルコードは下段にあります。NestRequestを呼び出す際は、次のような Optional設定も一緒に呼び出すことができます。
Recognize Request JSON Format (ExtraContents)
{
"epFlag": bool # optional
"seqId": int # optional
}
recognizeリクエストで使用される JSON Formatです。
epFlag
- recognizeリクエストのうち、一時停止または最後の認識リクエストで使用される flagです。
- 一時停止または最後のリクエストの場合、
epFlag
をtrue
に設定するとエンジンに溜めておいた認識リクエスト Bufferを直ちに返して認識を終了し、delayなく認識結果を受け取ることができます。(コネクション接続は維持) - 設定せずに転送する場合は
false
に設定されます。unvoiceTime
(10秒)を超えるまで認識リクエストがない場合、溜めておいた認識リクエスト Bufferを直ちに返して認識を終了し、delayなく認識結果を受け取ることができます。(コネクション接続は維持) - optionalフィールドです。
seqId
- Recognize接続後に送信する認識リクエストごとに持つ固有の IDです。
epFlag
をtrue
に設定してリクエストした場合、その後に受け取った認識結果で、本リクエストに対する結果かどうかを確認する用途に使用できます。seqId
を設定して転送しない場合、認識結果のseqId
は0に設定されます。seqId
使用時は0ではない値に設定して転送することをお勧めします。- optionalフィールドです。
参考事項
epFlag
とseqId
のどちらも使用しない場合、リクエスト JSONを""(empty string)
に設定できます。
6. Recognizeレスポンス
- ストリーミング APIを呼び出すと、次のようなレスポンスをサーバから受け取ることができます。
Transcription JSON Format
{
"uid": string
"responseType": [ "transcription" ]
"transcription": {
"text": string,
"position": int,
"periodPositions": [ int ],
"periodAlignIndices": [ int ],
"epFlag": bool,
"seqId": int,
"epdType": string, // 結果が生成された epd基準
"startTimestamp": int,
"endTimestamp": int,
"confidence": float64,
"alignInfos": [
{
"word": string, // 音節
"start": int, // StartTimestamp in ms
"end": int, // EndTimestamp in ms
"confidence": float64 // 認識信頼度
}
]
}
}
- 設定例
{
"uid": "2023-03-02_13-13-16_b49f35ec-7cf0-434b-9489-30b0b66f6d58"
"responseType": [ "transcription" ]
"transcription": {
"text": "これはテキストです。",
"position": 0,
"periodPositions": [3],
"periodAlignIndices": [3],
"epFlag": false,
"seqId": 0,
"epdType": "durationThreshold",
"startTimestamp": 190,
"endTimestamp": 840,
"confidence": 0.997389124199423,
"alignInfos": [
{"word":"これは","start":190,"end":340,"confidence":0.9988637124943075},
{"word":"テキスト","start":341,"end":447,"confidence":0.9990018488549978},
{"word":"です","start":448,"end":580,"confidence":0.9912501264550316},
{"word":".","start":581,"end":700,"confidence":0.9994397226648595},
{"word":" ","start":701,"end":840,"confidence":0.9984142043105126}
]
}
}
Failed Recognize Response JSON Format
{
"uid": string, # required
"responseType": [ "recognize" ], # required
"recognize": { # required
"status": string, # required
"epFlag": { # optional
"status": string
},
"seqId": { # optional
"status": string
},
"audio": { # optional
"status": string
}
}
}
認識リクエストが失敗したか、認識リクエストが正常に処理できない場合、レスポンスの JSON形式です。
recognize.status
は recognizeリクエスト失敗の理由または処理できない理由を表す keyで、以下のような値を持ちます。Invalid Type
epFlag
またはseqId
value typeが事前に定義された typeと合致しない場合
recognize.status
は recognizeリクエスト失敗の理由または処理できない理由を表す keyで、以下のような値を持ちます。Required key is not provided
extraContents
の required keyであるepFlag
を渡さなかった場合
Invalid request json format
extraContents
が json formatではない場合
Unknown key
extraContents
に protocol specにない keyを作成した場合無効な keyを入力した場合には、ユーザーの便宜のために、statusの末尾に無効な key情報を付けて渡す
# invalid extraContents { "test1": "test-val1", "test2": "test-val2" } # response msg { "uid": "2023-03-02_13-13-16_b49f35ec-7cf0-434b-9489-30b0b66f6d58" "responseType": ["recognize"], "recognize": { "status": "Unknown key: test1, test2" } }
Plain text
ConfigRequest is already called
- サーバで configリクエストの処理が完了した状態で再度 configリクエストを受けた場合
Lifespan expired
- gRPC Serviceの使用時間が期限切れになった場合
- gRPC Serviceの使用時間は100時間に設定されます。
Failed to received request msg
- サーバでリクエストメッセージを正常に受信できなかった場合
Model server is not working
- サーバ内部で問題が発生した場合
Internal server error
- サーバ内部で問題が発生した場合
Invalid format
- 転送したオーディオ形式が無効な形式の場合
Failure
- recognizeリクエスト jsonに
extraContents
が無効な形式の場合 epFlag.status
またはseqId.status
に、失敗の詳細な理由が表示されます。
- recognizeリクエスト jsonに
epFlag.status
は epFlagの入力に失敗した理由を表し、以下のような値を持ちます。Not found
- required keyの epFlagに対して作成しなかった場合
Invalid type
- value typeが事前に定義された typeと合致しない場合
seqId.status
は seqIdの入力に失敗した理由を表し、以下のような値を持ちます。Invalid type
- value typeが事前に定義された typeと合致しない場合
audio.status
はオーディオデータの処理に失敗した理由を表し、以下のような値を持ちます。Invalid format
- Audio formatが事前に定義された formatと合致しない場合
- 参考事項
recongnize.status
の値によって、epFlag
、seqId
、audio
keyは省略されることがあります。
分析方法
text
- 認識結果を担当する keyです。
position
渡された full textに対し、
text
で渡された textの offsetを担当する keyです。text
とposition
を使用して、full textを構成する方法渡された順序 認識結果 full text 1 {text: "ABC", position: 0, ...} 2 {text: "DEFG", position: 3, ...}
periodPositions
- 渡された full textに対し、
text
で渡された.
(句読点)の offsetを担当する keyです。 text
に句読点がない場合、空の listで渡されます。
- 渡された full textに対し、
periodAlignIndices
text
で渡された.
(句読点)のalignInfos
での index情報を担当する keyです。text
に句読点がない場合、空の listで渡されます。
epFlag
は- リクエストで epFlagを Trueに設定し、送信した音源の認識結果を含めるかどうかを表す keyです。
seqId
- 本認識結果が含む最後のリクエストの
seqId
を表す keyです。 epFlag
keyの valueが falseの時は0が返されます。epFlag
keyの値が trueのときは、処理された最後の認識リクエストの seqIdが返されます。
- 本認識結果が含む最後のリクエストの
epdType
- 認識結果を生成するのに使用された epd基準を担当する keyです。
- epd基準に基づいた
epdType
値黙字
に基づいて認識結果が生成された場合、gap
最後の audio chunk
が含まれて認識結果が生成された場合、endPoint
時間
に基づいて認識結果が生成された場合、durationThreshold
句読点
に基づいて認識結果が生成された場合、period
音節数
に基づいて認識結果が生成された場合、syllableThreshold
unvoiceTime
実行(サーバ設定)により認識結果が生成された場合、unvoice
startTimestamp
,endTimestamp
- 認識結果のタイムスタンプ情報です。
- 単位は
ms
(ミリ秒)を使用します。
confidence
- 認識結果(
text
)に対する信頼度を表す keyです。 - 認識結果に含まれるすべての音節信頼度(
alignInfos.confidence
)値の幾何平均で計算されます。
- 認識結果(
alignInfos
text
を構成する各音節のalign情報
を担当する keyです。text
に認識された音節がない場合、""(empty text)
のalign情報
を追加して渡します。- align情報の説明
word
- 音節情報を担当する keyです。
start
- 音節の開始 timestampを担当する keyです。
- 単位は
ms
を使用します。
end
- 音節の終了 timestampを担当する keyです。
- 単位は
ms
を使用します。
confidence
- 音節が認識された結果に対する信頼度を表す keyです。
- 0から1の間の値を持ちます。
Demo [Python]
import grpc
import json
import nest_pb2
import nest_pb2_grpc
AUDIO_PATH = "path/to/audio/file" #認識対象の Audioファイルがあるパスを入力してください。(16kHz、1channel、16 bits per sampleの PCM(headerがない raw wave)形式)
CLIENT_SECRET = "長文認識 secretKey"
def generate_requests(audio_path):
# 初期設定リクエスト: 音声認識設定
yield nest_pb2.NestRequest(
type=nest_pb2.RequestType.CONFIG,
config=nest_pb2.NestConfig(
config=json.dumps({"transcription": {"language": "ko"}})
)
)
# オーディオファイルを開いて32,000バイトずつ読み取る
with open(audio_path, "rb") as audio_file:
while True:
chunk = audio_file.read(32000) # オーディオファイルのチャンクを読み取る
if not chunk:
break # データがなくなったらループ終了
yield nest_pb2.NestRequest(
type=nest_pb2.RequestType.DATA,
data=nest_pb2.NestData(
chunk=chunk,
extra_contents=json.dumps({"seqId": 0, "epFlag": False})
)
)
def main():
# Clova Speechサーバに対するセキュリティ gRPCチャンネルを設定
channel = grpc.secure_channel(
"clovaspeech-gw.ncloud.com:50051",
grpc.ssl_channel_credentials()
)
stub = nest_pb2_grpc.NestServiceStub(channel) # NestServiceのスタブを作成
metadata = (("authorization", f"Bearer {CLIENT_SECRET}"),) # 認証トークンと一緒にメタデータを設定
responses = stub.recognize(generate_requests(AUDIO_PATH), metadata=metadata) # 作成されたリクエストで recognizeメソッドを呼び出す
try:
# サーバからのレスポンスを繰り返し処理
for response in responses:
print("Received response: " + response.contents)
except grpc.RpcError as e:
# gRPCエラー処理
print(f"Error: {e.details()}")
finally:
channel.close() # 作業が終わったらチャンネルを閉じる
if __name__ == "__main__":
main()
Demo [Java]
Project Structure
├───pom.xml
│ │
└───src
│ ├───main
│ │ ├───java
│ │ │ └───com
│ │ │ └───example
│ │ │ └───grpc
│ │ │ GRpcClient.java
│ │ │
│ │ ├───proto
│ │ │ nest.proto
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>clova-speech-grpc</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<netty.version>4.1.52.Final</netty.version>
<grpc.version>1.35.0</grpc.version>
<protoc.version>3.14.0</protoc.version>
</properties>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.12</version>
</dependency>
</dependencies>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.6.1</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<showDeprecation>true</showDeprecation>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<protocArtifact>
com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}
</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>
io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
grpcClient.java
package com.example.grpc;
import java.io.FileInputStream;
import java.util.concurrent.CountDownLatch;
import com.google.protobuf.ByteString;
import com.nbp.cdncp.nest.grpc.proto.v1.NestConfig;
import com.nbp.cdncp.nest.grpc.proto.v1.NestData;
import com.nbp.cdncp.nest.grpc.proto.v1.NestRequest;
import com.nbp.cdncp.nest.grpc.proto.v1.NestResponse;
import com.nbp.cdncp.nest.grpc.proto.v1.NestServiceGrpc;
import com.nbp.cdncp.nest.grpc.proto.v1.RequestType;
import io.grpc.ManagedChannel;
import io.grpc.Metadata;
import io.grpc.StatusRuntimeException;
import io.grpc.netty.NettyChannelBuilder;
import io.grpc.stub.MetadataUtils;
import io.grpc.stub.StreamObserver;
public class GRpcClient {
public static void main(String[] args) throws Exception {
CountDownLatch latch = new CountDownLatch(1);
ManagedChannel channel = NettyChannelBuilder
.forTarget("clovaspeech-gw.ncloud.com:50051")
.useTransportSecurity()
.build();
NestServiceGrpc.NestServiceStub client = NestServiceGrpc.newStub(channel);
Metadata metadata = new Metadata();
metadata.put(Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER),
"Bearer ${secretKey}");
client = MetadataUtils.attachHeaders(client, metadata);
StreamObserver<NestResponse> responseObserver = new StreamObserver<NestResponse>() {
@Override
public void onNext(NestResponse response) {
System.out.println("Received response: " + response.getContents());
}
@Override
public void onError(Throwable t) {
if(t instanceof StatusRuntimeException) {
StatusRuntimeException error = (StatusRuntimeException)t;
System.out.println(error.getStatus().getDescription());
}
latch.countDown();
}
@Override
public void onCompleted() {
System.out.println("completed");
latch.countDown();
}
};
StreamObserver<NestRequest> requestObserver = client.recognize(responseObserver);
requestObserver.onNext(NestRequest.newBuilder()
.setType(RequestType.CONFIG)
.setConfig(NestConfig.newBuilder()
.setConfig("{\"transcription\":{\"language\":\"ko\"}}")
.build())
.build());
java.io.File file = new java.io.File("~/media/42s.wav");
byte[] buffer = new byte[32000];
int bytesRead;
FileInputStream inputStream = new FileInputStream(file);
while ((bytesRead = inputStream.read(buffer)) != -1) {
requestObserver.onNext(NestRequest.newBuilder()
.setType(RequestType.DATA)
.setData(NestData.newBuilder()
.setChunk(ByteString.copyFrom(buffer, 0, bytesRead))
.setExtraContents("{ \"seqId\": 0, \"epFlag\": false}")
.build())
.build());
}
requestObserver.onCompleted();
latch.await();
channel.shutdown();
}
}
FAQs
- Recognize APIの
extraContents
フィールドで epFlag、seqId項目はどのように活用できますか?- 一時停止の目的で活用したり、送信したリクエストに対するレスポンスをすべて受け取ったかどうかを確認する用途に使用できます。
- gRPC Serviceで一時停止機能をサポートしますか?
- 一時停止機能は提供していません。ただし、Recognize APIで
extraContents
フィールドのepFlag
項目をtrue
に設定してリクエストを転送した後、一定時間 Recognizeリクエストを行わない方法で実装が可能です。epFlag
項目の説明をご参照ください。 - epFlagを trueに設定せずに Recognizeをリクエストして一定時間再リクエストしない場合、サーバ内部で設定された
unvoiceTime
(10秒)に基づいてバッファリングされている認識リクエストを処理し、レスポンス結果を表示します。
- 一時停止機能は提供していません。ただし、Recognize APIで
- Recognize APIはどんな音源データ形式をサポートしますか?
- 現在、16kHz、1channel、16bits per sampleの PCM(headerのない raw wave)形式のみサポートします。
- Close APIを呼び出す前に、Recognize APIの extraContentsに
epFlag
項目をtrue
に設定するのは必須ですか?epFlag
項目をtrue
に設定する必要はありません。ただし、最後の Recognizeリクエストに対して迅速なレスポンス結果を受け取りたい場合は、epFlag
項目をtrue
に設定することをお勧めします。epFlag
項目の説明をご参照ください。
- 送ったリクエストに対するレスポンスをすべて受け取ったかどうかはどのように確認できますか?
- Recognize APIを呼び出す際に、
extraContents
フィールドのepFlag
とseqId
項目を活用できます。epFlag
項目をtrue
に設定し、seqId
項目を0ではない任意の値に設定した Recognizeリクエストの処理結果は、RecognizeレスポンスのepFlag
、seqId
を照合すると確認できます。Recognize Responseのレスポンス JSON形式をご参照ください。
- Recognize APIを呼び出す際に、
- gRPC Serviceの Connection Lifetime制限がありますか?
- gRPC Serviceは、Connection Lifetimeの制限を100時間に設定していますが、ネットワーク問題などで切断が発生する場合があります。安定的なサービス利用のために retryロジックを反映することをお勧めします。